dchdd
dchdd - (obsolete) downdate an augmented Cholesky decomposition of the triangular part of
an augmented QR decomposition.
SUBROUTINE DCHDD( A, LDA, N, X, Z, LDZ, NZ, Y, RHO, COS, SIN, INFO)
INTEGER LDA, N, LDZ, NZ, INFO
DOUBLE PRECISION A(LDA,*), X(*), Z(LDZ,*), Y(*), RHO(*), COS(*), SIN(*)
SUBROUTINE DCHDD_64( A, LDA, N, X, Z, LDZ, NZ, Y, RHO, COS, SIN,
* INFO)
INTEGER*8 LDA, N, LDZ, NZ, INFO
DOUBLE PRECISION A(LDA,*), X(*), Z(LDZ,*), Y(*), RHO(*), COS(*), SIN(*)
#include <sunperf.h>
void dchdd(double *a, int lda, int n, double *x, double *z, int ldz, int nz, double *y, double *rho, double *cos, double *sin, int *info);
void dchdd_64(double *a, long lda, long n, double *x, double *z, long ldz, long nz, double *y, double *rho, double *cos, double *sin, long *info);
-
* A (input/output)
-
On entry, the upper triangular matrix A.
On exit, A has been downdated. The strict lower triangle of A
is not referenced.
-
* LDA (input)
-
Leading dimension of the array A as specified in a dimension
or type statement. LDA >= max(1,N).
-
* N (input)
-
Order of the matrix A. N >= 0.
-
* X (input)
-
Row to be added to A.
-
* Z (input/output)
-
Vectors to be downdated with A.
-
* LDZ (input)
-
Leading dimension on the array Z as specified in a dimension or type statement. LDZ >= max(1,N).
-
* NZ (input)
-
Number of vectors to be downdated with A. NZ >= 0. If NZ = 0
then Z, Y, and RHO are not used.
-
* Y (input)
-
Scalars for downdating the vectors in Z.
-
* RHO (input/output)
-
On entry, the norms of the residual vectors that are to be downdated.
On exit, RHO has been downdated. If RHO(i) is negative on entry then it
is not changed.
-
* COS (input/output)
-
Cosines of the transforming rotations.
-
* SIN (output)
-
Sines of the transforming rotations.
-
* INFO (output)
-
On exit:
INFO = 0 Subroutine completed normally.
INFO = -1 A could not be downdated; all values are left unchanged.
INFO = 1 Some RHOs could not be downdated; all RHOs that could not be
downdated are changed to -1.