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

An ILUT preconditioned GMRES algorithm. This routine utilizes the L and U matrices generated by the ILUT routine to precondition the GMRES algorithm. The stopping criteria utilized is based simply on reducing the residual norm to the requested tolerance. More...

Public Member Functions

subroutine pgmres (n, im, rhs, sol, vv, eps, maxits, iout, aa, ja, ia, alu, jlu, ju, ierr)
 

Detailed Description

An ILUT preconditioned GMRES algorithm. This routine utilizes the L and U matrices generated by the ILUT routine to precondition the GMRES algorithm. The stopping criteria utilized is based simply on reducing the residual norm to the requested tolerance.

Parameters
[in]nThe row dimension of the matrix.
[in]imThe size of the Krylov subspace. This value should not exceed 50.
[in,out]rhsThe N-element right-hand-side vector. On output, the contents of this array are overwritten.
[in,out]solOn input, the N-element solution estimate. On output, the computed solution.
[out]vvAn N-by-IM+1 workspace matrix.
[in]epsThe convergence tolerance against which the norm of the residual is checked.
[in]maxitsThe maximum number of iterations to allow.
[in]ioutThe device output number for printing intermediate results. Set to a value less than or equal to zero to suppress printing.
[in]aaThe non-zero elements of matrix A.
[in]jaThe column indices of matrix A.
[in]iaThe index in A where the requested row starts.
[in]aluThe LU-factored matrix from ILUT.
[in]jluThe LU-factored matrix from ILUT.
[in]juThe LU-factored matrix from ILUT.
[out]ierrError flag:
  • 0: Successful return
  • 1: Convergence not achieved.
  • -1: The initial guess seems to be the exact solution.

Definition at line 540 of file sparskit.f90.

Constructor & Destructor Documentation

◆ pgmres()

subroutine sparskit::pgmres::pgmres ( integer(int32), intent(in) n,
integer(int32), intent(in) im,
real(real64), dimension(n), intent(inout) rhs,
real(real64), dimension(n), intent(inout) sol,
real(real64), dimension(n,*), intent(out) vv,
real(real64), intent(in) eps,
integer(int32), intent(in) maxits,
integer(int32), intent(in) iout,
real(real64), dimension(*), intent(in) aa,
integer(int32), dimension(*), intent(in) ja,
integer(int32), dimension(n+1), intent(in) ia,
real(real64), dimension(*), intent(in) alu,
integer(int32), dimension(*), intent(in) jlu,
integer(int32), dimension(n), intent(in) ju,
integer(int32), intent(out) ierr )

Definition at line 540 of file sparskit.f90.


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