Download prlagu.eso

Back to the list

   1 : C PRLAGU    SOURCE    CHAT      05/01/13    02:28:14     5004           
   2 :       subroutine prlagu(mlreel,mlreer,mlreei,iree,kerre)
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8 (A-H,O-Z)
   5 : -INC SMLREEL
   6 : -INC CCOPTIO
   7 :       segment iroot
   8 :          complex roots(ndim)
   9 :          complex ad(ndim)
  10 :          complex  a(ndim) 
  11 :       endsegment 
  12 :       epss=1.e-14    
  13 :       segact mlreel
  14 :       m=prog(/1)-1
  15 :       ndim=prog(/1)
  16 :       segini iroot
  17 : *      write(6,*) 'prog' ,(prog(i),i=1,prog(/1))
  18 : 
  19 :       do 1 i=1,m+1     
  20 :       a(i)=cmplx(prog(i),0.)
  21 :       roots(i)=cmplx(0.,0.)
  22 :    1  continue
  23 :       do 36 io=m+1,1,-1
  24 :       if(abs(a(io)).eq.0.d0) then
  25 : *      write(6,*) ' descente du degré d un cran'
  26 :        m=m-1
  27 :        else
  28 :         goto 37
  29 :       endif
  30 :    36 continue
  31 :    37 continue
  32 :       ndim=m+1
  33 :       jg=m
  34 :       segadj iroot
  35 :       segini mlree1,mlree2  
  36 : *       write(6,*) ' appel a zroots' 
  37 :       mm=m    
  37 :       call zroots(a,mm,roots,ad,prog,mlree1.prog,mlree2.prog,kerre)
  38 :       if(kerre.ne.0) return
  39 :       if(iree.eq.1) then
  40 :       jg=0
  41 :       do 20 i=1,m
  42 :         if( abs(mlree2.prog(i)).gt.epss*abs(mlree1.prog(i))) go to 20
  43 :         jg=jg+1
  44 :         mlree1.prog(jg)=mlree1.prog(i)
  45 :    20 continue
  46 :       segadj mlree1
  47 :       endif        
  48 :       segdes mlree1,mlree2,mlreel
  49 :       mlreer=mlree1
  50 :       mlreei=mlree2
  51 :       segsup iroot
  52 :       return
  53 :       end
  54 : 
  55 :        
  56 : 
  57 : 
  58 :  
  59 :  
  60 :  

© Cast3M 2003 - All rights reserved.
Disclaimer