LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine clatdf | ( | integer | ijob, |
integer | n, | ||
complex, dimension( ldz, * ) | z, | ||
integer | ldz, | ||
complex, dimension( * ) | rhs, | ||
real | rdsum, | ||
real | rdscal, | ||
integer, dimension( * ) | ipiv, | ||
integer, dimension( * ) | jpiv ) |
CLATDF uses the LU factorization of the n-by-n matrix computed by sgetc2 and computes a contribution to the reciprocal Dif-estimate.
Download CLATDF + dependencies [TGZ] [ZIP] [TXT]
!> !> CLATDF computes the contribution to the reciprocal Dif-estimate !> by solving for x in Z * x = b, where b is chosen such that the norm !> of x is as large as possible. It is assumed that LU decomposition !> of Z has been computed by CGETC2. On entry RHS = f holds the !> contribution from earlier solved sub-systems, and on return RHS = x. !> !> The factorization of Z returned by CGETC2 has the form !> Z = P * L * U * Q, where P and Q are permutation matrices. L is lower !> triangular with unit diagonal elements and U is upper triangular. !>
[in] | IJOB | !> IJOB is INTEGER !> IJOB = 2: First compute an approximative null-vector e !> of Z using CGECON, e is normalized and solve for !> Zx = +-e - f with the sign giving the greater value of !> 2-norm(x). About 5 times as expensive as Default. !> IJOB .ne. 2: Local look ahead strategy where !> all entries of the r.h.s. b is chosen as either +1 or !> -1. Default. !> |
[in] | N | !> N is INTEGER !> The number of columns of the matrix Z. !> |
[in] | Z | !> Z is COMPLEX array, dimension (LDZ, N) !> On entry, the LU part of the factorization of the n-by-n !> matrix Z computed by CGETC2: Z = P * L * U * Q !> |
[in] | LDZ | !> LDZ is INTEGER !> The leading dimension of the array Z. LDA >= max(1, N). !> |
[in,out] | RHS | !> RHS is COMPLEX array, dimension (N). !> On entry, RHS contains contributions from other subsystems. !> On exit, RHS contains the solution of the subsystem with !> entries according to the value of IJOB (see above). !> |
[in,out] | RDSUM | !> RDSUM is REAL !> On entry, the sum of squares of computed contributions to !> the Dif-estimate under computation by CTGSYL, where the !> scaling factor RDSCAL (see below) has been factored out. !> On exit, the corresponding sum of squares updated with the !> contributions from the current sub-system. !> If TRANS = 'T' RDSUM is not touched. !> NOTE: RDSUM only makes sense when CTGSY2 is called by CTGSYL. !> |
[in,out] | RDSCAL | !> RDSCAL is REAL !> On entry, scaling factor used to prevent overflow in RDSUM. !> On exit, RDSCAL is updated w.r.t. the current contributions !> in RDSUM. !> If TRANS = 'T', RDSCAL is not touched. !> NOTE: RDSCAL only makes sense when CTGSY2 is called by !> CTGSYL. !> |
[in] | IPIV | !> IPIV is INTEGER array, dimension (N). !> The pivot indices; for 1 <= i <= N, row i of the !> matrix has been interchanged with row IPIV(i). !> |
[in] | JPIV | !> JPIV is INTEGER array, dimension (N). !> The pivot indices; for 1 <= j <= N, column j of the !> matrix has been interchanged with column JPIV(j). !> |
[2] Peter Poromaa, On Efficient and Robust Estimators for the Separation between two Regular Matrix Pairs with Applications in Condition Estimation. Report UMINF-95.05, Department of Computing Science, Umea University, S-901 87 Umea, Sweden, 1995.
Definition at line 165 of file clatdf.f.