optimization on macOS

For dense matrix

optimization on macOS



for sparse matrix


optimization on macOS


a) matrix factorization

optimization on macOS


b) iterative methods

optimization on macOS


For symmetric positive-definite systems, use SparseConjugateGradient

For square, full-rank unsymmetric or indefinite equations, use SparseGMRES.

For rectangular or singular systems, use SparseLSMR.


objective-c example:

 SparseSolve( SparseConjugateGradient(), A, b, x, SparsePreconditionerDiagonal);
 SparseSolve( SparseGMRES(), A, b, x, SparsePreconditionerDiagonal);
 SparseSolve( SparseLSMR(), A, b, x, SparsePreconditionerDiagScaling);



https://developer.apple.com/videos/play/wwdc2017/711/

https://devstreaming-cdn.apple.com/videos/wwdc/2017/711d9xpgp3203tlq/711/711_accelerate_and_sparse_solvers.pdf



  • Direct methods perform a factorization such as Cholesky (A = LLᵀ) or QR. These methods provide a fast and accurate black-box solution.

  • Iterative methods find an approximate solution requiring only repeated multiplication by Aor Aᵀ. Although they require less memory than direct methods, and can be faster for very large problems, they typically require problem-specific preconditioners to be effective.