G+Smo  23.12.0
Geometry + Simulation Modules
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AndersonAcceleration< Scalar > Class Template Reference

Detailed Description

template<typename Scalar = double>
class gismo::preAApp::AndersonAcceleration< Scalar >

Anderson acceleration solver and its (preconditioned) variants.

+ Collaboration diagram for AndersonAcceleration< Scalar >:

Public Member Functions

const gsVector< Scalar > & compute (const gsVector< Scalar > &u0, const Residual_t &F, const Jacobian_t &Jacobian)
 perform Anderson acceleration iteration
 

Private Member Functions

void updateAlpha ()
 update the coefficients \( alpha_i \) by solving a Least-Square problem
 
void updateG (const Residual_t &F, const Jacobian_t &Jacobian)
 update fixed point function
 
void updateGWithoutPreconditioning (const Residual_t &F)
 update fixed point function without preconditioning
 
void updateGWithPreconditioning (const Residual_t &F, const Jacobian_t &Jacobian)
 update fixed point function with preconditioning
 
void updateSolution ()
 update the solution