cchdd
cchdd - (obsolete) downdate an augmented Cholesky decomposition of the triangular part of
an augmented QR decomposition.
SUBROUTINE CCHDD( A, LDA, N, X, Z, LDZ, NZ, Y, RHO, COS, SIN, INFO)
COMPLEX A(LDA,*), X(*), Z(LDZ,*), Y(*), SIN(*)
INTEGER LDA, N, LDZ, NZ, INFO
REAL RHO(*), COS(*)
SUBROUTINE CCHDD_64( A, LDA, N, X, Z, LDZ, NZ, Y, RHO, COS, SIN,
* INFO)
COMPLEX A(LDA,*), X(*), Z(LDZ,*), Y(*), SIN(*)
INTEGER*8 LDA, N, LDZ, NZ, INFO
REAL RHO(*), COS(*)
#include <sunperf.h>
void cchdd(complex *a, int lda, int n, complex *x, complex *z, int ldz, int nz, complex *y, float *rho, float *cos, complex *sin, int *info);
void cchdd_64(complex *a, long lda, long n, complex *x, complex *z, long ldz, long nz, complex *y, float *rho, float *cos, complex *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.