REAL*8 FUNCTION TRAB(NRA,NCA,A,LDA,NRB,NCB,B,LDB) C This routine computes tr(AB), where A:kxm, B:mxk. C Inputs C NRA Rows in A C NCA Columns in A C A Matrix A C LDA Leading dimension of A C NRB Rows in B C NCB Columns in B C B Matrix B C LDB Leading dimension of B IMPLICIT REAL*8 (A-H,O-Z) DIMENSION A(LDA,NCA),B(LDB,NCB) IF((NCA.NE.NRB).OR.(NRA.NE.NCB))GO TO 110 AA=0.0D0 DO 10 I=1,NRA DO 10 J=1,NCA 10 AA=AA+A(I,J)*B(J,I) TRAB=AA RETURN 110 WRITE(6,115)NRA,NCA,NRB,NCB 115 FORMAT(' Order inconsistency in TRAB:',4I6) STOP END