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