Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dspsl(3P) — Sun WorkShop 5.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

dspsl(3P)

NAME

dspsl - solve the linear system Ax = b for a symmetric matrix A in packed storage, which has been UDU-factored by xSPCO or xSPFA, and vectors b and x. 

SYNOPSIS

SUBROUTINE DSPSL (DA, N, IPIVOT, DB)

SUBROUTINE SSPSL (SA, N, IPIVOT, SB)

SUBROUTINE ZSPSL (ZA, N, IPIVOT, ZB)

SUBROUTINE CSPSL (CA, N, IPIVOT, CB)

 

#include <sunperf.h>

void dspsl(double ∗dap, int n, int ∗kpvt, double ∗b) ;

void sspsl(float ∗sap, int n, int ∗kpvt, float ∗b) ;

void zspsl(doublecomplex ∗zap, int n, int ∗kpvt, doublecomplex ∗b) ;

void cspsl(complex ∗cap, int n, int ∗kpvt, complex ∗b) ;

ARGUMENTS

xA UDU factorization of the matrix A, as computed by xSPCO or xSPFA. 

N Order of the matrix A.  N >= 0. 

IPIVOT Pivot vector as computed by xSPCO or xSPFA. 

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 = 3)
      PARAMETER        (LENGTA = (N ∗ N + N) / 2)
C
      DOUBLE PRECISION  A(LENGTA), B(N), RCOND, WORK(N)
      INTEGER           IPIVOT(N)
C
      EXTERNAL          DSPCO, DSPSL
C
C     Initialize the array A to store in packed symmetric format
C     the matrix A shown below.  Initialize the array B to store
C     the vector b shown below.
C
C         1  0  4        15
C     A = 0  2  0    b = 12
C         4  0  1        15
C
      DATA A / 1.0D0, 0.0D0, 2.0D0, 4.0D0, 0.0D0, 1.0D0 /
      DATA B / 1.5D1, 1.2D1, 1.5D1 /
C
      PRINT 1000
      PRINT 1010, A(1), A(2), A(4)
      PRINT 1010, A(2), A(3), A(5)
      PRINT 1010, A(4), A(5), A(6)
      PRINT 1020
      PRINT 1030, B
      CALL DSPCO (A, N, IPIVOT, RCOND, WORK)
      IF ((RCOND + 1.0D0) .EQ. RCOND) THEN
        PRINT 1040
      END IF
      CALL DSPSL (A, N, IPIVOT, B)
      PRINT 1050
      PRINT 1030, B
C
 1000 FORMAT (1X, ’A:’)
 1010 FORMAT (3(3X, F4.1))
 1020 FORMAT (/1X, ’b:’)
 1030 FORMAT (3X, F4.1)
 1040 FORMAT (1X, ’A may be singular to working precision.’)
 1050 FORMAT (/1X, ’A∗∗(-1) ∗ b:’)
C
      END

SAMPLE OUTPUT

 
 A:
    1.0    0.0    4.0
    0.0    2.0    0.0
    4.0    0.0    1.0
 
 b:
   15.0
   12.0
   15.0
 
 A∗∗(-1) ∗ b:
    3.0
    6.0
    3.0

SunOS 5.0  —  Last change: 10 Dec 1998

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