C VMULT1    SOURCE    CHAT      05/01/13    04:08:24     5004
      SUBROUTINE VMULT1(A,AA,B)
C=======================================================================
C     CALCULE LE PRODUIT  AA = TRPOSE ( B ) * A * B
C    ENTREES
C     A(9)   = MATRICE STOCKEE PAR COLONNE  ( SYMMMETRIQUE
C              A11=A(1) A12=A(4)  A21=A(2) A22=A(5) A33=A(9) NON NULS
C     B(3,3) = MATRICE DE PASSAGE           ( NON SYMMETRIQUE
C    SORTIES
C     AA(9)  =   MATRICE  STOCKEE PAR COLONNE ( SYMMMETRIQUE
C=======================================================================
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)
      DIMENSION A(*),AA(*),B(3,*)
C
      B11=B(1,1)
      B12=B(1,2)
      B13=B(1,3)
      B21=B(2,1)
      B22=B(2,2)
      B23=B(2,3)
      B31=B(3,1)
      B32=B(3,2)
      B33=B(3,3)
C
      C1=B11*A(1)+B21*A(4)
      C2=B11*A(4)+B21*A(5)
      C3=B12*A(1)+B22*A(4)
      C4=B12*A(4)+B22*A(5)
      C5=B13*A(1)+B23*A(4)
      C6=B13*A(4)+B23*A(5)
      C7=                  B31*A(9)
      C8=                  B32*A(9)
      C9=                  B33*A(9)
C
      AA(1)=B11*C1+B21*C2+B31*C7
      AA(4)=B12*C1+B22*C2+B32*C7
      AA(5)=B12*C3+B22*C4+B32*C8
      AA(7)=B13*C1+B23*C2+B33*C7
      AA(8)=B12*C5+B22*C6+B32*C9
      AA(9)=B13*C5+B23*C6+B33*C9
      AA(2)=AA(4)
      AA(3)=AA(7)
      AA(6)=AA(8)
      RETURN
      END

