Toggle menu
71
399
28
3.6K
Medusa: Coordinate Free Meshless Method implementation
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Solving sparse systems: Difference between revisions

From Medusa: Coordinate Free Meshless Method implementation
No edit summary
No edit summary
Line 13: Line 13:
* iterative: bicgstab, cg
* iterative: bicgstab, cg


Solving a simple sparse system $A x = b$ with $A = \begin{bmatrix}  1 & 1 & \\ 1 & \ddots & \ddots \\ & \ddots & \end{bmatrix}$ and $b = \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix}$ with dimension $n$
Solving a simple sparse system $A x = b$ with $A = \begin{bmatrix}  1 & -2 & \\ 1 & \ddots & \ddots \\ & \ddots & \end{bmatrix}$ and $b = \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix}$ with dimension $n$
has the following timings:
has the following timings in seconds:


{| class="wikitable"
{| class="wikitable"
|-
|-
! $n = 10^6$
! Matlab
! Matlab
! Mathematica
! Mathematica
! Eigen
! Eigen
|-
|-
! Row header 1
! Banded
| row 1, cell 2
|
| row 1, cell 3
| 2.86
| /
|-
|-
! Row header 2
!  
| row 2, cell 2
| /
| row 2, cell 3
| 1.73
| 0.78
|-
! Bicgstab / Krylov
| 19.32
| 3.92
|
|}
|}

Revision as of 17:55, 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:

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} 1 & -2 & \\ 1 & \ddots & \ddots \\ & \ddots & \end{bmatrix}$ and $b = \begin{bmatrix} 1 \\ \vdots \\ 1 \end{bmatrix}$ with dimension $n$ has the following timings in seconds:

$n = 10^6$ Matlab Mathematica Eigen
Banded 2.86 /
/ 1.73 0.78
Bicgstab / Krylov 19.32 3.92