このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1320365280/60
#  [1] 
#  以下の2*2行列x, yの積 x*yを計算し、その結果を表示するプログラムを作成せよ。 
#   
#   
#  x= ( 1  2 )  
#       4  5 
#   
#  y= ( 1  5 ) 
#       5  3 
#   
#   
#   
#  [2] 
#  2つの3成分ベクトル a=(3.0, 2.0, 1.0) ,  b=(-2.0, 1.0, 1.0)を double型配列に格納し、aとbの内積を計算するプログラムを作成せよ。 
#   
#   
#  すみませんが、わからなかったのでお願いします。 
# 
# 

'2*2行列x, yの積 x*yを計算し、その結果を表示する'(_x,_y) :-
        xとyの積(_x,_y,_z),
        その結果を表示する(_z).

xとyの積([[_x_1_1,_x_1_2],[_x_2_1,_x_2_2]],[[_y_1_1,_y_1_2],[_y_2_1,_y_2_2]],[[_z_1_1,_z_1_2],[_z_2_1,_z_2_2]]) :-
        _z_1_1 is _x_1_1*_y_1_1+_x_1_2*_y_2_1,
        _z_1_2 is _x_1_1*_y_1_2+_x_1_2*_y_2_2,
        _z_2_1 is _x_2_1*_y_1_1+_x_2_2*_y_2_1,
        _z_2_2 is _x_2_1*_y_1_2+_x_2_2*_y_2_2.

その結果を表示する(_z) :-
        writef('%t\n',[_z]).