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