|
su2hmc
|
Conjugate gradients. Congradq for the solver and Congradp for the inversion. More...
#include <matrices.h>Go to the source code of this file.
Functions | |
| int | Congradq (int na, double res, Complex *X1, Complex *r, Complex_f *ut[2], unsigned int *iu, unsigned int *id, Complex_f *gamval_f, int *gamin, float *dk[2], Complex_f jqq, float akappa, int *itercg) |
| Matrix Inversion via Conjugate Gradient (up/down flavour partitioning). Solves \((M^\dagger)Mx=\Phi\) Implements up/down partitioning The matrix multiplication step is done at single precision, while the update is done at double. | |
| int | Congradp (int na, double res, Complex *Phi, Complex *xi, Complex_f *ut[2], unsigned int *iu, unsigned int *id, Complex_f *gamval, int *gamin, float *dk[2], Complex_f jqq, float akappa, int *itercg) |
| Matrix Inversion via Conjugate Gradient (no up/down flavour partitioning). Solves \((M^\dagger)Mx=\Phi\) The matrix multiplication step is done at single precision, while the update is done at double. | |
Conjugate gradients. Congradq for the solver and Congradp for the inversion.
Definition in file congrad.c.
| int Congradp | ( | int | na, |
| double | res, | ||
| Complex * | Phi, | ||
| Complex * | xi, | ||
| Complex_f * | ut[2], | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex_f * | gamval, | ||
| int * | gamin, | ||
| float * | dk[2], | ||
| Complex_f | jqq, | ||
| float | akappa, | ||
| int * | itercg ) |
Matrix Inversion via Conjugate Gradient (no up/down flavour partitioning). Solves \((M^\dagger)Mx=\Phi\) The matrix multiplication step is done at single precision, while the update is done at double.
| na | Flavour index |
| res | Limit for conjugate gradient |
| Phi | Pseudofermion field. |
| xi | Returned as \((M^\dagger M)^{-1} \Phi\) |
| u11t | First colour's trial field |
| u12t | Second colour's trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval_f | Single precision gamma matrices rescaled by kappa |
| gamin | Dirac indices |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| jqq | Diquark source |
| akappa | Hopping Parameter |
| itercg | Counts the iterations of the conjugate gradient |
Definition at line 250 of file congrad.c.
References AVX, Complex, Complex_f, Dslash_f(), Dslashd_f(), kferm, kfermHalo, kvol, nc, ngorkov, niterc, Par_dsum(), Par_fsum(), and rank.
| int Congradq | ( | int | na, |
| double | res, | ||
| Complex * | X1, | ||
| Complex * | r, | ||
| Complex_f * | ut[2], | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex_f * | gamval_f, | ||
| int * | gamin, | ||
| float * | dk[2], | ||
| Complex_f | jqq, | ||
| float | akappa, | ||
| int * | itercg ) |
Matrix Inversion via Conjugate Gradient (up/down flavour partitioning). Solves \((M^\dagger)Mx=\Phi\) Implements up/down partitioning The matrix multiplication step is done at single precision, while the update is done at double.
| na | Flavour index |
| res | Limit for conjugate gradient |
| X1 | Pseudofermion field \(\Phi\) initially, returned as \((M^\dagger M)^{-1} \Phi\) |
| r | Partition of \(\Phi\) being used. Gets recycled as the residual vector |
| ut | Trial colour fields |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval_f | Single precision gamma matrices rescaled by kappa |
| gamin | Dirac indices |
| dk | \(\left(1+\gamma_0\right)e^{-\mu}\) and \(\left(1-\gamma_0\right)e^\mu\) |
| jqq | Diquark source |
| akappa | Hopping Parameter |
| itercg | Counts the iterations of the conjugate gradient |
Definition at line 7 of file congrad.c.
References AVX, Complex, Complex_f, Hdslash_f(), Hdslashd_f(), kferm2, kferm2Halo, niterc, Par_dsum(), Par_fsum(), and rank.