linalg 1.8.2
A linear algebra library that provides a user-friendly interface to several BLAS and LAPACK routines.
Loading...
Searching...
No Matches
linalg::pgmres_solver Interface Reference

A preconditioned GMRES solver. More...

Public Member Functions

 csr_pgmres_solver
 

Detailed Description

A preconditioned GMRES solver.

Syntax
subroutine pgmres_solver( &
class(csr_matrix) a, &
class(msr_matrix) lu, &
integer(int32) ju(:), &
real(real64) b(:), &
real(real64) x(:), &
optional integer(int32) im, &
optional real(real64) tol, &
optional integer(int32) maxits, &
optional integer(int32) iout, &
optional class(errors) err)
Parameters
[in]aThe original N-by-N matrix.
[in]luThe N-by-N LU-factored matrix of the approximation to the system as output by lu_factor.
[in]juThe N-element U row tracking array output by lu_factor.
[in,out]bOn input, the N-element right-hand-side array. On output, this array is overwritten as it is used as in-place storage by the PGMRES algorithm.
[out]xThe N-element solution array.
[in]imAn optional parameter specifying the size of the Krylov subspace. This value should not exceed 50.
[in]tolAn optional parameter specifying the convergence tolerance against which the Euclidean norm of the residual is checked. The default value is the square root of machine precision.
[in]maxitsAn optional parameter specifying the maximum number of iterations allowed. The default is 100.
[in]ioutAn optional parameter used to specify the device to which status updates will be written. If no updates are requested, a value less than or equal to zero should be supplied. The default is zero such that no updates will be provided.
[in,out]errAn optional errors-based object that if provided can be used to retrieve information relating to any errors encountered during execution. If not provided, a default implementation of the errors class is used internally to provide error handling. Possible errors and warning messages that may be encountered are as follows.
  • LA_ARRAY_SIZE_ERROR: Occurs if any of the arrays and/or matrices are not sized correctly.
  • LA_OUT_OF_MEMORY_ERROR: Occurs if there is an issue with internal memory allocations.

Definition at line 5546 of file linalg.f90.


The documentation for this interface was generated from the following file: