PROGRAM MESAL_MKL IMPLICIT NONE CHARACTER(1) , DIMENSION ( 4 ) :: MATDESCRA REAL (8) , DIMENSION ( 3 , 3 ) :: A REAL (8) , DIMENSION ( 3 , 2 ) :: B , C REAL (8) , DIMENSION ( 3 , 1 ) :: VAL INTEGER I , J CHARACTER(1) TRANSA INTEGER :: M , N , LVAL , NDIAG , LDB , LDC REAL (8) :: ALPHA INTEGER , DIMENSION ( 1 ) :: IDIAG A = 0 B = 0 C = 0 A ( 1 , 1 ) = 1.0D0 A ( 2 , 2 ) = 1.0D0 A ( 3 , 3 ) = 1.0D0 B ( 1 , 1 ) = 1.0D0 B ( 1 , 2 ) = 4.0D0 B ( 2 , 1 ) = 2.0D0 B ( 2 , 2 ) = 5.0D0 B ( 3 , 1 ) = 3.0D0 B ( 3 , 2 ) = 6.0D0 VAL ( 1 , 1 ) = 1.0D0 VAL ( 2 , 1 ) = 1.0D0 VAL ( 3 , 1 ) = 1.0D0 M = 3 N = 2 LVAL = 3 NDIAG = 1 LDB = 3 LDC = 3 ALPHA = 1.0D0 TRANSA = "N" MATDESCRA (1) = 'D' MATDESCRA (2) = 'U' MATDESCRA (3) = 'U' MATDESCRA (4) = 'F' IDIAG (1) = 0 CALL MKL_DDIASM ( TRANSA , M , N , ALPHA , MATDESCRA , VAL , LVAL , IDIAG , NDIAG , B , LDB , C , LDC ) DO I = 1 , 3 WRITE ( * , * ) (C (I ,J), J = 1 , 2) END DO READ(*,*) END PROGRAM MESAL_MKL