数値計算プログラム

2011年09月07日

連立1次方程式・LU分解法

inout n;
e:=1e-6
dim a(n,n),l(n,n),u(n,n),b(n),y(n);
for i:=1 to n;
for l:=1 to n;
imput a(i,j);
l(i,j):=0;
u(i,j):=0;
next j;
next i;
for i:=1 to n;
input b(i);
y(i):=0:
next i;
for j:=1 to n;
for i:=1 to n;
if i w:=0;
for k:=1 to j;
w:=w+l(i,k)*u(k,j);
next k;
l(i,j):=a(i,j)-w;
goto l2;
label l1;
w=0;
for k:=1 to j-1;
w:=w+l(i,k)*u(k,j);
next k;
u(i,j):=(a(i,j)-w)/l(i,i);
label l2;
next i;
next j;
for i:=1 to n;
for j:=1 to i;
if i=j then l3;
b(i):=b(i)-y(j)*l(i,j);
label l3;
next j;
y(i):=b(i)/l(i,i)
next i;
for i:=n to 1 step -1;
for j:=i to n;
if i:=j then l4;
y(i):=y(i)-y(i)*u(i,i);
label l4;
next j;
next i;
for i:=1 to n;
print y(i);
next i;
end;


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