Fast Auxiliary Space Preconditioning  1.8.4 Feb/15/2016
pvfgmres.c File Reference

Krylov subspace methods – Preconditioned variable-restarting flexible GMRes. More...

#include <math.h>
#include "fasp.h"
#include "fasp_functs.h"
#include "itsolver_util.inl"

Go to the source code of this file.

Functions

INT fasp_solver_dcsr_pvfgmres (dCSRmat *A, dvector *b, dvector *x, precond *pc, const REAL tol, const INT MaxIt, const SHORT restart, const SHORT stop_type, const SHORT prtlvl)
 Solve "Ax=b" using PFGMRES(right preconditioned) iterative method in which the restart parameter can be adaptively modified during the iteration and flexible preconditioner can be used. More...
 
INT fasp_solver_dbsr_pvfgmres (dBSRmat *A, dvector *b, dvector *x, precond *pc, const REAL tol, const INT MaxIt, const SHORT restart, const SHORT stop_type, const SHORT prtlvl)
 Solve "Ax=b" using PFGMRES(right preconditioned) iterative method in which the restart parameter can be adaptively modified during the iteration and flexible preconditioner can be used. More...
 
INT fasp_solver_bdcsr_pvfgmres (block_dCSRmat *A, dvector *b, dvector *x, precond *pc, const REAL tol, const INT MaxIt, const SHORT restart, const SHORT stop_type, const SHORT prtlvl)
 Solve "Ax=b" using PFGMRES (right preconditioned) iterative method in which the restart parameter can be adaptively modified during the iteration and flexible preconditioner can be used. More...
 

Detailed Description

Krylov subspace methods – Preconditioned variable-restarting flexible GMRes.

Note
Refer to Y. Saad 2003 Iterative methods for sparse linear systems (2nd Edition), SIAM
Refer to A.H. Baker, E.R. Jessup, and Tz.V. Kolev A Simple Strategy for Varying the Restart Parameter in GMRES(m) Journal of Computational and Applied Mathematics, 230 (2009) pp. 751-761. UCRL-JRNL-235266.
This file is modifed from pvgmres.c

Definition in file pvfgmres.c.

Function Documentation

INT fasp_solver_bdcsr_pvfgmres ( block_dCSRmat A,
dvector b,
dvector x,
precond pc,
const REAL  tol,
const INT  MaxIt,
const SHORT  restart,
const SHORT  stop_type,
const SHORT  prtlvl 
)

Solve "Ax=b" using PFGMRES (right preconditioned) iterative method in which the restart parameter can be adaptively modified during the iteration and flexible preconditioner can be used.

Parameters
*Apointer to the coefficient matrix
*bpointer to the right hand side vector
*xpointer to the solution vector
MaxItmaximal iteration number allowed
toltolerance
*pcpointer to preconditioner data
prtlvlHow much information to print out
stop_typedefault stopping criterion,i.e.||r_k||/||r_0||<tol, is used.
restartnumber of restart for GMRES
Returns
Iteration number if converges; ERROR otherwise.
Author
Xiaozhe Hu
Date
01/04/2012
Note
Based on Zhiyang Zhou's pvgmres.c

Modified by Chunsheng Feng on 07/22/2013: Add adaptive memory allocate Modified by Chensong Zhang on 05/09/2015: Clean up for stopping types

Definition at line 712 of file pvfgmres.c.

INT fasp_solver_dbsr_pvfgmres ( dBSRmat A,
dvector b,
dvector x,
precond pc,
const REAL  tol,
const INT  MaxIt,
const SHORT  restart,
const SHORT  stop_type,
const SHORT  prtlvl 
)

Solve "Ax=b" using PFGMRES(right preconditioned) iterative method in which the restart parameter can be adaptively modified during the iteration and flexible preconditioner can be used.

Parameters
APointer to dCSRmat: the coefficient matrix
bPointer to dvector: the right hand side
xPointer to dvector: the unknowns
pcPointer to precond: the structure of precondition
tolTolerance for stopping
MaxItMaximal number of iterations
restartRestarting steps
stop_typeStopping criteria type – DOES not support this parameter
prtlvlHow much information to print out
Returns
Iteration number if converges; ERROR otherwise.
Author
Xiaozhe Hu
Date
02/05/2012

Modified by Chensong Zhang on 05/01/2012 Modified by Chunsheng Feng on 07/22/2013: Add adaptive memory allocate Modified by Chensong Zhang on 05/09/2015: Clean up for stopping types

Definition at line 382 of file pvfgmres.c.

INT fasp_solver_dcsr_pvfgmres ( dCSRmat A,
dvector b,
dvector x,
precond pc,
const REAL  tol,
const INT  MaxIt,
const SHORT  restart,
const SHORT  stop_type,
const SHORT  prtlvl 
)

Solve "Ax=b" using PFGMRES(right preconditioned) iterative method in which the restart parameter can be adaptively modified during the iteration and flexible preconditioner can be used.

Parameters
APointer to dCSRmat: the coefficient matrix
bPointer to dvector: the right hand side
xPointer to dvector: the unknowns
pcPointer to precond: the structure of precondition
tolTolerance for stopping
MaxItMaximal number of iterations
restartRestarting steps
stop_typeStopping criteria type – DOES not support this parameter
prtlvlHow much information to print out
Returns
Iteration number if converges; ERROR otherwise.
Author
Xiaozhe Hu
Date
01/04/2012

Modified by Chensong Zhang on 05/01/2012 Modified by Chunsheng Feng on 07/22/2013: Add adaptive memory allocate Modified by Chensong Zhang on 05/09/2015: Clean up for stopping types

Definition at line 54 of file pvfgmres.c.