Context structure for the algorithm called Anderson acceleration. More...
#include <cs_iter_algo.h>
Data Fields | |
cs_iter_algo_param_aac_t | param |
cs_sles_convergence_state_t | cvg_status |
double | normalization |
double | tol |
double | prev_res |
double | res |
double | res0 |
int | n_algo_iter |
int | n_inner_iter |
int | last_inner_iter |
cs_lnum_t | n_elts |
Work quantities (temporary) | |
int | n_dir |
cs_real_t * | fold |
cs_real_t * | df |
cs_real_t * | gold |
cs_real_t * | dg |
cs_real_t * | Q |
cs_sdm_t * | R |
cs_real_t * | gamma |
Context structure for the algorithm called Anderson acceleration.
Set of parameters and arrays to manage the Anderson acceleration
cs_sles_convergence_state_t cvg_status |
Converged, iterating or diverged status
cs_real_t* df |
Difference between the current and previous values of f
cs_real_t* dg |
Difference between the current and previous values of g
cs_real_t* fold |
Previous values for f
cs_real_t* gamma |
Coefficients used to define the linear combination
cs_real_t* gold |
Previous values for g
int last_inner_iter |
Last number of iterations for the inner solver
int n_algo_iter |
Current number of iterations for the algorithm (outer iterations)
int n_dir |
Number of directions currently at stake
cs_lnum_t n_elts |
int n_inner_iter |
Curent cumulated number of inner iterations (sum over the outer iterations)
double normalization |
Value of the normalization for the relative tolerance.
The stopping criterion is such that res < rtol * normalization. By default, the normalization is set to 1.
cs_iter_algo_param_aac_t param |
Set of parameters driving the behavior of the Anderson acceleration
double prev_res |
Value of the previous residual achieved during the iterative process
cs_real_t* Q |
Matrix Q in the Q.R factorization (seen as a bundle of vectors)
cs_sdm_t* R |
Matrix R in the Q.R factorization (small dense matrix)
double res |
Value of the residual for the iterative algorithm
double res0 |
Value of the first residual of the iterative process. This is used for detecting the divergence of the algorithm.
double tol |
Tolerance computed as tol = max(atol, normalization*rtol) where atol and rtol are respectively the absolute and relative tolerance associated to the algorithm