latdf#

Functions

void slatdf(
    const INT           ijob,
    const INT           n,
    const f32* restrict Z,
    const INT           ldz,
          f32* restrict rhs,
          f32*          rdsum,
          f32*          rdscal,
    const INT* restrict ipiv,
    const INT* restrict jpiv
);
void slatdf(const INT ijob, const INT n, const f32 *restrict Z, const INT ldz, f32 *restrict rhs, f32 *rdsum, f32 *rdscal, const INT *restrict ipiv, const INT *restrict jpiv)#

SLATDF uses the LU factorization of the n-by-n matrix Z computed by SGETC2 and computes a contribution to the reciprocal Dif-estimate by solving Z * x = b for x, and choosing the r.h.s.

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 SGETC2 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.

Parameters

in
ijob

IJOB = 2: First compute an approximative null-vector e of Z using SGECON, 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 != 2: Local look ahead strategy where all entries of the r.h.s. b is chosen as either +1 or -1 (Default).

in
n

The number of columns of the matrix Z.

in
Z

The LU part of the factorization of the n-by-n matrix Z computed by SGETC2: Z = P * L * U * Q Array of dimension (ldz, n).

in
ldz

The leading dimension of the array Z. ldz >= max(1, n).

inout
rhs

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. Array of dimension n.

inout
rdsum

On entry, the sum of squares of computed contributions to the Dif-estimate under computation by STGSYL, where the scaling factor RDSCAL has been factored out. On exit, the corresponding sum of squares updated with the contributions from the current sub-system.

inout
rdscal

On entry, scaling factor used to prevent overflow in RDSUM. On exit, RDSCAL is updated w.r.t. the current contributions in RDSUM.

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix has been interchanged with row ipiv[i]. Array of dimension n, 0-based.

in
jpiv

The pivot indices; for 0 <= j < n, column j of the matrix has been interchanged with column jpiv[j]. Array of dimension n, 0-based.

Functions

void dlatdf(
    const INT           ijob,
    const INT           n,
    const f64* restrict Z,
    const INT           ldz,
          f64* restrict rhs,
          f64*          rdsum,
          f64*          rdscal,
    const INT* restrict ipiv,
    const INT* restrict jpiv
);
void dlatdf(const INT ijob, const INT n, const f64 *restrict Z, const INT ldz, f64 *restrict rhs, f64 *rdsum, f64 *rdscal, const INT *restrict ipiv, const INT *restrict jpiv)#

DLATDF uses the LU factorization of the n-by-n matrix Z computed by DGETC2 and computes a contribution to the reciprocal Dif-estimate by solving Z * x = b for x, and choosing the r.h.s.

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 DGETC2 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.

Parameters

in
ijob

IJOB = 2: First compute an approximative null-vector e of Z using DGECON, 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 != 2: Local look ahead strategy where all entries of the r.h.s. b is chosen as either +1 or -1 (Default).

in
n

The number of columns of the matrix Z.

in
Z

The LU part of the factorization of the n-by-n matrix Z computed by DGETC2: Z = P * L * U * Q Array of dimension (ldz, n).

in
ldz

The leading dimension of the array Z. ldz >= max(1, n).

inout
rhs

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. Array of dimension n.

inout
rdsum

On entry, the sum of squares of computed contributions to the Dif-estimate under computation by DTGSYL, where the scaling factor RDSCAL has been factored out. On exit, the corresponding sum of squares updated with the contributions from the current sub-system.

inout
rdscal

On entry, scaling factor used to prevent overflow in RDSUM. On exit, RDSCAL is updated w.r.t. the current contributions in RDSUM.

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix has been interchanged with row ipiv[i]. Array of dimension n, 0-based.

in
jpiv

The pivot indices; for 0 <= j < n, column j of the matrix has been interchanged with column jpiv[j]. Array of dimension n, 0-based.

Functions

void clatdf(
    const INT           ijob,
    const INT           n,
    const c64* restrict Z,
    const INT           ldz,
          c64* restrict rhs,
          f32*          rdsum,
          f32*          rdscal,
    const INT* restrict ipiv,
    const INT* restrict jpiv
);
void clatdf(const INT ijob, const INT n, const c64 *restrict Z, const INT ldz, c64 *restrict rhs, f32 *rdsum, f32 *rdscal, const INT *restrict ipiv, const INT *restrict jpiv)#

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.

Parameters

in
ijob

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 != 2: Local look ahead strategy where all entries of the r.h.s. b is chosen as either +1 or -1 (Default).

in
n

The number of columns of the matrix Z.

in
Z

The LU part of the factorization of the n-by-n matrix Z computed by CGETC2: Z = P * L * U * Q Array of dimension (ldz, n).

in
ldz

The leading dimension of the array Z. ldz >= max(1, n).

inout
rhs

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. Array of dimension n.

inout
rdsum

On entry, the sum of squares of computed contributions to the Dif-estimate under computation by CTGSYL, where the scaling factor RDSCAL has been factored out. On exit, the corresponding sum of squares updated with the contributions from the current sub-system.

inout
rdscal

On entry, scaling factor used to prevent overflow in RDSUM. On exit, RDSCAL is updated w.r.t. the current contributions in RDSUM.

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix has been interchanged with row ipiv[i]. Array of dimension n, 0-based.

in
jpiv

The pivot indices; for 0 <= j < n, column j of the matrix has been interchanged with column jpiv[j]. Array of dimension n, 0-based.

Functions

void zlatdf(
    const INT            ijob,
    const INT            n,
    const c128* restrict Z,
    const INT            ldz,
          c128* restrict rhs,
          f64*           rdsum,
          f64*           rdscal,
    const INT*  restrict ipiv,
    const INT*  restrict jpiv
);
void zlatdf(const INT ijob, const INT n, const c128 *restrict Z, const INT ldz, c128 *restrict rhs, f64 *rdsum, f64 *rdscal, const INT *restrict ipiv, const INT *restrict jpiv)#

ZLATDF 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 ZGETC2. On entry RHS = f holds the contribution from earlier solved sub-systems, and on return RHS = x.

The factorization of Z returned by ZGETC2 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.

Parameters

in
ijob

IJOB = 2: First compute an approximative null-vector e of Z using ZGECON, 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 != 2: Local look ahead strategy where all entries of the r.h.s. b is chosen as either +1 or -1 (Default).

in
n

The number of columns of the matrix Z.

in
Z

The LU part of the factorization of the n-by-n matrix Z computed by ZGETC2: Z = P * L * U * Q Array of dimension (ldz, n).

in
ldz

The leading dimension of the array Z. ldz >= max(1, n).

inout
rhs

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. Array of dimension n.

inout
rdsum

On entry, the sum of squares of computed contributions to the Dif-estimate under computation by ZTGSYL, where the scaling factor RDSCAL has been factored out. On exit, the corresponding sum of squares updated with the contributions from the current sub-system.

inout
rdscal

On entry, scaling factor used to prevent overflow in RDSUM. On exit, RDSCAL is updated w.r.t. the current contributions in RDSUM.

in
ipiv

The pivot indices; for 0 <= i < n, row i of the matrix has been interchanged with row ipiv[i]. Array of dimension n, 0-based.

in
jpiv

The pivot indices; for 0 <= j < n, column j of the matrix has been interchanged with column jpiv[j]. Array of dimension n, 0-based.