Matrix multiplication and related routines. More...
Go to the source code of this file.
Functions | |
| int | Dslash (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], Complex_f jqq, float akappa) |
| Evaluates \(\Phi=M r\) in double precision. | |
| int | Dslashd (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], Complex_f jqq, float akappa) |
| Evaluates \(\Phi=M^\dagger r\) in double precision. | |
| int | Hdslash (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], float akappa) |
| Evaluates \(\Phi=M r\) in double precision. | |
| int | Hdslashd (Complex *phi, Complex *r, Complex *ut[nc], unsigned int *iu, unsigned int *id, Complex gamval[20], const unsigned short gamin[16], double *dk[nc], float akappa) |
| Evaluates \(\Phi=M^\dagger r\) in double precision. | |
| int | Dslash_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], Complex_f jqq, float akappa) |
| Evaluates \(\Phi=M r\) in single precision. | |
| int | Dslashd_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], Complex_f jqq, float akappa) |
| Evaluates \(\Phi=M^\dagger r\) in single precision. | |
| int | Hdslash_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], float akappa) |
| Evaluates \(\Phi=M r\) in single precision. | |
| int | Hdslashd_f (Complex_f *phi, Complex_f *r, Complex_f *ut[nc], unsigned int *iu, unsigned int *id, Complex_f gamval[20], const unsigned short gamin[16], float *dk[nc], float akappa) |
| Evaluates \(\Phi=M^\dagger r\) in single precision. | |
| void | Transpose_c (Complex_f *out, const int fast_in, const int fast_out) |
| In place transpose used to convert from AoS to SoA memory layout. | |
| void | Transpose_z (Complex *out, const int fast_in, const int fast_out) |
| In place transpose used to convert from AoS to SoA memory layout. | |
| void | Transpose_f (float *out, const int fast_in, const int fast_out) |
| In place transpose used to convert from AoS to SoA memory layout. | |
| void | Transpose_d (double *out, const int fast_in, const int fast_out) |
| In place transpose used to convert from AoS to SoA memory layout. | |
| void | Transpose_I (int *out, const int fast_in, const int fast_out) |
| In place transpose used to convert from AoS to SoA memory layout. | |
| void | Transpose_U (unsigned int *out, const int fast_in, const int fast_out) |
| In place transpose used to convert from AoS to SoA memory layout. | |
Matrix multiplication and related routines.
There are four matrix mutiplication routines, and each had a double and single (_f) version The Hdslash? routines are called when acting on half of the fermions (up/down flavour partitioning) The Dslash? routines act on everything
Any routine ending in a d is the daggered multiplication
Definition in file matrices.c.