Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dchud(3P) — Sun WorkShop 3.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

dchud(3P)

NAME

dchud - update an augmented Cholesky decomposition of the triangular part of an augmented QR decomposition. 

SYNOPSIS

CALL DCHUD (DA, LDA, N, DX, DZ, LDZ, NZ, DY, DRHO, DCOS, DSIN)

CALL SCHUD (SA, LDA, N, SX, SZ, LDZ, NZ, SY, SRHO, SCOS, SSIN)

CALL ZCHUD (ZA, LDA, N, ZX, ZZ, LDZ, NZ, ZY, DRHO, DCOS, DSIN)

CALL CCHUD (CA, LDA, N, CX, CZ, LDZ, NZ, CY, SRHO, SCOS, SSIN)

void dchud(double ∗r, long int ldr, long int p, double ∗dx,
double ∗dz, long int ldz, long int nz, double ∗dy, double ∗drho, double ∗dc, double ∗s)

void schud(float ∗r, long int ldr, long int p, float ∗sx, float
∗z, long int ldz, long int nz, float ∗sy, float ∗srho, float ∗sc, float ∗s)

void zchud(doublecomplex ∗r, long int ldr, long int p,
doublecomplex ∗zx, doublecomplex ∗zz, long int ldz, long int nz, doublecomplex ∗zy, double ∗drho, double ∗dc, doublecomplex ∗s)

void cchud(complex ∗r, long int ldr, long int p,
complex ∗cx, complex ∗cz, long int ldz, long int nz, complex ∗cy, float ∗rho, float ∗sc, complex ∗s)

ARGUMENTS

xAOn entry, the upper triangular matrix A. 
On exit, A has been updated.  The strict lower triangle of A is not referenced.

LDALeading dimension of the array A as specified in a dimension or
type statement.  LDA >= max(1,N).

NOrder of the matrix A.  N >= 0. 

xXRow to be added to A. 

xZVectors to be updated with A. 

LDZLeading dimension on the array Z as specified in a dimension or type statement.  LDZ >= max(1,N). 

NZNumber of vectors to be updated with A.  NZ >= 0.  If NZ = 0 then
Z, Y, and RHO are not used.

xYScalars for updating the vectors in Z. 

xRHOOn entry, the norms of the residual vectors that are to be updated. 
On exit, RHO has been updated.  If RHO(i) is negative on entry then it is not changed.

xCOSCosines of the transforming rotations. 

xSINSines of the transforming rotations. 

SAMPLE PROGRAM

 
      PROGRAM TEST
      IMPLICIT NONE
C
      INTEGER           LDA, N, NOPIV, NZ
      PARAMETER        (N = 4)
      PARAMETER        (NOPIV = 0)
      PARAMETER        (NZ = 0)
      PARAMETER        (LDA = N)
C
      DOUBLE PRECISION  A(LDA,N), ANULL, C(N), S(N), WORK(N), X(N)
      INTEGER           I, ICOL, INFO, IPIVOT(N), IROW, JOB, NULL
C
C     Initialize the arrays A and Z to store the matrices A and Z
C     shown below and initialize X and Y to store the vectors x and y
C     shown below.
C
C         4  3  2  1        1
C     A = 3  4  3  2    x = 1
C         2  3  4  3        1
C         1  2  3  4        1
C
      DATA A / 4.0D0, 3∗8D8, 3.0D0, 4.0D0, 2∗8D8, 2.0D0, 3.0D0, 4.0D0,
     $         8D8, 1.0D0, 2.0D0, 3.0D0, 4.0D0 /
C
      PRINT 1000
      PRINT 1010, A(1,1), A(1,2), A(1,3), A(1,4)
      PRINT 1010, A(1,2), A(2,2), A(2,3), A(2,4)
      PRINT 1010, A(1,3), A(2,3), A(3,3), A(3,4)
      PRINT 1010, (A(IROW,4), IROW = 1, N)
      PRINT 1020
      PRINT 1010, ((A(IROW,ICOL), ICOL = 1, N), IROW = 1, N)
      JOB = NOPIV
      CALL DCHDC (A, LDA, N, WORK, IPIVOT, JOB, INFO)
      IF (INFO .EQ. N) THEN
        PRINT 1030
        PRINT 1010, A(1,1), A(1,2), A(1,3), A(1,4)
        PRINT 1040,         A(2,2), A(2,3), A(2,4)
        PRINT 1050,                 A(3,3), A(3,4)
        PRINT 1060,                         A(4,4)
        ANULL = 0.0D0
        NULL = 1
        CALL DCHUD (A, LDA, N, X, ANULL, NULL, NZ, ANULL, ANULL, C, S)
        PRINT 1070
        PRINT 1080, (C(I), S(I), I = 1, N)
      ELSE
        PRINT 1090
      END IF
C
 1000 FORMAT (1X, ’A in full form:’)
 1010 FORMAT (4(3X, F7.3))
 1020 FORMAT (/1X, ’A in symmetric form (∗ in unused entries)’)
 1030 FORMAT (/1X, ’Upper Cholesky factor:’)
 1040 FORMAT (10X, 3(3X, F7.3))
 1050 FORMAT (20X, 2(3X, F7.3))
 1060 FORMAT (30X, 1(3X, F7.3))
 1070 FORMAT (1X, ’Cosine’, 3X, ’  Sine’)
 1080 FORMAT (1X, F6.3, 3X, F6.3)
 1090 FORMAT (/1X, ’A is not positive definite.’)
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
 
 A in symmetric form (∗ in unused entries)
     4.000     3.000     2.000     1.000
   ∗∗∗∗∗∗∗     4.000     3.000     2.000
   ∗∗∗∗∗∗∗   ∗∗∗∗∗∗∗     4.000     3.000
   ∗∗∗∗∗∗∗   ∗∗∗∗∗∗∗   ∗∗∗∗∗∗∗     4.000
 
 Upper Cholesky factor:
     2.000     1.500     1.000     0.500
               1.323     1.134     0.945
                         1.309     1.091
                                   1.291
 Cosine     Sine
  1.000    0.000
  1.000    0.000
  1.000    0.000
  1.000    0.000

Sun, Inc.  —  Last change: 20 Sep 1996

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