ggbak#

Functions

void sggbak(
    const char*          job,
    const char*          side,
    const INT            n,
    const INT            ilo,
    const INT            ihi,
    const f32*  restrict lscale,
    const f32*  restrict rscale,
    const INT            m,
          f32*  restrict V,
    const INT            ldv,
          INT*           info
);
void sggbak(const char *job, const char *side, const INT n, const INT ilo, const INT ihi, const f32 *restrict lscale, const f32 *restrict rscale, const INT m, f32 *restrict V, const INT ldv, INT *info)#

SGGBAK forms the right or left eigenvectors of a real generalized eigenvalue problem A*x = lambda*B*x, by backward transformation on the computed eigenvectors of the balanced pair of matrices output by SGGBAL.

Parameters

in
job

Specifies the type of backward transformation required: = ‘N’: do nothing, return immediately; = ‘P’: do backward transformation for permutation only; = ‘S’: do backward transformation for scaling only; = ‘B’: do backward transformations for both permutation and scaling. JOB must be the same as the argument JOB supplied to SGGBAL.

in
side

= ‘R’: V contains right eigenvectors; = ‘L’: V contains left eigenvectors.

in
n

The number of rows of the matrix V. n >= 0.

in
ilo

The integers ILO and IHI determined by SGGBAL. 0 <= ILO <= IHI <= N-1, if N > 0; ILO=0 and IHI=-1, if N=0.

in
ihi

See ILO.

in
lscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the left side of A and B, as returned by SGGBAL.

in
rscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the right side of A and B, as returned by SGGBAL.

in
m

The number of columns of the matrix V. m >= 0.

inout
V

Array of dimension (ldv, m). On entry, the matrix of right or left eigenvectors to be transformed, as returned by STGEVC. On exit, V is overwritten by the transformed eigenvectors.

in
ldv

The leading dimension of V. ldv >= max(1,n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value.

Functions

void dggbak(
    const char*          job,
    const char*          side,
    const INT            n,
    const INT            ilo,
    const INT            ihi,
    const f64*  restrict lscale,
    const f64*  restrict rscale,
    const INT            m,
          f64*  restrict V,
    const INT            ldv,
          INT*           info
);
void dggbak(const char *job, const char *side, const INT n, const INT ilo, const INT ihi, const f64 *restrict lscale, const f64 *restrict rscale, const INT m, f64 *restrict V, const INT ldv, INT *info)#

DGGBAK forms the right or left eigenvectors of a real generalized eigenvalue problem A*x = lambda*B*x, by backward transformation on the computed eigenvectors of the balanced pair of matrices output by DGGBAL.

Parameters

in
job

Specifies the type of backward transformation required: = ‘N’: do nothing, return immediately; = ‘P’: do backward transformation for permutation only; = ‘S’: do backward transformation for scaling only; = ‘B’: do backward transformations for both permutation and scaling. JOB must be the same as the argument JOB supplied to DGGBAL.

in
side

= ‘R’: V contains right eigenvectors; = ‘L’: V contains left eigenvectors.

in
n

The number of rows of the matrix V. n >= 0.

in
ilo

The integers ILO and IHI determined by DGGBAL. 0 <= ILO <= IHI <= N-1, if N > 0; ILO=0 and IHI=-1, if N=0.

in
ihi

See ILO.

in
lscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the left side of A and B, as returned by DGGBAL.

in
rscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the right side of A and B, as returned by DGGBAL.

in
m

The number of columns of the matrix V. m >= 0.

inout
V

Array of dimension (ldv, m). On entry, the matrix of right or left eigenvectors to be transformed, as returned by DTGEVC. On exit, V is overwritten by the transformed eigenvectors.

in
ldv

The leading dimension of V. ldv >= max(1,n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value.

Functions

void cggbak(
    const char*          job,
    const char*          side,
    const INT            n,
    const INT            ilo,
    const INT            ihi,
    const f32*  restrict lscale,
    const f32*  restrict rscale,
    const INT            m,
          c64*  restrict V,
    const INT            ldv,
          INT*           info
);
void cggbak(const char *job, const char *side, const INT n, const INT ilo, const INT ihi, const f32 *restrict lscale, const f32 *restrict rscale, const INT m, c64 *restrict V, const INT ldv, INT *info)#

CGGBAK forms the right or left eigenvectors of a complex generalized eigenvalue problem A*x = lambda*B*x, by backward transformation on the computed eigenvectors of the balanced pair of matrices output by CGGBAL.

Parameters

in
job

Specifies the type of backward transformation required: = ‘N’: do nothing, return immediately; = ‘P’: do backward transformation for permutation only; = ‘S’: do backward transformation for scaling only; = ‘B’: do backward transformations for both permutation and scaling. JOB must be the same as the argument JOB supplied to CGGBAL.

in
side

= ‘R’: V contains right eigenvectors; = ‘L’: V contains left eigenvectors.

in
n

The number of rows of the matrix V. n >= 0.

in
ilo

The integers ILO and IHI determined by CGGBAL. 0 <= ILO <= IHI <= N-1, if N > 0; ILO=0 and IHI=-1, if N=0.

in
ihi

See ILO.

in
lscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the left side of A and B, as returned by CGGBAL.

in
rscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the right side of A and B, as returned by CGGBAL.

in
m

The number of columns of the matrix V. m >= 0.

inout
V

Array of dimension (ldv, m). On entry, the matrix of right or left eigenvectors to be transformed, as returned by CTGEVC. On exit, V is overwritten by the transformed eigenvectors.

in
ldv

The leading dimension of V. ldv >= max(1,n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value.

Functions

void zggbak(
    const char*          job,
    const char*          side,
    const INT            n,
    const INT            ilo,
    const INT            ihi,
    const f64*  restrict lscale,
    const f64*  restrict rscale,
    const INT            m,
          c128* restrict V,
    const INT            ldv,
          INT*           info
);
void zggbak(const char *job, const char *side, const INT n, const INT ilo, const INT ihi, const f64 *restrict lscale, const f64 *restrict rscale, const INT m, c128 *restrict V, const INT ldv, INT *info)#

ZGGBAK forms the right or left eigenvectors of a complex generalized eigenvalue problem A*x = lambda*B*x, by backward transformation on the computed eigenvectors of the balanced pair of matrices output by ZGGBAL.

Parameters

in
job

Specifies the type of backward transformation required: = ‘N’: do nothing, return immediately; = ‘P’: do backward transformation for permutation only; = ‘S’: do backward transformation for scaling only; = ‘B’: do backward transformations for both permutation and scaling. JOB must be the same as the argument JOB supplied to ZGGBAL.

in
side

= ‘R’: V contains right eigenvectors; = ‘L’: V contains left eigenvectors.

in
n

The number of rows of the matrix V. n >= 0.

in
ilo

The integers ILO and IHI determined by ZGGBAL. 0 <= ILO <= IHI <= N-1, if N > 0; ILO=0 and IHI=-1, if N=0.

in
ihi

See ILO.

in
lscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the left side of A and B, as returned by ZGGBAL.

in
rscale

Array of dimension (n). Details of the permutations and/or scaling factors applied to the right side of A and B, as returned by ZGGBAL.

in
m

The number of columns of the matrix V. m >= 0.

inout
V

Array of dimension (ldv, m). On entry, the matrix of right or left eigenvectors to be transformed, as returned by ZTGEVC. On exit, V is overwritten by the transformed eigenvectors.

in
ldv

The leading dimension of V. ldv >= max(1,n).

out
info

  • = 0: successful exit

  • < 0: if info = -i, the i-th argument had an illegal value.