# Iterative Sparse Solve Functions

Solve a system using an iterative method.

## Topics

### Iterative Sparse Solve

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Double, DenseMatrix_Double, DenseMatrix_Double) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of double-precision values using the specified iterative method.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Float, DenseMatrix_Float, DenseMatrix_Float) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of single-precision values using the specified iterative method.

`func SparseSolve(SparseIterativeMethod, (Bool, CBLAS_TRANSPOSE, DenseMatrix_Double, DenseMatrix_Double) -> Void, DenseMatrix_Double, DenseMatrix_Double) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of double-precision values, treating A as an operator and using the specified iterative method.

`func SparseSolve(SparseIterativeMethod, (Bool, CBLAS_TRANSPOSE, DenseMatrix_Float, DenseMatrix_Float) -> Void, DenseMatrix_Float, DenseMatrix_Float) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of single-precision values, treating A as an operator and using the specified iterative method.

### Vector Iterative Sparse Solve

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Double, DenseVector_Double, DenseVector_Double) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of double-precision values using the specified iterative method.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Float, DenseVector_Float, DenseVector_Float) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of single-precision values using the specified iterative method.

`func SparseSolve(SparseIterativeMethod, (Bool, CBLAS_TRANSPOSE, DenseVector_Double, DenseVector_Double) -> Void, DenseVector_Double, DenseVector_Double) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of double-precision values, treating A as an operator and using the specified iterative method.

`func SparseSolve(SparseIterativeMethod, (Bool, CBLAS_TRANSPOSE, DenseVector_Float, DenseVector_Float) -> Void, DenseVector_Float, DenseVector_Float) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of single-precision values, treating A as an operator and using the specified iterative method.

### Iterative Sparse Solve with Preconditioner

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Double, DenseMatrix_Double, DenseMatrix_Double, SparseOpaquePreconditioner_Double) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of double-precision values using the specified iterative method and preconditioner.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Float, DenseMatrix_Float, DenseMatrix_Float, SparseOpaquePreconditioner_Float) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of single-precision values using the specified iterative method and preconditioner.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Double, DenseMatrix_Double, DenseMatrix_Double, SparsePreconditioner_t) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of double-precision values using the specified iterative method and preconditioner with apply operator block.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Float, DenseMatrix_Float, DenseMatrix_Float, SparsePreconditioner_t) -> SparseIterativeStatus_t`

Solves the equation AX = B for matrices of single-precision values using the specified iterative method and preconditioner with apply operator block.

### Vector Iterative Sparse Solve with Preconditioner

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Double, DenseVector_Double, DenseVector_Double, SparsePreconditioner_t) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of double-precision values using the specified iterative method and preconditioner.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Float, DenseVector_Float, DenseVector_Float, SparsePreconditioner_t) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of single-precision values using the specified iterative method and preconditioner.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Double, DenseVector_Double, DenseVector_Double, SparseOpaquePreconditioner_Double) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of double-precision values using the specified iterative method and preconditioner with apply operator block.

`func SparseSolve(SparseIterativeMethod, SparseMatrix_Float, DenseVector_Float, DenseVector_Float, SparseOpaquePreconditioner_Float) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of single-precision values using the specified iterative method and preconditioner with apply operator block.

`func SparseSolve(SparseIterativeMethod, (Bool, CBLAS_TRANSPOSE, DenseVector_Double, DenseVector_Double) -> Void, DenseVector_Double, DenseVector_Double, SparseOpaquePreconditioner_Double) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of double-precision values, treating A as an operator and using the specified iterative method and preconditioner.

`func SparseSolve(SparseIterativeMethod, (Bool, CBLAS_TRANSPOSE, DenseVector_Float, DenseVector_Float) -> Void, DenseVector_Float, DenseVector_Float, SparseOpaquePreconditioner_Float) -> SparseIterativeStatus_t`

Solves the equation Ax = b for vectors of single-precision values, treating A as an operator and using the specified iterative method and preconditioner.

### Supporting Types

`struct SparseIterativeMethod`

Base type for all iterative methods.

`struct SparseIterativeStatus_t`

The status of the iterative solve.

`struct SparsePreconditioner_t`

Options that define the preconditioner.

### 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.

Sparse Iterative Methods

Select a suitable iterative method to solve a system.

Sparse Iterate Functions

Perform a single iteration of the specified iterative method.