*-- 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
*