sparse_solver_func Interface

interface
private subroutine sparse_solver_func(me, n_cols, n_rows, n_nonzero, irow, icol, a, b, x, istat)

Arguments

Type IntentOptional Attributes Name
class(nlesolver_type), intent(inout) :: me
integer, intent(in) :: n_cols

n: number of columns in A.

integer, intent(in) :: n_rows

m: number of rows in A.

integer, intent(in) :: n_nonzero

number of nonzero elements of A.

integer, intent(in), dimension(n_nonzero) :: irow

sparsity pattern (size is n_nonzero)

integer, intent(in), dimension(n_nonzero) :: icol

sparsity pattern (size is n_nonzero)

real(kind=wp), intent(in), dimension(n_nonzero) :: a

matrix elements (size is n_nonzero)

real(kind=wp), intent(in), dimension(n_rows) :: b

right hand side (size is m)

real(kind=wp), intent(out), dimension(n_cols) :: x

solution (size is n)

integer, intent(out) :: istat

status code (=0 for success)

Description

for a custom user-provided linear solver (sparse version) solve Ax = b for x, given A and b.