Difference between revisions of "Solving sparse systems"
From Medusa: Coordinate Free Mehless Method implementation
(Created page with "There are many methods available for solving sparse systems. We compare some of them here.") |
|||
Line 1: | Line 1: | ||
There are many methods available for solving sparse systems. We compare some of them here. | There are many methods available for solving sparse systems. We compare some of them here. | ||
+ | |||
+ | Mathematica has the following methods available (https://reference.wolfram.com/language/ref/LinearSolve.html#DetailsAndOptions) | ||
+ | * direct: banded, cholesky, multifrontal (direct sparse LU) | ||
+ | * iterative: Krylov | ||
+ | |||
+ | Matlab has the following methods: | ||
+ | * direct: https://www.mathworks.com/help/matlab/ref/mldivide.html#bt42omx_head | ||
+ | * iterative: https://www.mathworks.com/help/matlab/math/systems-of-linear-equations.html#brzoiix, including bicgstab, gmres | ||
+ | |||
+ | Eigen has the following methods: (https://eigen.tuxfamily.org/dox-devel/group__TopicSparseSystems.html) | ||
+ | * direct: sparse LU | ||
+ | * iterative: bicgstab, cg | ||
+ | |||
+ | Solving a simple sparse system $A x = b$ with $A = \begin{bmatrix} \ddots & \ddots & \ddots && \\ & 1 & 1 & 1 & \\ && \ddots & \ddots & \ddots$ and $b = \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix}$ with dimension $n$ | ||
+ | has the following timings: |
Revision as of 13:50, 15 March 2017
There are many methods available for solving sparse systems. We compare some of them here.
Mathematica has the following methods available (https://reference.wolfram.com/language/ref/LinearSolve.html#DetailsAndOptions)
- direct: banded, cholesky, multifrontal (direct sparse LU)
- iterative: Krylov
Matlab has the following methods:
- direct: https://www.mathworks.com/help/matlab/ref/mldivide.html#bt42omx_head
- iterative: https://www.mathworks.com/help/matlab/math/systems-of-linear-equations.html#brzoiix, including bicgstab, gmres
Eigen has the following methods: (https://eigen.tuxfamily.org/dox-devel/group__TopicSparseSystems.html)
- direct: sparse LU
- iterative: bicgstab, cg
Solving a simple sparse system $A x = b$ with $A = \begin{bmatrix} \ddots & \ddots & \ddots && \\ & 1 & 1 & 1 & \\ && \ddots & \ddots & \ddots$ and $b = \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix}$ with dimension $n$ has the following timings: