プログラミング > 一般的なこと > 行列式の余因子を求める

  1. 一般的なこと

行列式の余因子を求める

4×4行列の余因子(3×3行列)を求めます。 4×4行列(TMatrix4型)mt4の要素A[i,j]の余因子(TMatrix3型)を求めるには、 引数は(i,j,mt4,Yoinshi)といった感じになります。

行列を扱うちゃんとしたクラスを作れば、もっと汎用的に使えると思います。

これぐらい思いつくよ!!って言われそうですが・・・

ソース(Delphiです)

type
  TMatrix3 = array[1..3,1..3] of integer;
  TMatrix4 = array[1..4,1..4] of integer;
    
procedure Tform1.getCofactor(row,col:integer; Matrix:TMatrix4;
					var Yoinshi:TMatrix3);
var
  i,j,plusRow,plusCol:integer;
begin
  plusRow := 0;
  plusCol := 0;

  for i := 1 to 3 do begin
    for j := 1 to 3 do begin
      if (i = row) then
        plusRow := 1;
      if (j = col) then
        plusCol := 1;
      Yoinshi[i,j] := Matrix[i+plusRow,j+plusCol];
    end;
    plusCol := 0;
  end;

end;
		

Copyright© KENGAMINE 2004/10/15 webmaster:hamham@mcn.ne.jp