basicSolvers_mod Module

module~~basicsolvers_mod~~UsesGraph module~basicsolvers_mod basicSolvers_mod module~sparse_mod sparse_mod module~sparse_mod->module~basicsolvers_mod module~kinds_mod kinds_mod module~kinds_mod->module~basicsolvers_mod module~kinds_mod->module~sparse_mod module~text_mod text_mod module~kinds_mod->module~text_mod module~array_mod array_mod module~kinds_mod->module~array_mod module~time_mod time_mod module~kinds_mod->module~time_mod module~text_mod->module~basicsolvers_mod module~array_mod->module~sparse_mod module~time_mod->module~text_mod iso_fortran_env iso_fortran_env iso_fortran_env->module~text_mod iso_c_binding iso_c_binding iso_c_binding->module~time_mod
Help

Module for solving sparse linear systems

Used By

module~~basicsolvers_mod~~UsedByGraph module~basicsolvers_mod basicSolvers_mod program~testsparse_prg testSparse_prg module~basicsolvers_mod->program~testsparse_prg
Help


Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: SO_QUIET =1
integer, public, parameter:: SO_SIMPLE =2
integer, public, parameter:: SO_FANCY =3
integer, public :: SO_TYPE =SO_FANCY

Functions

public function jacobi(A, b, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function gaussSeidel(A, b, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function symmetricGaussSeidel(A, b, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function successiveOverRelaxation(A, b, w, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in) :: w
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function symmetricSuccessiveOverRelaxation(A, b, w, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in) :: w
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function steepestDescent(A, b, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function minimumResidual(A, b, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function conjugateGradient(A, b, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable

public function biConjugateGradientStabilized(A, b, x0, tol, maxIts) result(x)

Arguments

Type IntentOptional AttributesName
class(sparse_t), intent(in) :: A
real(kind=wp), intent(in), dimension(:):: b
real(kind=wp), intent(in), optional dimension(:):: x0
real(kind=wp), intent(in), optional :: tol
integer, intent(in), optional :: maxIts

Return Value real(kind=wp), dimension(:), allocatable


Subroutines

public subroutine startReport(nm)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: nm

public subroutine solverProgress(k, rr, tol, nm)

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: k
real(kind=wp), intent(in) :: rr
real(kind=wp), intent(in) :: tol
character(len=*), intent(in) :: nm