鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

kuqcd_solve_multishift

进行求解

接口定义

KuQCDStatus kuqcd_solve_multishift(void **_hp_x, void *_hp_b, KuQCDInvertParam *param);

参数

参数名

类型

描述

输入/输出

_hp_x

void **

指向多偏移的解数据

输入/输出

_hp_b

void *

指向源数据

输入

param

KuQCDInvertParam *

求解进行配置选项,具体内容如表表1所示

输入

表1 KuQCDInvertParam结构体字段描述

字段名

类型

描述

dslash_type

KuQCDDslashType

狄拉克算子类型,取值有

  • KUQCD_WILSON_DIRAC(暂不支持)
  • KUQCD_WILSONPC_DIRAC(暂不支持)
  • KUQCD_HISQ_DIRAC
  • KUQCD_HISQPC_DIRAC

inverter_type

KuQCDInverterType

求解器类型,取值有

  • KUQCD_CG(暂不支持)
  • KUQCD_CGM
  • KUQCD_BICGSTAB(暂不支持)
  • KUQCD_BICGSTABM(暂不支持)

matpc_type

KuQCDMatPCType

预条件子类型,取值有

  • KUQCD_EVEN_EVEN
  • KUQCD_ODD_ODD

prec

KuQCDPrecision

求解精度,需要和KuQCDGaugeParam参数的值保持一致,取值有

  • KUQCD_HALF(暂不支持)
  • KUQCD_SINGLE
  • KUQCD_DOUBLE

iter

int

迭代次数,求解完之后读取该值可获取求解迭代的次数

num_shift

int

解的个数

max_iter

int

最大迭代次数

tol

double

收敛精度

shifts

double *

偏移量数组