Intel® oneAPI Math Kernel Library Developer Reference - Fortran
Uses the LU factorization of the n-by-n matrix computed by ?getc2 and computes a contribution to the reciprocal Dif-estimate.
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 )
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.
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 .
INTEGER. The number of columns of the matrix 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.
INTEGER. The leading dimension of the array Z. lda≥ max(1, n).
REAL for slatdf/clatdf
DOUBLE PRECISION for dlatdf/zlatdf.
Array, DIMENSION (n).
On entry, rhs contains contributions from other subsystems.
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.
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.
INTEGER.
Array, DIMENSION (n).
The pivot indices; for 1 ≤ i ≤ n, row i of the matrix has been interchanged with row ipiv(i).
INTEGER.
Array, DIMENSION (n).
The pivot indices; for 1 ≤j≤ n, column j of the matrix has been interchanged with column jpiv(j).
On exit, rhs contains the solution of the subsystem with entries according to the value of ijob.
On exit, the corresponding sum of squares updated with the contributions from the current sub-system.
If trans = 'T', rdsum is not touched.
On exit, rdscal is updated with respect to the current contributions in rdsum.
If trans = 'T', rdscal is not touched.