SUBROUTINE FKDQA
*-- Author : S.Burke / J.V. Morris
      SUBROUTINE FKDQA(D,Q,A,C)
**********************************************************************                                        
*                                                                    *                                        
* Optimised matrix transformation (used by the smoother).            *                                        
*                                                                    *                                        
**********************************************************************                                        
                                                                        
      IMPLICIT DOUBLE PRECISION (A-H,O-Z)                               
                                                                        
      DIMENSION D(5,5),Q(5,5),A(5,5),C(5,5)                             
                                                                        
**********************************************************************                                        
                                                                        
      DQ1 = Q(1,1) + D(1,4)*Q(4,1) + D(1,5)*Q(5,1)                      
      DQ2 = Q(2,1) + D(1,4)*Q(4,2) + D(1,5)*Q(5,2)                      
      DQ4 = Q(4,1) + D(1,4)*Q(4,4) + D(1,5)*Q(5,4)                      
      DQ5 = Q(5,1) + D(1,4)*Q(5,4) + D(1,5)*Q(5,5)                      
                                                                        
      C(1,1) = C(1,1) + DQ1*A(1,1) + DQ2*A(1,2)                         
     &                + DQ4*A(1,4) + DQ5*A(1,5)                         
      C(2,1) = C(2,1) + DQ1*A(2,1) + DQ2*A(2,2)                         
     &                + DQ4*A(2,4) + DQ5*A(2,5)                         
      C(4,1) = C(4,1) + DQ1*A(4,1) + DQ2*A(4,2)                         
     &                + DQ4*A(4,4) + DQ5*A(4,5)                         
      C(5,1) = C(5,1) + DQ1*A(5,1) + DQ2*A(5,2)                         
     &                + DQ4*A(5,4) + DQ5*A(5,5)                         
                                                                        
      DQ1 = Q(2,1) + D(2,4)*Q(4,1) + D(2,5)*Q(5,1)                      
      DQ2 = Q(2,2) + D(2,4)*Q(4,2) + D(2,5)*Q(5,2)                      
      DQ4 = Q(4,2) + D(2,4)*Q(4,4) + D(2,5)*Q(5,4)                      
      DQ5 = Q(5,2) + D(2,4)*Q(5,4) + D(2,5)*Q(5,5)                      
                                                                        
      C(2,2) = C(2,2) + DQ1*A(2,1) + DQ2*A(2,2)                         
     &                + DQ4*A(2,4) + DQ5*A(2,5)                         
      C(4,2) = C(4,2) + DQ1*A(4,1) + DQ2*A(4,2)                         
     &                + DQ4*A(4,4) + DQ5*A(4,5)                         
      C(5,2) = C(5,2) + DQ1*A(5,1) + DQ2*A(5,2)                         
     &                + DQ4*A(5,4) + DQ5*A(5,5)                         
                                                                        
      C(4,4) = C(4,4) + Q(4,1)*A(4,1) + Q(4,2)*A(4,2)                   
     &                + Q(4,4)*A(4,4) + Q(5,4)*A(4,5)                   
      C(5,4) = C(5,4) + Q(4,1)*A(5,1) + Q(4,2)*A(5,2)                   
     &                + Q(4,4)*A(5,4) + Q(5,4)*A(5,5)                   
                                                                        
      C(5,5) = C(5,5) + (D(5,4)*Q(4,1) + Q(5,1))*A(5,1)                 
     &                + (D(5,4)*Q(4,2) + Q(5,2))*A(5,2)                 
     &                + (D(5,4)*Q(4,4) + Q(5,4))*A(5,4)                 
     &                + (D(5,4)*Q(5,4) + Q(5,5))*A(5,5)                 
                                                                        
      RETURN                                                            
      END                                                               
*