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.

      

 


Hosted by www.Geocities.ws

1