DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦7265c938f⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »imp«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »imp« 

TextFile

      logical function improv(ndim,n,a,lu,b,x,r,ipvt,digits)
      real a(ndim,ndim),lu(ndim,ndim),b(ndim),x(ndim),r(ndim)
      real t,rnorm,ra,eps,norm
      integer ipvt(ndim),i,j,itmax,te,ndim,n
      external out
      zone out
c     uses abs(), amax1(), alog10()
      double precision sum,aij,xj
      improv = .true.
c
      eps = 1.0

   10 eps = 0.5*eps
      ra = eps+1.0
      if (ra .gt. 1.0) goto 10
      itmax=2*alog10(1/eps)
      write(out,500) te,ra,eps,itmax
 500  format(1h ,3e15.3,i5)
c     *** eps and itmax are maschine dependent. ***
c
      norm = 0.0
      do 1 i = 1,n
    1    norm = amax1(norm,abs(x(i)))
      if (norm .ne. 0.0) goto 12
      digets =-alog10(eps)
      return
c
   12 do 6 iter = 1,itmax
         do 4 i = 1,n
            sum = 0.0
            do 3 j = 1,n
               xj=x(j)
               aij=a(i,j)
               sum = sum + (a(i,j))*(x(j))
    3          continue
            sum = b(i) -sum
         r(i) = sum
    4    continue
c        *** it is essential that a(i,j)*x(j) yield a double precision
c            result and that the above + and - be double precision.  ***
         call solve (ndim,n,lu,r,ipvt)
         rnorm = 0.0
         do 5 i = 1,n
            t = x(i)
            x(i) = x(i) + r(i)
            rnorm = amax1(rnorm,abs(x(i)-t))
    5    continue
          digits = -alog10(amax1(rnorm/norm,eps))
         if (rnorm .le. eps*norm) return
   6  continue
c     iteration did not convergenge
      improv = .true.
      return
      end
▶EOF◀