Solver_interface: Add support for the Accelerate Library#8157
Draft
Solver_interface: Add support for the Accelerate Library#8157
Conversation
| /*! | ||
| \ingroup PkgSolverInterfaceLS | ||
|
|
||
| The class `Accelerate_solver_traits` provides an interface to the sparse solvers of |
Comment on lines
+40
to
+41
| /// \pre A.row_dimension() == B.dimension(). | ||
| /// \pre A.column_dimension() == X.dimension(). |
|
|
||
| The class `Accelerate_sparse_matrix` is a wrapper around the `SparseMatrix_Double` matrix type | ||
| <a href=https://developer.apple.com/documentation/accelerate/sparsematrix_double">`Accelerate::SparseMatrix`_Double</a> | ||
| that represents general matrices, be they symmetric or not. |
|
|
||
| /// Create a rectangular matrix initialized with zeros. | ||
| /// | ||
| /// \pre rows == columns if `is_symmetric` is true. |
Contributor
There was a problem hiding this comment.
rows == columns and also true between backticks?
| /// Return the matrix number of columns | ||
| int column_dimension() const { return m_columns; } | ||
|
|
||
| /// Write access to a matrix coefficient: a_ij <- val. |
Contributor
There was a problem hiding this comment.
a_ij <- val backticks?
|
|
||
| /// Write access to a matrix coefficient: a_ij <- val. | ||
| /// | ||
| /// Users can optimize calls to this function by setting 'new_coef' to `true` |
Contributor
There was a problem hiding this comment.
'new_coef' backticks instead of single quotes?
Comment on lines
+117
to
+118
| /// \pre 0 <= i < row_dimension(). | ||
| /// \pre 0 <= j < column_dimension(). |
| /// if the coefficient does not already exist in the matrix. | ||
| /// | ||
| /// \warning For symmetric matrices, `Accelerate_sparse_matrix` only stores the lower triangle | ||
| /// and `set_coef()` does nothing if (i, j) belongs to the upper triangle. |
Comment on lines
+135
to
+141
| /// Write access to a matrix coefficient: a_ij <- a_ij + val. | ||
| /// | ||
| /// \warning For symmetric matrices, Accelerate_sparse_matrix only stores the lower triangle | ||
| /// `add_coef()` does nothing if (i, j) belongs to the upper triangle. | ||
| /// | ||
| /// \pre 0 <= i < row_dimension(). | ||
| /// \pre 0 <= j < column_dimension(). |
Comment on lines
+157
to
+158
| /// \pre 0 <= i < row_dimension(). | ||
| /// \pre 0 <= j < column_dimension(). |
Member
Author
|
Hi @albert-github, This is a draft and I wrote that it is work in progress. So please just wait a little bit. Nevertheless, thanks a lot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
Add the possibility to use the solvers of the Accelerate library.
This PR is work in progress as the next step is the C++/Swift bridge using this repository
Release Management
TODO