# Sparse Iterative Methods

Select a suitable iterative method to solve a system.

## Overview

Sparse Iterative methods solve Ax = b through an iterative process that only requires multiplication by A or A. However, if A is numerically difficult, the iterative process may fail to converge to a solution. Further, even for problems where the process converges, it may do so slowly. Both of these issues can be fixed through the application of a problem-specific preconditioner that cheaply approximates the inverse of A.

## Topics

### Sparse Iterative Methods

`func SparseConjugateGradient(SparseCGOptions) -> SparseIterativeMethod`

Returns a conjugate gradient method with specified options.

`struct SparseCGOptions`

Options for creating a conjugate gradient method.

`func SparseGMRES() -> SparseIterativeMethod`

Returns a generalized minimal residual method.

`func SparseGMRES(SparseGMRESOptions) -> SparseIterativeMethod`

Returns a generalized minimal residual method with specified options.

`struct SparseGMRESOptions`

Options for creating a generalized minimal residual method.

`func SparseLSMR() -> SparseIterativeMethod`

Returns a default least squares minimum residual method.

`func SparseLSMR(SparseLSMROptions) -> SparseIterativeMethod`

Returns a least squares minimum residual method with specified options.

`struct SparseLSMROptions`

Options for creating a least squares minimum residual method.

### Iterative Method Type

`struct SparseIterativeMethod`

Base type for all iterative methods.

### Iterative Sparse Solving Methods

Implementing Iterative Methods

Use iterative methods to solve large problems faster and with a lower memory overhead than with direct methods.

Solving Systems Using Iterative Methods

Use iterative methods to solve systems of equations where the coefficient matrix is sparse.

Preconditioners

Create preconditioners for iterative solves.

Iterative Sparse Solve Functions

Solve a system using an iterative method.

Sparse Iterate Functions

Perform a single iteration of the specified iterative method.