klin_dgedi - computes the determinate and inverse of a matrix
LIBRARY CALL
int klin_dgedi(
double *matrix,
int rows,
int cols,
int *pivot,
int job,
double *work,
double *det)
INPUT
matrix - input matrix stored in a 1D array of
doubles in row-major order such that
m[i][j] = a[i * cols+j]
rows - the number of rows in matrix.
cols - the number of columns in matrix.
pivot - the pivot vector from klin_dgefa
job - defines what to compute: the inverse, the
determinate, or both of the matrix.
KLIN_INVERSE to compute inverse
KLIN_DETERMINATE to compute determinate
KLIN_INVERSE | KLIN_DETERMINATE to compute both
OUTPUT
matrix - inverse of the original matrix if requested,
othewise unchanged.
det - determinant of original matrix if requested,
otherwise not referenced.
determinat = det(1)*10.0**det(2)
with 1.0 < kabs(det(1)) < 10.0 or det(1) == 0.0
RETURN VALUE
TRUE (1) all the time
DESCRIPTION
This routine will compute the determinant
and inverse of an NxN matrix using the factors
computed by klin_sgeco or klin_dgefa.
The determinant functionality is not well tested.
ADDITIONAL INFORMATION
none
EXAMPLES
none
SIDE EFFECTS
none
RESTRICTIONS
A division by zero will occur if the input factor contains
a zero on the diagonal and the inverse is requested.
It will not occur if the subroutines are called correctly
and if klin_sgeco has set rcond > 0.0 or dgefa has set
info < 0.
MODIFICATION
none
FILES
$BOOTSTRAP/objects/library/klibm/src/dlin.c
SEE ALSO
klibm(3)
COPYRIGHT
Copyright (C) 1993 - 1997, Khoral Research, Inc. ("KRI") All rights reserved.