Determinant of a matrix by the triangular method
Dedicated to Alfonso Baretty Huertas
www.geocities.com/serienumerica2
[email protected]
c dedicated To Alfonso Baretty Huertas
c determinant by triangular method /the determinat equals the product
c of the diagonal elements in the final triangular array
dimension a (5,5) , aprime(5,5)
data norder / 4 /
a(1,1)=4.
a(1,2)=3.
a(1,3)=0.
a(1,4)=-1.
a(2,1)=9.
a(2,2)=7.
a(2,3)=2.
a(2,4)=-3.
a(3,1)=4.
a(3,2)=0.
a(3,3)=2.
a(3,4)=-1.
a(4,1)=3.
a(4,2)=-1.
a(4,3)=4.
a(4,4)=5.
c sets aprime=a
do 10 i=1,norder
do 10 j=1,norder
aprime(i,j)=a(i,j)
10 continue
c needs do loop for rows
c find first factor for row i
do 60 ir=1,norder-1
do 50 i=ir+1,norder
factor= -aprime(i,ir)/aprime(ir,ir)
c multiplies by previous row i-1 and adds to second row i
do j=1,norder
aprime(i,j)=factor*aprime(ir,j)+aprime(i,j)
end do
50 continue
60 continue
print*,'aprime(i,j)='
do 20 i=1,norder
print 100,(aprime(i,j),j=1,norder)
20 continue
100 format(1x,10(2x,e10.3))
print*,' '
det=1.
do 70 i=1,norder
det=det*aprime(i,i)
70 continue
print*,'det=', det
stop
end
Run
aprime(i,j)=
0.400E+01 0.300E+01 0.000E+00 -0.100E+01
0.000E+00 0.250E+00 0.200E+01 -0.750E+00
0.000E+00 0.000E+00 0.260E+02 -0.900E+01
0.000E+00 0.000E+00 0.238E-06 0.638E+01
det= 166.