テンソルのドット積を関数として以下のように実装する。
/* テンソルのドット積 */
void WH_Tensor2D__whT_cdot_whT_OUT_whT
(double whT_X[2][2],
double whT_Y[2][2],
double OUT__whT_Z[2][2])
/*
入力引数:
whT_X, whT_Y はテンソル
出力引数:
OUT__whT_Zはテンソルで、whT_X と whT_Y のドット積
*/
{
OUT__whT_Z[0][0] = whT_X[0][0] * whT_Y[0][0]
+ whT_X[0][1] * whT_Y[1][0];
OUT__whT_Z[0][1] = whT_X[0][0] * whT_Y[0][1]
+ whT_X[0][1] * whT_Y[1][1];
OUT__whT_Z[1][0] = whT_X[1][0] * whT_Y[0][0]
+ whT_X[1][1] * whT_Y[1][0];
OUT__whT_Z[1][1] = whT_X[1][0] * whT_Y[0][1]
+ whT_X[1][1] * whT_Y[1][1];
}