|
su2hmc
|
Matrix multiplication and related routines. More...
#include <assert.h>#include <complex.h>#include <matrices.h>#include <string.h>#include <stdalign.h>Go to the source code of this file.
Functions | |
| int | Dslash (Complex *phi, Complex *r, Complex *u11t, Complex *u12t, unsigned int *iu, unsigned int *id, Complex *gamval, int *gamin, double *dk4m, double *dk4p, Complex_f jqq, float akappa) |
| Evaluates \(\Phi=M r\) in double precision. | |
| int | Dslashd (Complex *phi, Complex *r, Complex *u11t, Complex *u12t, unsigned int *iu, unsigned int *id, Complex *gamval, int *gamin, double *dk4m, double *dk4p, Complex_f jqq, float akappa) |
| Evaluates \(\Phi=M^\dagger r\) in double precision. | |
| int | Hdslash (Complex *phi, Complex *r, Complex *ut[2], unsigned int *iu, unsigned int *id, Complex *gamval, int *gamin, double *dk[2], float akappa) |
| Evaluates \(\Phi=M r\) in double precision. | |
| int | Hdslashd (Complex *phi, Complex *r, Complex *u11t, Complex *u12t, unsigned int *iu, unsigned int *id, Complex *gamval, int *gamin, double *dk4m, double *dk4p, float akappa) |
| Evaluates \(\Phi=M^\dagger r\) in double precision. | |
| int | Dslash_f (Complex_f *phi, Complex_f *r, Complex_f *u11t_f, Complex_f *u12t_f, unsigned int *iu, unsigned int *id, Complex_f *gamval_f, int *gamin, float *dk_f[2], Complex_f jqq, float akappa) |
| Evaluates \(\Phi=M r\) in single precision. | |
| int | Dslashd_f (Complex_f *phi, Complex_f *r, Complex_f *u11t_f, Complex_f *u12t_f, unsigned int *iu, unsigned int *id, Complex_f *gamval_f, int *gamin, float *dk_f[2], 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[2], unsigned int *iu, unsigned int *id, Complex_f *gamval, int *gamin, float *dk[2], float akappa) |
| Evaluates \(\Phi=M r\) in single precision. | |
| int | Hdslashd_f (Complex_f *phi, Complex_f *r, Complex_f *ut[2], unsigned int *iu, unsigned int *id, Complex_f *gamval, int *gamin, float *dk[2], float akappa) |
| Evaluates \(\Phi=M^\dagger r\) in single precision. | |
| int | Reunitarise (Complex *ut[2]) |
| Reunitarises u11t and u12t as in conj(u11t[i])*u11t[i]+conj(u12t[i])*u12t[i]=1. | |
| void | Transpose_c (Complex_f *out, const int fast_in, const int fast_out) |
| void | Transpose_z (Complex *out, const int fast_in, const int fast_out) |
| void | Transpose_f (float *out, const int fast_in, const int fast_out) |
| void | Transpose_d (double *out, const int fast_in, const int fast_out) |
| void | Transpose_I (int *out, const int fast_in, const int fast_out) |
| void | Transpose_U (unsigned int *out, const int fast_in, const int fast_out) |
Matrix multiplication and related routines.
There are two 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.
| int Dslash | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | u11t, | ||
| Complex * | u12t, | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex * | gamval, | ||
| int * | gamin, | ||
| double * | dk4m, | ||
| double * | dk4p, | ||
| Complex_f | jqq, | ||
| float | akappa ) |
Evaluates \(\Phi=M r\) in double precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| jqq | Diquark source |
| akappa | Hopping parameter |
Definition at line 19 of file matrices.c.
References Complex, Complex_f, kferm, kvol, nc, ndim, ndirac, ngorkov, and ZHalo_swap_all().
| int Dslash_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | u11t, | ||
| Complex_f * | u12t, | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex_f * | gamval, | ||
| int * | gamin, | ||
| float * | dk[2], | ||
| Complex_f | jqq, | ||
| float | akappa ) |
Evaluates \(\Phi=M r\) in single precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| jqq | Diquark source |
| akappa | Hopping parameter |
Definition at line 463 of file matrices.c.
References CHalo_swap_all(), Complex_f, kferm, kvol, nc, ndim, ndirac, and ngorkov.
| int Dslashd | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | u11t, | ||
| Complex * | u12t, | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex * | gamval, | ||
| int * | gamin, | ||
| double * | dk4m, | ||
| double * | dk4p, | ||
| Complex_f | jqq, | ||
| float | akappa ) |
Evaluates \(\Phi=M^\dagger r\) in double precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| jqq | Diquark source |
| akappa | Hopping parameter |
Definition at line 141 of file matrices.c.
References Complex, Complex_f, kferm, kvol, nc, ndim, ndirac, ngorkov, and ZHalo_swap_all().
| int Dslashd_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | u11t, | ||
| Complex_f * | u12t, | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex_f * | gamval, | ||
| int * | gamin, | ||
| float * | dk[2], | ||
| Complex_f | jqq, | ||
| float | akappa ) |
Evaluates \(\Phi=M^\dagger r\) in single precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| jqq | Diquark source |
| akappa | Hopping parameter |
Definition at line 585 of file matrices.c.
References CHalo_swap_all(), Complex_f, kferm, kvol, nc, ndim, ndirac, and ngorkov.
| int Hdslash | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | u11t[2], | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex * | gamval, | ||
| int * | gamin, | ||
| double * | dk[2], | ||
| float | akappa ) |
Evaluates \(\Phi=M r\) in double precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| akappa | Hopping parameter |
Definition at line 268 of file matrices.c.
References Complex, kferm2, kvol, nc, ndim, ndirac, and ZHalo_swap_all().
| int Hdslash_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | ut[2], | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex_f * | gamval, | ||
| int * | gamin, | ||
| float * | dk[2], | ||
| float | akappa ) |
Evaluates \(\Phi=M r\) in single precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| akappa | Hopping parameter |
Definition at line 712 of file matrices.c.
References AVX, CHalo_swap_all(), Complex_f, kferm2, kvol, nc, ndim, and ndirac.
| int Hdslashd | ( | Complex * | phi, |
| Complex * | r, | ||
| Complex * | u11t, | ||
| Complex * | u12t, | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex * | gamval, | ||
| int * | gamin, | ||
| double * | dk4m, | ||
| double * | dk4p, | ||
| float | akappa ) |
Evaluates \(\Phi=M^\dagger r\) in double precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| akappa | Hopping parameter |
Definition at line 359 of file matrices.c.
References Complex, kferm2, kvol, nc, ndim, ndirac, and ZHalo_swap_all().
| int Hdslashd_f | ( | Complex_f * | phi, |
| Complex_f * | r, | ||
| Complex_f * | ut[2], | ||
| unsigned int * | iu, | ||
| unsigned int * | id, | ||
| Complex_f * | gamval, | ||
| int * | gamin, | ||
| float * | dk[2], | ||
| float | akappa ) |
Evaluates \(\Phi=M^\dagger r\) in single precision.
| phi | The product |
| r | The array being acted on by M |
| u11t | First colour trial field |
| u12t | Second colour trial field |
| iu | Upper halo indices |
| id | Lower halo indices |
| gamval | Gamma matrices rescaled by kappa |
| gamin | Indices for dirac terms |
| dk4m | \(\left(1+\gamma_0\right)e^{-\mu}\) |
| dk4p | \(\left(1-\gamma_0\right)e^\mu\) |
| akappa | Hopping parameter |
Definition at line 855 of file matrices.c.
References AVX, CHalo_swap_all(), Complex_f, kferm2, kvol, nc, ndim, and ndirac.
|
inline |
Reunitarises u11t and u12t as in conj(u11t[i])*u11t[i]+conj(u12t[i])*u12t[i]=1.
If you're looking at the FORTRAN code be careful. There are two header files for the /trial/ header. One with u11 u12 (which was included here originally) and the other with u11t and u12t.
| ut | Trial fields to be reunitarised |
Definition at line 1012 of file matrices.c.
References Complex, kvol, and ndim.
|
inline |
Definition at line 1050 of file matrices.c.
|
inline |
Definition at line 1119 of file matrices.c.
|
inline |
Definition at line 1096 of file matrices.c.
|
inline |
Definition at line 1142 of file matrices.c.
|
inline |
Definition at line 1165 of file matrices.c.
|
inline |
Definition at line 1073 of file matrices.c.