NAME cppsl - solve the linear system Ax = b for a symmetric posi- tive definite matrix A in packed storage, which has been Cholesky-factored by xPPCO or xPPFA, and vectors b and x. SYNOPSIS SUBROUTINE DPPSL (DA, N, DB) SUBROUTINE SPPSL (SA, N, SB) SUBROUTINE ZPPSL (ZA, N, ZB) SUBROUTINE CPPSL (CA, N, CB) #include <sunperf.h> void dppsl(double *dap, int n, double *b) ; void sppsl(float *sap, int n, float *b) ; void cppsl(complex *cap, int n, complex *b) ; void zppsl(doublecomplex *zap, int n, doublecomplex *b) ; ARGUMENTS xA Cholesky factorization of the matrix A, as com- puted by xPPCO or xPPFA. N Order of the matrix A. N >= 0. xB On 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
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |