diff --git a/krylov/mld_krylov_mod.f90 b/krylov/mld_krylov_mod.f90 index 03acc3ff..40e8256e 100644 --- a/krylov/mld_krylov_mod.f90 +++ b/krylov/mld_krylov_mod.f90 @@ -201,6 +201,52 @@ Module mld_krylov_mod contains + ! + ! File: mld_krylov_mod.f90 + ! + ! Subroutine: mld_dkrylov + ! + ! Front-end for the Krylov subspace iterations, real version + ! + ! Arguments: + ! + ! methd - character The specific method; can take the values: + ! CG + ! CGS + ! BICG + ! BICGSTAB + ! BICGSTABL + ! RGMRES + ! + ! a - type() Input: sparse matrix containing A. + ! prec - type() Input: preconditioner + ! b - real,dimension(:) Input: vector containing the + ! right hand side B + ! x - real,dimension(:) Input/Output: vector containing the + ! initial guess and final solution X. + ! eps - real Input: Stopping tolerance; the iteration is + ! stopped when the error estimate + ! |err| <= eps + ! desc_a - type(). Input: The communication descriptor. + ! info - integer. Output: Return code + ! + ! itmax - integer(optional) Input: maximum number of iterations to be + ! performed. + ! iter - integer(optional) Output: how many iterations have been + ! performed. + ! err - real (optional) Output: error estimate on exit + ! itrace - integer(optional) Input: print an informational message + ! with the error estimate every itrace + ! iterations + ! irst - integer(optional) Input: restart parameter for RGMRES and + ! BICGSTAB(L) methods + ! istop - integer(optional) Input: stopping criterion, or how + ! to estimate the error. + ! 1: err = |r|/|b| + ! 2: err = |r|/(|a||x|+|b|) + ! where r is the (preconditioned, recursive + ! estimate of) residual + ! Subroutine mld_dkrylov(method,a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) @@ -274,6 +320,50 @@ contains end subroutine mld_dkrylov + + ! + ! File: mld_krylov_mod.f90 + ! + ! Subroutine: mld_zkrylov + ! + ! Front-end for the Krylov subspace iterations, complexversion + ! + ! Arguments: + ! + ! methd - character The specific method; can take the values: + ! CGS + ! BICGSTAB + ! RGMRES + ! + ! a - type() Input: sparse matrix containing A. + ! prec - type() Input: preconditioner + ! b - complex,dimension(:) Input: vector containing the + ! right hand side B + ! x - complex,dimension(:) Input/Output: vector containing the + ! initial guess and final solution X. + ! eps - real Input: Stopping tolerance; the iteration is + ! stopped when the error estimate + ! |err| <= eps + ! desc_a - type(). Input: The communication descriptor. + ! info - integer. Output: Return code + ! + ! itmax - integer(optional) Input: maximum number of iterations to be + ! performed. + ! iter - integer(optional) Output: how many iterations have been + ! performed. + ! err - real (optional) Output: error estimate on exit + ! itrace - integer(optional) Input: print an informational message + ! with the error estimate every itrace + ! iterations + ! irst - integer(optional) Input: restart parameter for RGMRES and + ! BICGSTAB(L) methods + ! istop - integer(optional) Input: stopping criterion, or how + ! to estimate the error. + ! 1: err = |r|/|b| + ! 2: err = |r|/(|a||x|+|b|) + ! where r is the (preconditioned, recursive + ! estimate of) residual + ! Subroutine mld_zkrylov(method,a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) use psb_base_mod