abstract_linear_solver_rdp Interface

interface
public subroutine abstract_linear_solver_rdp(A, b, x, info, rtol, atol, preconditioner, options, transpose)

Arguments

Type IntentOptional Attributes Name
class(abstract_linop_rdp), intent(in) :: A

Linear operator to invert.

class(abstract_vector_rdp), intent(in) :: b

Right-hand side vector.

class(abstract_vector_rdp), intent(inout) :: x

Solution vector.

integer, intent(out) :: info

Information flag. In case of successful exit, the flag should return the number of iterations required for convergence.

real(kind=dp), intent(in), optional :: rtol

Relative solver tolerance

real(kind=dp), intent(in), optional :: atol

Absolute solver tolerance

class(abstract_precond_rdp), intent(in), optional :: preconditioner

Preconditioner.

class(abstract_opts), intent(in), optional :: options

Options passed to the linear solver.

logical, intent(in), optional :: transpose

Determine whether (.false.) or (.true.) is being used.

Description

Abstract interface to use a user-defined linear solver in LightKrylov.