! aa为原矩阵,b为存放aa的逆矩阵,n为矩阵aa的维数
subroutine nizhen(aa,b,n)
integer n,i,j,k
real:: aa(n,n),b(n,n),a(n,n)
a=aa
do i=1,n
b(i,i)=1
enddo
do i=1,n
b(i,:)=b(i,:)/a(i,i)
a(i,i:n)=a(i,i:n)/a(i,i)
do j=i+1,n
do k=1,n
b(j,k)=b(j,k)-b(i,k)*a(j,i)
enddo
a(j,i:n)=a(j,i:n)-a(i,i:n)*a(j,i)
enddo
enddo
do i=n,1,-1
do j=i-1,1,-1
do k=1,n
b(j,k)=b(j,k)-b(i,k)*a(j,i)
enddo
enddo
enddo
end
没有必要自己编吧。
1 调用IMSL/MKL等现成的数学库,比如.i.就可以直接求逆。
2 直接copy徐士良那本<