このディレクトリの索引
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つの3成分ベクトル a=(3.0, 2.0, 1.0) ,  b=(-2.0, 1.0, 1.0)を double型配列に格納し、aとbの内積を計算する'(_a,_b,_内積) :-
        '2つの3成分ベクトル a=(3.0, 2.0, 1.0) ,  b=(-2.0, 1.0, 1.0)を double型配列に格納し'(_a,_b),
        'aとbの内積を計算する'(_a,_b,_内積).

'2つの3成分ベクトル a=(3.0, 2.0, 1.0) ,  b=(-2.0, 1.0, 1.0)を double型配列に格納し'(_a,_b) :-
        _a = [[3.0],[2.0],[1.0]],
        _b = [[-2.0],[1.0],[1.0]].

'aとbの内積を計算する'(_a,_b,_内積) :-
        ベクトルの内積(_a,_b,_内積).

ベクトルの内積([],[],0) :- !.
ベクトルの内積([[A]|R1],[[B]|R2],X) :-
        ベクトルの内積(R1,R2,Y),
        X is Y + A * B.