dsico
dsico - (obsolete) compute the UDU factorization and condition number of a symmetric
matrix A. If the condition number is not needed then SSIFA is slightly
faster. It is typical to follow a call to SSICO with a call to SSISL to
solve Ax = b or to SSIDI to compute the determinant, inverse, and inertia
of A.
SUBROUTINE DSICO( A, LDA, N, IPIVOT, RCOND, WORK)
INTEGER LDA, N
INTEGER IPIVOT(*)
DOUBLE PRECISION RCOND
DOUBLE PRECISION A(LDA,*), WORK(*)
SUBROUTINE DSICO_64( A, LDA, N, IPIVOT, RCOND, WORK)
INTEGER*8 LDA, N
INTEGER*8 IPIVOT(*)
DOUBLE PRECISION RCOND
DOUBLE PRECISION A(LDA,*), WORK(*)
#include <sunperf.h>
void dsico(double *a, int lda, int n, int *ipivot, double *rcond);
void dsico_64(double *a, long lda, long n, long *ipivot, double *rcond);
-
* A (input/output)
-
On entry, the upper triangle of the matrix A.
On exit, a UDU factorization of the matrix A. 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.
-
* IPIVOT (output)
-
On exit, a vector of pivot indices.
-
* RCOND (output)
-
On exit, an estimate of the reciprocal condition number of
A. 0.0 <= RCOND <= 1.0. As the value of RCOND gets smaller, operations
with A such as solving Ax = b may become less stable. If RCOND
satisfies RCOND + 1.0 = 1.0 then A may be singular to working precision.
-
* WORK (workspace)
-
Scratch array with a dimension of N.