4つのベクトルのテトラドを関数として以下のように実装する。
/* 4つのベクトルのテトラド */
void
WH_Tensor3D__whV_otimes_whV_otimes_whV_otimes_whV_OUT_whT4
(double whV_a[3],
double whV_b[3],
double whV_c[3],
double whV_d[3],
double OUT__whT4_A[3][3][3][3])
/*
入力引数:
whV_a, whV_b, whV_c, whV_d はベクトル
出力引数:
OUT__whT4_Aは4階テンソルで、
whV_a, whV_b, whV_c, whV_d のテトラド
*/
{
int i, j, k, l;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
for (k = 0; k < 3; k++) {
for (l = 0; l < 3; l++) {
OUT__whT4_A[i][j][k][l]
= whV_a[i] * whV_b[j] * whV_c[k] * whV_d[l];
}
}
}
}
}