Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?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
slatdf dlatdf clatdf zlatdf
The routine ?latdf uses the LU factorization of the n -by- n matrix Z computed by ?getc2 (Computes the LU factorization with complete pivoting of the general n-by-n matrix.) 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-f with 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 D if-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.