このディレクトリの索引
#  http://mimizun.com/log/2ch/tech/972032579/115
#  115 :初心者 :2000/10/23(月) 16:45
#  Cでのプログラミングをはじめて1ヶ月なんですが、 
#  逆行列を計算するプログラムを作るという宿題が出ました。 
#  手始めに4×4行列の逆行列を作ることが宿題です。 
#  おねいさんお願いします

'4×4行列の逆行列を作る'(_対象行列,_4×4行列の逆行列) :-
        単位行列(4,_単位行列),
        対象行列の各行に対応する単位行列行を追加(_対象行列,_単位行列,_対象行列_2),
        既約ガウス行列に変形(_対象行列_2,_既約ガウス行列),
        '5-8列を切り取る'(_既約ガウス行列,_4×4行列の逆行列),!.

対象行列の各行に対応する単位行列行を追加(_対象行列,_単位行列,_対象行列_2) :-
        findall(_行,(
                   nth1(_nth1,_対象行列,_行_1),
                   nth1(_nth1,_単位行列,_行_2),
                   append(_行_1,_行_2,_行)),
                _対象行列_2).

'5-8列を'(_既約ガウス行列,_4×4行列の逆行列) :-
        findall(R,(
                    member([_,_,_,_|R],_既約ガウス行列)),
                _4×4行列の逆行列).