Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

sppsl(3P)

NAME

sppsl - 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

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 computed 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

SunOS WorkShop_5.0  —  Last change: 10 Dec 1998

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026