cppsl(l) — SunSoft Performance Library
NAME
cppsl - solve the linear system Ax = b for a symmetric positive definite matrix A in packed storage, which has been Cholesky-factored by xPPCO or xPPFA, and vectors b and x.
SYNOPSIS
CALL DPPSL (DA, N, DB)
CALL SPPSL (SA, N, SB)
CALL ZPPSL (ZA, N, ZB)
CALL CPPSL (CA, N, CB)
ARGUMENTS
xACholesky factorization of the matrix A, as computed by xPPCO or xPPFA.
NOrder of the matrix A. N >= 0.
xBOn entry, the right-hand side vector b.
On exit, the solution vector x.
SAMPLE PROGRAM
PROGRAM TEST
IMPLICIT NONE
C
INTEGER LENGTA, N
PARAMETER (N = 4)
PARAMETER (LENGTA = (N ∗ N + N) / 2)
C
DOUBLE PRECISION A(LENGTA), B(N), RCOND, WORK(N)
INTEGER INFO
C
EXTERNAL DPPCO, DPPSL
C
C Initialize the array A to store in packed symmetric storage
C mode the matrix A shown below. Initialize the array B to store
C the matrix B shown below.
C
C 4 3 2 1 20
C A = 3 4 3 2 b = 20
C 2 3 4 3 20
C 1 2 3 4 20
C
DATA A / 4.0D0, 3.0D0, 4.0D0, 2.0D0, 3.0D0, 4.0D0,
$ 1.0D0, 2.0D0, 3.0D0, 4.0D0 /
DATA B / 4∗2.0D1 /
C
PRINT 1000
PRINT 1010, A(1), A(2), A(4), A(7)
PRINT 1010, A(2), A(3), A(5), A(8)
PRINT 1010, A(4), A(5), A(6), A(9)
PRINT 1010, A(7), A(8), A(9), A(10)
PRINT 1020
PRINT 1030, B
CALL DPPCO (A, N, RCOND, WORK, INFO)
IF ((RCOND + 1.0D0) .EQ. RCOND) THEN
PRINT 1040
END IF
CALL DPPSL (A, N, B)
PRINT 1050
PRINT 1030, B
C
1000 FORMAT (1X, ’A in full form:’)
1010 FORMAT (5(3X, F7.3))
1020 FORMAT (/1X, ’b:’)
1030 FORMAT (3X, F7.3)
1040 FORMAT (1X, ’A may be singular to working precision.’)
1050 FORMAT (/1X, ’A∗∗(-1) ∗ b:’)
C
END
SAMPLE OUTPUT
A in full form:
4.000 3.000 2.000 1.000
3.000 4.000 3.000 2.000
2.000 3.000 4.000 3.000
1.000 2.000 3.000 4.000
b:
20.000
20.000
20.000
20.000
A∗∗(-1) ∗ b:
4.000
0.000
0.000
4.000
SunSoft, Inc. — Last change: 27 Jun 1995