Download minv23.eso

Back to the list

   1 : C MINV23    SOURCE    CHAT      05/01/13    01:45:24     5004           
   2 :       SUBROUTINE MINV23(A,B,NMAX,N,KERRE)                                       
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 :       DIMENSION A(NMAX,*),B(*)                                                  
   6 :       KERRE=0                                                                   
   7 :       GO TO (10,20,30),N                                                        
   8 : 10    DUM1=A(1,1)                                                               
   9 :       IF(DUM1.EQ.0.) GO TO 999                                                  
  10 :       B(1)=B(1)/DUM1                                                            
  11 :       RETURN                                                                    
  12 : 20    DUM1=A(1,1)*A(2,2)-A(1,2)*A(1,2)                                          
  13 :       IF(DUM1.EQ.0.) GO TO 999                                                  
  14 :       DUM2=(B(1)*A(2,2)-B(2)*A(1,2))/DUM1                                       
  15 :       B(2)=(B(2)*A(1,1)-B(1)*A(1,2))/DUM1                                       
  16 :       B(1)=DUM2                                                                 
  17 :       RETURN                                                                    
  18 : 30    DUM1=A(1,1)                                                               
  19 :       IF(DUM1.EQ.0.) GO TO 999                                                  
  20 :       DO 1 I=2,3                                                                
  21 :       DUM2=A(1,I)/DUM1                                                          
  22 :       B(I)=B(I)-B(1)*DUM2                                                       
  23 :       DO 2 J=I,3                                                                
  24 :   2   A(I,J)=A(I,J)-A(1,J)*DUM2                                                 
  25 :    1  A(1,I)=DUM2                                                               
  26 :       B(1)=B(1)/DUM1                                                            
  27 :       A(2,1)=A(1,2)                                                             
  28 :       DUM1=A(2,2)                                                               
  29 :       IF(DUM1.EQ.0.) GO TO 999                                                  
  30 :       DO 3 I=1,3,2                                                              
  31 :       DUM2=A(2,I)/DUM1                                                          
  32 :       B(I)=B(I)-B(2)*DUM2                                                       
  33 :    3  A(I,3)=A(I,3)-DUM2*A(2,3)                                                 
  34 :       B(2)=B(2)/DUM1                                                            
  35 :       A(2,3)=A(2,3)/DUM1                                                        
  36 :       DUM1=A(3,3)                                                               
  37 :       IF(DUM1.EQ.0.) GO TO 999                                                  
  38 :       DUM2=B(3)/DUM1                                                            
  39 :       DO 4 I=1,2                                                                
  40 :    4  B(I)=B(I)-DUM2*A(I,3)                                                     
  41 :       B(3)=DUM2                                                                 
  42 :       RETURN                                                                    
  43 : 999   KERRE=6                                                                   
  44 :       RETURN                                                                    
  45 :       END                                                                       
  46 :  

© Cast3M 2003 - All rights reserved.
Disclaimer