数値計算プログラム

逆行列:枢軸選択法

print "max size=";
input n;
dim a(n,n;,b(n,n);
print "converge value=";
input e;

for i:=1 to n;
for j:=1 to n:
print "a(",i,",",j,")=";
input a(i,j);
b(i,j):=0;
next j;
b(i,j):=1;
next i;
for k:=1 to n;
i1:=k;
a;=abs(a(a(k,k));
if k=n then l1;
k1:=k+1;
for i:=k1 to n;
a1:=abs(a(i,k));
if a1<=a then l2;
i1:=1;
a:=a+1;
label l2;
next i;
label l1;
if a<=e then l3;
if i1=k then l4;
print k,"/",i1,"_";
for j:=1 to n;
w:=a(i1,j);
a(i,j):=a(k,j);
a(k,j)=w;
w:=b(i1,j);
b(i1,j)=b(k,j);
b(k,j):=w;
next j;
label l4;
a2:=a(k,k);
for j:=1 to n;
a(k,j):=a(k,j)/a2;
b(k,j):=b(k,j)/a2;
next j;
for i:=1 to n;
if i=k then l5;
a3:=a(i,k);
for j:=1 to n;
a(i,j):=a(i,j)-a3*a(k,j);
b(i,j):=b(i,j)-a3*b(k,j);
next j;
label l5;
next i;
next k;
print;
print "reverse matrix";
for i:=1 to n;
for j:=1 to n;
print "___b(",i,",",j,")=",b(i,j);
next j;
next i;
end;
label l3;
print;
print k,e,"error";
end;

トラックバック

このエントリーのトラックバックURL:
http://allable.sakura.ne.jp/mt/mt-tb.cgi/2567

当サイトでは、第三者配信事業者によるサービスを使用して広告を表示しています。 これらの第三者配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示する目的で、 当サイトや他のサイトへのアクセスに関する情報を使用することがあります (氏名、住所、メール アドレス、電話番号は含まれません)。 このプロセスの詳細や、第三者配信事業者にこれらの情報が使用されないようにする方法については、 ここをクリックしてください。