Grid 0.7.0
Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field > Class Template Reference

#include <CommunicationAvoidingGeneralisedMinimalResidual.h>

Inheritance diagram for Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >:
OperatorFunction< Field >

Public Member Functions

 CommunicationAvoidingGeneralisedMinimalResidual (RealD tol, Integer maxit, Integer restart_length, bool err_on_no_conv=true)
void operator() (LinearOperatorBase< Field > &LinOp, const Field &src, Field &psi)
RealD outerLoopBody (LinearOperatorBase< Field > &LinOp, const Field &src, Field &psi, RealD rsq)
void arnoldiStep (LinearOperatorBase< Field > &LinOp, std::vector< Field > &v, Field &w, int iter)
void qrUpdate (int iter)
void computeSolution (std::vector< Field > const &v, Field &psi, int iter)
virtual void operator() (LinearOperatorBase< Field > &Linop, const std::vector< Field > &in, std::vector< Field > &out)

Data Fields

bool ErrorOnNoConverge
RealD Tolerance
Integer MaxIterations
Integer RestartLength
Integer MaxNumberOfRestarts
Integer IterationCount
GridStopWatch MatrixTimer
GridStopWatch LinalgTimer
GridStopWatch QrTimer
GridStopWatch CompSolutionTimer
Eigen::MatrixXcd H
std::vector< ComplexDy
std::vector< ComplexDgamma
std::vector< ComplexDc
std::vector< ComplexDs

Detailed Description

template<class Field>
class Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >

Definition at line 35 of file CommunicationAvoidingGeneralisedMinimalResidual.h.

Constructor & Destructor Documentation

◆ CommunicationAvoidingGeneralisedMinimalResidual()

template<class Field>
Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::CommunicationAvoidingGeneralisedMinimalResidual ( RealD tol,
Integer maxit,
Integer restart_length,
bool err_on_no_conv = true )
inline

Member Function Documentation

◆ operator()() [1/2]

◆ outerLoopBody()

◆ arnoldiStep()

template<class Field>
void Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::arnoldiStep ( LinearOperatorBase< Field > & LinOp,
std::vector< Field > & v,
Field & w,
int iter )
inline

◆ qrUpdate()

template<class Field>
void Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::qrUpdate ( int iter)
inline

Definition at line 209 of file CommunicationAvoidingGeneralisedMinimalResidual.h.

References c, conjugate(), gamma, H, QrTimer, s, and sqrt().

Referenced by outerLoopBody().

◆ computeSolution()

template<class Field>
void Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::computeSolution ( std::vector< Field > const & v,
Field & psi,
int iter )
inline

Definition at line 232 of file CommunicationAvoidingGeneralisedMinimalResidual.h.

References CompSolutionTimer, gamma, H, and y.

Referenced by outerLoopBody().

◆ operator()() [2/2]

template<class Field>
virtual void OperatorFunction< Field >::operator() ( LinearOperatorBase< Field > & Linop,
const std::vector< Field > & in,
std::vector< Field > & out )
inlinevirtualinherited

Reimplemented in BlockConjugateGradient< Field >.

Definition at line 625 of file LinearOperator.h.

Field Documentation

◆ ErrorOnNoConverge

◆ Tolerance

◆ MaxIterations

◆ RestartLength

◆ MaxNumberOfRestarts

◆ IterationCount

template<class Field>
Integer Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::IterationCount

Definition at line 47 of file CommunicationAvoidingGeneralisedMinimalResidual.h.

Referenced by operator()(), and outerLoopBody().

◆ MatrixTimer

◆ LinalgTimer

◆ QrTimer

Definition at line 52 of file CommunicationAvoidingGeneralisedMinimalResidual.h.

Referenced by operator()(), and qrUpdate().

◆ CompSolutionTimer

template<class Field>
GridStopWatch Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::CompSolutionTimer

◆ H

◆ y

◆ gamma

◆ c

◆ s


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