kuqcd_solve_multishift
Execute the inverter.
Interface Definition
KuQCDStatus kuqcd_solve_multishift(void **_hp_x, void *_hp_b, KuQCDInvertParam *param);
Parameters
Parameter |
Type |
Description |
Input/Output |
|---|---|---|---|
_hp_x |
void ** |
Multi-shift solution data |
Input/Output |
_hp_b |
void * |
Source data |
Input |
param |
KuQCDInvertParam * |
Inverter configuration options. For details, see Table 1 |
Input |
Field |
Type |
Description |
|---|---|---|
dslash_type |
KuQCDDslashType |
Dirac operator type. The options are as follows:
|
inverter_type |
KuQCDInverterType |
Inverter type. The options are as follows:
|
matpc_type |
KuQCDMatPCType |
Preconditioner type. The options are as follows:
|
prec |
KuQCDPrecision |
Precision, which must be the same as the value of KuQCDGaugeParam. The options are as follows:
|
iter |
int |
Number of iterations. After the inversion is complete, you can read this value to obtain the number of inverter iterations. |
num_shift |
int |
Number of shifts |
max_iter |
int |
Maximum iterations |
tol |
double |
Converged precision |
shifts |
double * |
Shift array |