zchdc


NAME

zchdc - (obsolete) compute the Cholesky decomposition of a symmetric positive definite matrix A.


SYNOPSIS

  SUBROUTINE ZCHDC( A, LDA, N, WORK, IPIVOT, JOB, INFO)
  DOUBLE COMPLEX A(LDA,*), WORK(*)
  INTEGER LDA, N, JOB, INFO
  INTEGER IPIVOT(*)
 
  SUBROUTINE ZCHDC_64( A, LDA, N, WORK, IPIVOT, JOB, INFO)
  DOUBLE COMPLEX A(LDA,*), WORK(*)
  INTEGER*8 LDA, N, JOB, INFO
  INTEGER*8 IPIVOT(*)
 

C INTERFACE

#include <sunperf.h>

void zchdc(doublecomplex *a, int lda, int n, int *ipivot, int job, int *info);

void zchdc_64(doublecomplex *a, long lda, long n, long *ipivot, long job, long *info);


ARGUMENTS

* A (input/output)
On entry, the upper triangle of A. On exit, the upper triangle of the Cholesky factor, as permuted by pivoting if pivoting was selected. 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.

* WORK (workspace)
Scratch array with a dimension of N.

* IPIVOT (input)
If JOB selected no pivoting then IPIVOT is not referenced. On entry, if JOB selected pivoting, IPIVOT contains integers representing array indices that control the selection of pivot elements from the diagonal of A according to the system below:

IPIVOT(k) > 0 A(k,k) is an initial element.

IPIVOT(k) = 0 A(k,k) is a free element.

IPIVOT(k) < 0 A(k,k) is a final element.

Before the decomposition is computed, symmetric row and column interchanges are used to move initial elements to the beginning of A and final elements to the end of A. During the computation, symmetric row and column interchanges are used to move the largest remaining free diagonal element into the pivot position. On exit, IPIVOT(k) contains the index of the diagonal element of A that was moved into the kth position.

* JOB (input)
Determines how decomposition is done:

0 without pivoting

not 0 with pivoting

* INFO (output)
On exit: Returns the index of the last positive diagonal element of the Cholesky factor. The subroutine was successful if INFO = N.