FTN77,E,J,Y                                                                     
C   IMSL ROUTINE NAME   - LUELMP                                                
C                                                                               
C-----------------------------------------------------------------------        
C                                                                               
C   COMPUTER            - HP1000/SINGLE                                         
C                                                                               
C   LATEST REVISION     - JANUARY 1, 1978                                       
C                                                                               
C   PURPOSE             - ELIMINATION PART OF THE SOLUTION OF AX=B -            
C                           POSITIVE DEFINITE MATRIX - SYMMETRIC                
C                           STORAGE MODE                                        
C                                                                               
C   USAGE               - CALL LUELMP (A,B,N,X)                                 
C                                                                               
C   ARGUMENTS    A      - INPUT VECTOR OF LENGTH N(N+1)/2 CONTAINING            
C                           THE N BY N MATRIX L WHERE A = L*L-TRANSPOSE.        
C                           L IS A LOWER TRIANGULAR MATRIX STORED IN            
C                           SYMMETRIC STORAGE MODE. THE MAIN DIAGONAL           
C                           ELEMENTS OF L ARE STORED IN RECIPROCAL              
C                           FORM. MATRIX L MAY BE OBTAINED FROM IMSL            
C                           ROUTINE LUDECP.                                     
C                B      - VECTOR OF LENGTH N CONTAINING THE RIGHT HAND          
C                           SIDE OF THE EQUATION AX = B. (INPUT)                
C                N      - ORDER OF A AND THE LENGTH OF B AND X. (INPUT)         
C                X      - VECTOR OF LENGTH N CONTAINING THE SOLUTION TO         
C                           THE EQUATION AX = B. (OUTPUT)                       
C                                                                               
C   PRECISION/HARDWARE  - SINGLE AND DOUBLE/H32                                 
C                       - SINGLE/H36,H48,H60                                    
C                                                                               
C   REQD. IMSL ROUTINES - NONE REQUIRED                                         
C                                                                               
C   NOTATION            - INFORMATION ON SPECIAL NOTATION AND                   
C                           CONVENTIONS IS AVAILABLE IN THE MANUAL              
C                           INTRODUCTION OR THROUGH IMSL ROUTINE UHELP          
C                                                                               
C   COPYRIGHT           - 1978 BY IMSL, INC. ALL RIGHTS RESERVED.               
C                                                                               
C   WARRANTY            - IMSL WARRANTS ONLY THAT IMSL TESTING HAS BEEN         
C                           APPLIED TO THIS CODE. NO OTHER WARRANTY,            
C                           EXPRESSED OR IMPLIED, IS APPLICABLE.                
C                                                                               
C-----------------------------------------------------------------------        
C                                                                               
      SUBROUTINE LUELMP (A,B,N,X)                                               
C                                                                               
      DIMENSION          A(1),B(1),X(1)                                         
      DATA               ZERO/0.0/                                              
C                                  FIRST EXECUTABLE STATEMENT                   
C                                  SOLUTION OF LY = B                           
      IP=1                                                                      
      IW = 0                                                                    
      DO 15 I=1,N                                                               
         T=B(I)                                                                 
         IM1 = I-1                                                              
         IF (IW .EQ. 0) GO TO 9                                                 
         IP=IP+IW-1                                                             
         DO 5 K=IW,IM1                                                          
            T = T-A(IP)*X(K)                                                    
            IP=IP+1                                                             
    5    CONTINUE                                                               
         GO TO 10                                                               
    9    IF (T .NE. ZERO) IW = I                                                
         IP = IP+IM1                                                            
   10    X(I)=T*A(IP)                                                           
         IP=IP+1                                                                
   15 CONTINUE                                                                  
C                                  SOLUTION OF UX = Y                           
      N1 = N+1                                                                  
      DO 30 I = 1,N                                                             
         II = N1-I                                                              
         IP=IP-1                                                                
         IS=IP                                                                  
         IQ=II+1                                                                
         T=X(II)                                                                
         IF (N.LT.IQ) GO TO 25                                                  
         KK = N                                                                 
         DO 20 K=IQ,N                                                           
            T = T - A(IS) * X(KK)                                               
            KK = KK-1                                                           
            IS = IS-KK                                                          
   20    CONTINUE                                                               
   25    X(II)=T*A(IS)                                                          
   30 CONTINUE                                                                  
      RETURN                                                                    
      END                                                                       
