stdlib_linalg_iterative_solvers#
See also the specification page: stdlib_linalg_iterative_solvers.
stdlib_linalg_iterative_solvers (module)#
workspace sizes: defined by the number of vectors used by the iterative solver. version: experimental
Specifications: stdlib_linalg_iterative_solvers
linop type holding the linear operator and its associated methods. The linop type is used to define the linear operator for the iterative solvers. version: experimental
Specifications: stdlib_linalg_iterative_solvers
solver_workspace type holding temporal array data for the iterative solvers. version: experimental
stdlib_solve_cg_kernel interface for the conjugate gradient method. Specifications: stdlib_linalg_iterative_solvers version: experimental
Specifications: stdlib_linalg_iterative_solvers version: experimental
stdlib_solve_pcg_kernel interface for the preconditionned conjugate gradient method. Specifications: stdlib_linalg_iterative_solvers version: experimental
stdlib_solve_bicgstab_kernel interface for the biconjugate gradient stabilized method. Specifications: stdlib_linalg_iterative_solvers version: experimental
stdlib_solve_gmres_kernel interface for the restarted generalized minimal residual method. Specifications: stdlib_linalg_iterative_solvers version: experimental
Specifications: stdlib_linalg_iterative_solvers version: experimental
Specifications: stdlib_linalg_iterative_solvers version: experimental
Specifications: stdlib_linalg_iterative_solvers
Types
stdlib_linop_sp_type (type)#
-
stdlib_linop_sp_type (type) - Attributes:
- matvecprocedure(vector_sub_sp), nopass, pointer, Default = null()
- inner_productprocedure(reduction_sub_sp), nopass, pointer, Default = default_dot_sp
stdlib_linop_dp_type (type)#
-
stdlib_linop_dp_type (type) - Attributes:
- matvecprocedure(vector_sub_dp), nopass, pointer, Default = null()
- inner_productprocedure(reduction_sub_dp), nopass, pointer, Default = default_dot_dp
stdlib_solver_workspace_sp_type (type)#
-
stdlib_solver_workspace_sp_type (type) - Attributes:
- tmpreal(kind=sp), allocatable, (:, :), dimension(:,:)
- callbackprocedure(logger_sub_sp), pointer, nopass, Default = null()
stdlib_solver_workspace_dp_type (type)#
-
stdlib_solver_workspace_dp_type (type) - Attributes:
- tmpreal(kind=dp), allocatable, (:, :), dimension(:,:)
- callbackprocedure(logger_sub_dp), pointer, nopass, Default = null()
Interfaces
stdlib_solve_cg_kernel (interface)#
-
stdlib_solve_cg_kernel (interface) - Procedures:
-
module subroutine stdlib_solve_cg_kernel_sp(A, b, x, rtol, atol, maxiter, workspace)# - Arguments:
- Aclass(stdlib_linop_sp_type), intent(in)
linear operator
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=sp), intent(in)
relative tolerance for convergence
- atolreal(kind=sp), intent(in)
absolut tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- workspacetype(stdlib_solver_workspace_sp_type), intent(inout)
workspace for the solver
-
module subroutine stdlib_solve_cg_kernel_dp(A, b, x, rtol, atol, maxiter, workspace)# - Arguments:
- Aclass(stdlib_linop_dp_type), intent(in)
linear operator
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=dp), intent(in)
relative tolerance for convergence
- atolreal(kind=dp), intent(in)
absolut tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- workspacetype(stdlib_solver_workspace_dp_type), intent(inout)
workspace for the solver
stdlib_solve_cg (interface)#
-
stdlib_solve_cg (interface) - Procedures:
-
module subroutine stdlib_solve_cg_dense_sp(A, b, x, di, rtol, atol, maxiter, restart, workspace)# linear operator matrix
- Arguments:
- Areal(kind=sp), (:, :), intent(in), dimension(:,:)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_cg_dense_dp(A, b, x, di, rtol, atol, maxiter, restart, workspace)# linear operator matrix
- Arguments:
- Areal(kind=dp), (:, :), intent(in), dimension(:,:)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_cg_CSR_sp(A, b, x, di, rtol, atol, maxiter, restart, workspace)# linear operator matrix
- Arguments:
- Atype(CSR_sp_type), intent(in)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_cg_CSR_dp(A, b, x, di, rtol, atol, maxiter, restart, workspace)# linear operator matrix
- Arguments:
- Atype(CSR_dp_type), intent(in)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
stdlib_solve_pcg_kernel (interface)#
-
stdlib_solve_pcg_kernel (interface) - Procedures:
-
module subroutine stdlib_solve_pcg_kernel_sp(A, M, b, x, rtol, atol, maxiter, workspace)# - Arguments:
- Aclass(stdlib_linop_sp_type), intent(in)
linear operator
- Mclass(stdlib_linop_sp_type), intent(in)
preconditioner linear operator
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=sp), intent(in)
relative tolerance for convergence
- atolreal(kind=sp), intent(in)
absolute tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- workspacetype(stdlib_solver_workspace_sp_type), intent(inout)
workspace for the solver
-
module subroutine stdlib_solve_pcg_kernel_dp(A, M, b, x, rtol, atol, maxiter, workspace)# - Arguments:
- Aclass(stdlib_linop_dp_type), intent(in)
linear operator
- Mclass(stdlib_linop_dp_type), intent(in)
preconditioner linear operator
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=dp), intent(in)
relative tolerance for convergence
- atolreal(kind=dp), intent(in)
absolute tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- workspacetype(stdlib_solver_workspace_dp_type), intent(inout)
workspace for the solver
stdlib_solve_bicgstab_kernel (interface)#
-
stdlib_solve_bicgstab_kernel (interface) -
-
module subroutine stdlib_solve_bicgstab_kernel_sp(A, M, b, x, rtol, atol, maxiter, workspace)# - Arguments:
- Aclass(stdlib_linop_sp_type), intent(in)
linear operator
- Mclass(stdlib_linop_sp_type), intent(in)
preconditioner linear operator
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=sp), intent(in)
relative tolerance for convergence
- atolreal(kind=sp), intent(in)
absolute tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- workspacetype(stdlib_solver_workspace_sp_type), intent(inout)
workspace for the solver
-
module subroutine stdlib_solve_bicgstab_kernel_dp(A, M, b, x, rtol, atol, maxiter, workspace)# - Arguments:
- Aclass(stdlib_linop_dp_type), intent(in)
linear operator
- Mclass(stdlib_linop_dp_type), intent(in)
preconditioner linear operator
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=dp), intent(in)
relative tolerance for convergence
- atolreal(kind=dp), intent(in)
absolute tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- workspacetype(stdlib_solver_workspace_dp_type), intent(inout)
workspace for the solver
-
stdlib_solve_gmres_kernel (interface)#
-
stdlib_solve_gmres_kernel (interface) -
-
module subroutine stdlib_solve_gmres_kernel_sp(A, M, b, x, rtol, atol, maxiter, kdim, workspace, compact)# - Arguments:
- Aclass(stdlib_linop_sp_type), intent(in)
linear operator
- Mclass(stdlib_linop_sp_type), intent(in)
preconditioner linear operator
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=sp), intent(in)
relative tolerance for convergence
- atolreal(kind=sp), intent(in)
absolute tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- kdiminteger, intent(in)
Krylov subspace size before restart
- workspacetype(stdlib_solver_workspace_sp_type), intent(inout)
workspace for the solver
- compactlogical, intent(in)
keep only one preconditioned basis vector and rebuild the cycle update at restart
-
module subroutine stdlib_solve_gmres_kernel_dp(A, M, b, x, rtol, atol, maxiter, kdim, workspace, compact)# - Arguments:
- Aclass(stdlib_linop_dp_type), intent(in)
linear operator
- Mclass(stdlib_linop_dp_type), intent(in)
preconditioner linear operator
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- rtolreal(kind=dp), intent(in)
relative tolerance for convergence
- atolreal(kind=dp), intent(in)
absolute tolerance for convergence
- maxiterinteger, intent(in)
maximum number of iterations
- kdiminteger, intent(in)
Krylov subspace size before restart
- workspacetype(stdlib_solver_workspace_dp_type), intent(inout)
workspace for the solver
- compactlogical, intent(in)
keep only one preconditioned basis vector and rebuild the cycle update at restart
-
stdlib_solve_pcg (interface)#
-
stdlib_solve_pcg (interface) - Procedures:
-
module subroutine stdlib_solve_pcg_dense_sp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Areal(kind=sp), (:, :), intent(in), dimension(:,:)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_sp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_pcg_dense_dp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Areal(kind=dp), (:, :), intent(in), dimension(:,:)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_dp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_pcg_CSR_sp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Atype(CSR_sp_type), intent(in)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_sp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_pcg_CSR_dp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Atype(CSR_dp_type), intent(in)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_dp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
stdlib_solve_bicgstab (interface)#
-
stdlib_solve_bicgstab (interface) - Procedures:
-
module subroutine stdlib_solve_bicgstab_dense_sp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Areal(kind=sp), (:, :), intent(in), dimension(:,:)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_sp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_bicgstab_dense_dp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Areal(kind=dp), (:, :), intent(in), dimension(:,:)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_dp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_bicgstab_CSR_sp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Atype(CSR_sp_type), intent(in)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_sp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
-
module subroutine stdlib_solve_bicgstab_CSR_dp(A, b, x, di, rtol, atol, maxiter, restart, precond, M, workspace)# linear operator matrix
- Arguments:
- Atype(CSR_dp_type), intent(in)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_dp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
stdlib_solve_gmres (interface)#
-
stdlib_solve_gmres (interface) - Procedures:
-
module subroutine stdlib_solve_gmres_dense_sp(A, b, x, di, rtol, atol, maxiter, restart, kdim, precond, M, workspace, compact)# linear operator matrix
- Arguments:
- Areal(kind=sp), (:, :), intent(in), dimension(:,:)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- kdiminteger, intent(in), optional
Krylov subspace size before restart
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_sp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
- compactlogical, intent(in), optional
if true, favor lower memory use over cycle-end update speed
-
module subroutine stdlib_solve_gmres_dense_dp(A, b, x, di, rtol, atol, maxiter, restart, kdim, precond, M, workspace, compact)# linear operator matrix
- Arguments:
- Areal(kind=dp), (:, :), intent(in), dimension(:,:)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- kdiminteger, intent(in), optional
Krylov subspace size before restart
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_dp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
- compactlogical, intent(in), optional
if true, favor lower memory use over cycle-end update speed
-
module subroutine stdlib_solve_gmres_CSR_sp(A, b, x, di, rtol, atol, maxiter, restart, kdim, precond, M, workspace, compact)# linear operator matrix
- Arguments:
- Atype(CSR_sp_type), intent(in)
- breal(kind=sp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=sp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=sp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=sp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- kdiminteger, intent(in), optional
Krylov subspace size before restart
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_sp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_sp_type), target, intent(inout), optional
workspace for the solver
- compactlogical, intent(in), optional
if true, favor lower memory use over cycle-end update speed
-
module subroutine stdlib_solve_gmres_CSR_dp(A, b, x, di, rtol, atol, maxiter, restart, kdim, precond, M, workspace, compact)# linear operator matrix
- Arguments:
- Atype(CSR_dp_type), intent(in)
- breal(kind=dp), intent(in), dimension(:)
right-hand side vector
- xreal(kind=dp), intent(inout), dimension(:)
solution vector and initial guess
- dilogical(kind=int8), target, intent(in), optional, dimension(:)
dirichlet conditions mask
- rtolreal(kind=dp), intent(in), optional
relative tolerance for convergence
- atolreal(kind=dp), intent(in), optional
absolute tolerance for convergence
- maxiterinteger, intent(in), optional
maximum number of iterations
- restartlogical, intent(in), optional
restart flag
- kdiminteger, intent(in), optional
Krylov subspace size before restart
- precondinteger, intent(in), optional
preconditioner method enumerator
- Mclass(stdlib_linop_dp_type), target, intent(in), optional
preconditioner linear operator
- workspacetype(stdlib_solver_workspace_dp_type), target, intent(inout), optional
workspace for the solver
- compactlogical, intent(in), optional
if true, favor lower memory use over cycle-end update speed
Procedures
stdlib_size_wksp_gmres (function)#
-
elemental function stdlib_size_wksp_gmres(kdim, compact) -> stdlib_size_wksp_gmres - Arguments:
- kdiminteger(kind=int32), intent(in)
- compactlogical, intent(in)
- Returns:
- stdlib_size_wksp_gmresinteger(kind=int32)