|
PROGRAM TEST
|
IMPLICIT NONE
|
C
|
REAL RZERO
|
COMPLEX ONE
|
INTEGER LDA, N
|
PARAMETER (N = 3)
|
PARAMETER (LDA = N)
|
PARAMETER (ONE = (1.0E0,0.0E0))
|
PARAMETER (RZERO = 0.0E0)
|
C
|
COMPLEX A(LDA,N), ONE, X(N)
|
INTEGER I, J
|
C
|
EXTERNAL CHER
|
INTRINSIC CONJG, REAL
|
C
|
C Initialize the array A to store in Hermitian form the matrix
|
C A shown below. Initialize the array X to store the vector X
|
C shown below.
|
C
|
C 1+0i 2+2i 3+3i 1-1i
|
C A = 2-2i 2+0i 3+3i x = 2-2i
|
C 3-3i 3-3i 3+0i 3-3i
|
C
|
DATA A / (1.0,8E8), (8E8,8E8), (8E8,8E8),
|
$ (2.0,2.0), (2.0,8E8), (8E8,8E8),
|
$ (3.0,3.0), (3.0,3.0), (3.0,8E8) /
|
DATA X / (1.0,-1.0), (2.0,-2.0), (3.0,-3.0) /
|
C
|
PRINT 1000
|
DO 100, I = 1, N
|
PRINT 1010, (A(J,I), J = 1, I - 1), REAL(A(I,I)), RZERO,
|
$ (CONJG(A(I,J)), J = I + 1, N)
|
100 CONTINUE
|
PRINT 1020
|
DO 110, I = 1, N
|
PRINT 1010, (A(I,J), J = 1, N)
|
110 CONTINUE
|
PRINT 1030
|
DO 120, I = 1, N
|
PRINT 1040, X(I)
|
120 CONTINUE
|
CALL CHER ('UPPER TRIANGULAR A', N, ONE, X, 1, A, LDA)
|
PRINT 1050
|
DO 130, I = 1, N
|
PRINT 1010, (A(J,I), J = 1, I - 1), REAL(A(I,I)), RZERO,
|
$ (CONJG(A(I,J)), J = I + 1, N)
|
130 CONTINUE
|
PRINT 1060
|
DO 140, I = 1, N
|
PRINT 1010, (A(I,J), J = 1, N)
|
140 CONTINUE
|
C
|
1000 FORMAT (1X, 'A in full form:')
|
1010 FORMAT (1X, 3(2X, '(', F5.1, ',', F5.1, ')'))
|
1020 FORMAT (/1X, 'A in Hermitian form: ',
|
$ '(* in unused elements)')
|
1030 FORMAT (/1X, 'x:')
|
1040 FORMAT (3X, '(', F5.1, ',', F5.1, ')')
|
1050 FORMAT (/1X, 'A + xx'' in full form:')
|
1060 FORMAT (/1X, 'A + xx'' in Hermitian form: ',
|
$ '(* in unused elements)')
|
C
|
END
|
|