Visible to Intel only — GUID: GUID-F0FC7FFA-48E1-4603-B593-0247D57D1052
Visible to Intel only — GUID: GUID-F0FC7FFA-48E1-4603-B593-0247D57D1052
?latdf
Uses the LU factorization of the n-by-n matrix computed by ?getc2 and computes a contribution to the reciprocal Dif-estimate.
Syntax
call slatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv, jpiv )
call dlatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv, jpiv )
call clatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv, jpiv )
call zlatdf( ijob, n, z, ldz, rhs, rdsum, rdscal, ipiv, jpiv )
Include Files
- mkl.fi
Description
The routine ?latdf uses the LU factorization of the n-by-n matrix Z computed by ?getc2 and computes a contribution to the reciprocal Dif-estimate by solving Z*x = b for x, and choosing the right-hand side b such that the norm of x is as large as possible. On entry rhs = b holds the contribution from earlier solved sub-systems, and on return rhs = x.
The factorization of Z returned by ?getc2 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.
Input Parameters
- ijob
-
INTEGER.
ijob = 2: First compute an approximative null-vector e of Z using ?gecon, e is normalized, and solve for Z*x = ±e-fwith the sign giving the greater value of 2-norm(x). This option is about 5 times as expensive as default.
ijob≠ 2 (default): Local look ahead strategy where all entries of the right-hand side b is chosen as either +1 or -1 .
- n
-
INTEGER. The number of columns of the matrix Z.
- z
-
REAL for slatdf/clatdf
DOUBLE PRECISION for dlatdf/zlatdf.
Array, DIMENSION (ldz, n)
On entry, the LU part of the factorization of the n-by-n matrix Z computed by ?getc2: Z = P*L*U*Q.
- ldz
-
INTEGER. The leading dimension of the array Z. lda≥ max(1, n).
- rhs
-
REAL for slatdf/clatdf
DOUBLE PRECISION for dlatdf/zlatdf.
Array, DIMENSION (n).
On entry, rhs contains contributions from other subsystems.
- rdsum
-
REAL for slatdf/clatdf
DOUBLE PRECISION for dlatdf/zlatdf.
On entry, the sum of squares of computed contributions to the Dif-estimate under computation by ?tgsyL, where the scaling factor rdscal has been factored out. If trans = 'T', rdsum is not touched.
Note that rdsum only makes sense when ?tgsy2 is called by ?tgsyL.
- rdscal
-
REAL for slatdf/clatdf
DOUBLE PRECISION for dlatdf/zlatdf.
On entry, scaling factor used to prevent overflow in rdsum.
If trans = T', rdscal is not touched.
Note that rdscal only makes sense when ?tgsy2 is called by ?tgsyL.
- ipiv
-
INTEGER.
Array, DIMENSION (n).
The pivot indices; for 1 ≤ i ≤ n, row i of the matrix has been interchanged with row ipiv(i).
- jpiv
-
INTEGER.
Array, DIMENSION (n).
The pivot indices; for 1 ≤j≤ n, column j of the matrix has been interchanged with column jpiv(j).
Output Parameters
- rhs
-
On exit, rhs contains the solution of the subsystem with entries according to the value of ijob.
- rdsum
-
On exit, the corresponding sum of squares updated with the contributions from the current sub-system.
If trans = 'T', rdsum is not touched.
- rdscal
-
On exit, rdscal is updated with respect to the current contributions in rdsum.
If trans = 'T', rdscal is not touched.