Up: Function Details


5.9 Reductions

Global squared norm: uniform precision

Syntax QDP_r_eq_norm2_T(QLA_Real *r, Type *a, subset);
QDP_r_veq_norm2_T(QLA_Real r[], Type *a[], subset, int n);


Meaning r = Sum norm2(a)


Type I, R, C, V, H, D, M, P

Global inner product

Syntax QDP_r_eq_T_dot_T(QLA_Real *r, Type *a, Type *b, subset);
QDP_r_veq_T_dot_T(QLA_Real r[], Type *a[], Type *b[], subset, int n);


Meaning r = Sum Tr a * b


Type I, R

Syntax QDP_c_eq_T_dot_T(QLA_Complex *r, Type *a, Type *b, subset);
QDP_c_veq_T_dot_T(QLA_Complex r[], Type *a[], Type *b[], subset, int n);


Meaning r = Sum Tr adjoint(a) * b


Type C, V, H, D, M, P

Real part of global inner product

Syntax QDP_r_eq_re_T_dot_T(QLA_Real *r, Type *a, Type *b, subset);
QDP_r_veq_re_T_dot_T(QLA_Real r[], Type *a[], Type *b[], subset, int n);


Meaning r = Sum Re Tr adjoint(a) * b


Type C, V, H, D, M, P

Global sums

Syntax QDP_r_eq_sum_I(QLA_Real *r, QDP_Int *a, subset);


Meaning r = Sum a

Syntax QDP_t_eq_sum_T(QLA_Type *r, Type *a, subset);


Meaning r = Sum a


Type R, C, V, H, D, M, P

Multisubset Norms

Syntax QDP_r_eq_norm2_T_multi(QLA_Real r[], Type *a, QDP_Subset subset[], int n);
QDP_r_veq_norm2_T_multi(QLA_Real r[], Type *a[], QDP_Subset subset[], int n);


Meaning r[i] = Sum_subset[i] norm2(a)


Type I, R, C, V, H, D, M, P

Multisubset inner products

Syntax QDP_r_eq_T_dot_T_multi(QLA_Real r[], Type *a, Type *b, QDP_Subset subset[], int n);
QDP_r_veq_T_dot_T_multi(QLA_Real r[], Type *a[], Type *b[], QDP_Subset subset[], int n);


Meaning r[i] = Sum_subset[i] a * b


Type I, R

Syntax QDP_c_eq_T_dot_T_multi(QLA_Complex r[], Type *a, Type *b, QDP_Subset subset[], int n);
QDP_c_veq_T_dot_T_multi(QLA_Complex r[], Type *a[], Type *b[], QDP_Subset subset[], int n);


Meaning r[i] = Sum_subset[i] adjoint(a) * b


Type C, V, H, D, M, P

Multisubset real part of global inner product

Syntax QDP_r_eq_re_T_dot_T_multi(QLA_Real r[], Type *a, Type *b, QDP_Subset subset[], int n);
QDP_r_veq_re_T_dot_T_multi(QLA_Real r[], Type *a[], Type *b[], QDP_Subset subset[], int n);


Meaning r = Sum Re Tr adjoint(a) * b


Type C, V, H, D, M, P

Multisubset global sums

Syntax QDP_r_eq_sum_I_multi(QLA_Real r[], QDP_Int *a, QDP_Subset subset[], int n);


Meaning r[i] = Sum_subset[i] a

Syntax QDP_t_eq_sum_T_multi(QLA_Type r[], Type *a, QDP_Subset subset[], int n);


Meaning r[i] = Sum_subset[i] a


Type R, C, V, H, D, M, P