Fast Auxiliary Space Preconditioning 2.7.7 Aug/28/2022
Loading...
Searching...
No Matches
KryPvfgmres.c File Reference

Krylov subspace methods – Preconditioned variable-restarting FGMRes. More...

#include <math.h>
#include "fasp.h"
#include "fasp_functs.h"
#include "KryUtil.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 REAL abstol, const INT MaxIt, const SHORT restart, const SHORT StopType, const SHORT PrtLvl)
 Solve "Ax=b" using PFGMRES(right preconditioned) iterative method in which the restart parameter can be adaptively modified during 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 REAL abstol, const INT MaxIt, const SHORT restart, const SHORT StopType, const SHORT PrtLvl)
 Solve "Ax=b" using PFGMRES(right preconditioned) iterative method in which the restart parameter can be adaptively modified during iteration and flexible preconditioner can be used. More...
 
INT fasp_solver_dblc_pvfgmres (dBLCmat *A, dvector *b, dvector *x, precond *pc, const REAL tol, const REAL abstol, const INT MaxIt, const SHORT restart, const SHORT StopType, const SHORT PrtLvl)
 Solve "Ax=b" using PFGMRES (right preconditioned) iterative method in which the restart parameter can be adaptively modified during iteration and flexible preconditioner can be used. More...
 
INT fasp_solver_pvfgmres (mxv_matfree *mf, dvector *b, dvector *x, precond *pc, const REAL tol, const REAL abstol, const INT MaxIt, const SHORT restart, const SHORT StopType, const SHORT PrtLvl)
 Solve "Ax=b" using PFGMRES(right preconditioned) iterative method in which the restart parameter can be adaptively modified during iteration and flexible preconditioner can be used. More...
 

Detailed Description

Krylov subspace methods – Preconditioned variable-restarting FGMRes.

Note
This file contains Level-3 (Kry) functions. It requires: AuxArray.c, AuxMemory.c, AuxMessage.c, BlaArray.c, BlaSpmvBLC.c, BlaSpmvBSR.c, and BlaSpmvCSR.c
This file is modifed from KryPvgmres.c

Reference: 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.


Copyright (C) 2012–Present by the FASP team. All rights reserved.

Released under the terms of the GNU Lesser General Public License 3.0 or later.

Definition in file KryPvfgmres.c.

Function Documentation

◆ fasp_solver_dblc_pvfgmres()

INT fasp_solver_dblc_pvfgmres ( dBLCmat A,
dvector b,
dvector x,
precond pc,
const REAL  tol,
const REAL  abstol,
const INT  MaxIt,
const SHORT  restart,
const SHORT  StopType,
const SHORT  PrtLvl 
)

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

Parameters
APointer to coefficient matrix
bPointer to right hand side vector
xPointer to solution vector
MaxItMaximal iteration number allowed
tolTolerance for relative residual
abstolTolerance for absolute residual
pcPointer to preconditioner data
PrtLvlHow much information to print out
StopTypeStopping criterion, i.e.||r_k||/||r_0||<tol
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 707 of file KryPvfgmres.c.

◆ fasp_solver_dbsr_pvfgmres()

INT fasp_solver_dbsr_pvfgmres ( dBSRmat A,
dvector b,
dvector x,
precond pc,
const REAL  tol,
const REAL  abstol,
const INT  MaxIt,
const SHORT  restart,
const SHORT  StopType,
const SHORT  PrtLvl 
)

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

Parameters
APointer to dCSRmat: coefficient matrix
bPointer to dvector: right hand side
xPointer to dvector: unknowns
pcPointer to precond: structure of precondition
tolTolerance for relative residual
abstolTolerance for absolute residual
MaxItMaximal number of iterations
restartRestarting steps
StopTypeStopping criteria type – DO 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 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 386 of file KryPvfgmres.c.

◆ fasp_solver_dcsr_pvfgmres()

INT fasp_solver_dcsr_pvfgmres ( dCSRmat A,
dvector b,
dvector x,
precond pc,
const REAL  tol,
const REAL  abstol,
const INT  MaxIt,
const SHORT  restart,
const SHORT  StopType,
const SHORT  PrtLvl 
)

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

Parameters
APointer to dCSRmat: coefficient matrix
bPointer to dvector: right hand side
xPointer to dvector: unknowns
pcPointer to precond: structure of precondition
tolTolerance for relative residual
abstolTolerance for absolute residual
MaxItMaximal number of iterations
restartRestarting steps
StopTypeStopping criteria type – DO 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 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 67 of file KryPvfgmres.c.

◆ fasp_solver_pvfgmres()

INT fasp_solver_pvfgmres ( mxv_matfree mf,
dvector b,
dvector x,
precond pc,
const REAL  tol,
const REAL  abstol,
const INT  MaxIt,
const SHORT  restart,
const SHORT  StopType,
const SHORT  PrtLvl 
)

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

Parameters
mfPointer to mxv_matfree: spmv operation
bPointer to dvector: right hand side
xPointer to dvector: unknowns
pcPointer to precond: structure of precondition
tolTolerance for relative residual
abstolTolerance for absolute residual
MaxItMaximal number of iterations
restartRestarting steps
StopTypeStopping criteria type – DO 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 Feiteng Huang on 09/26/2012: matrix free Modified by Chunsheng Feng on 07/22/2013: Add adapt memory allocate

Definition at line 1026 of file KryPvfgmres.c.