gsvj0#

Functions

void sgsvj0(
    const char*          jobv,
    const INT            m,
    const INT            n,
          f32*  restrict A,
    const INT            lda,
          f32*  restrict D,
          f32*  restrict SVA,
    const INT            mv,
          f32*  restrict V,
    const INT            ldv,
    const f32            eps,
    const f32            sfmin,
    const f32            tol,
    const INT            nsweep,
          f32*  restrict work,
    const INT            lwork,
          INT*           info
);
void sgsvj0(const char *jobv, const INT m, const INT n, f32 *restrict A, const INT lda, f32 *restrict D, f32 *restrict SVA, const INT mv, f32 *restrict V, const INT ldv, const f32 eps, const f32 sfmin, const f32 tol, const INT nsweep, f32 *restrict work, const INT lwork, INT *info)#

SGSVJ0 is called from SGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as SGESVJ does, but it does not check convergence (stopping criterion). Few tuning parameters are available for the implementer.

Parameters

in
jobv

= ‘V’: accumulate rotations by postmultiplying N-by-N V. = ‘A’: accumulate rotations by postmultiplying MV-by-N V. = ‘N’: do not accumulate rotations.

in
m

Number of rows of A. m >= 0.

in
n

Number of columns of A. m >= n >= 0.

inout
A

Array (lda, n). On entry, M-by-N matrix such that A*diag(D) represents the input. On exit, post-multiplied by rotations.

in
lda

Leading dimension of A. lda >= max(1,m).

inout
D

Array (n). Scaling factors from fast scaled Jacobi rotations.

inout
SVA

Array (n). Euclidean norms of columns of A*diag(D).

in
mv

If jobv=’A’, number of rows of V to post-multiply.

inout
V

Array (ldv, n). Accumulates rotations if jobv=’V’ or ‘A’.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon (slamch(‘E’)).

in
sfmin

Safe minimum (slamch(‘S’)).

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps of Jacobi rotations.

out
work

Workspace array of dimension lwork.

in
lwork

Dimension of work. lwork >= m.

out
info

  • = 0: success. < 0: illegal argument.

Functions

void dgsvj0(
    const char*          jobv,
    const INT            m,
    const INT            n,
          f64*  restrict A,
    const INT            lda,
          f64*  restrict D,
          f64*  restrict SVA,
    const INT            mv,
          f64*  restrict V,
    const INT            ldv,
    const f64            eps,
    const f64            sfmin,
    const f64            tol,
    const INT            nsweep,
          f64*  restrict work,
    const INT            lwork,
          INT*           info
);
void dgsvj0(const char *jobv, const INT m, const INT n, f64 *restrict A, const INT lda, f64 *restrict D, f64 *restrict SVA, const INT mv, f64 *restrict V, const INT ldv, const f64 eps, const f64 sfmin, const f64 tol, const INT nsweep, f64 *restrict work, const INT lwork, INT *info)#

DGSVJ0 is called from DGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as DGESVJ does, but it does not check convergence (stopping criterion). Few tuning parameters are available for the implementer.

Parameters

in
jobv

= ‘V’: accumulate rotations by postmultiplying N-by-N V. = ‘A’: accumulate rotations by postmultiplying MV-by-N V. = ‘N’: do not accumulate rotations.

in
m

Number of rows of A. m >= 0.

in
n

Number of columns of A. m >= n >= 0.

inout
A

Array (lda, n). On entry, M-by-N matrix such that A*diag(D) represents the input. On exit, post-multiplied by rotations.

in
lda

Leading dimension of A. lda >= max(1,m).

inout
D

Array (n). Scaling factors from fast scaled Jacobi rotations.

inout
SVA

Array (n). Euclidean norms of columns of A*diag(D).

in
mv

If jobv=’A’, number of rows of V to post-multiply.

inout
V

Array (ldv, n). Accumulates rotations if jobv=’V’ or ‘A’.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon (dlamch(‘E’)).

in
sfmin

Safe minimum (dlamch(‘S’)).

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps of Jacobi rotations.

out
work

Workspace array of dimension lwork.

in
lwork

Dimension of work. lwork >= m.

out
info

  • = 0: success. < 0: illegal argument.

Functions

void cgsvj0(
    const char*          jobv,
    const INT            m,
    const INT            n,
          c64*  restrict A,
    const INT            lda,
          c64*  restrict D,
          f32*  restrict SVA,
    const INT            mv,
          c64*  restrict V,
    const INT            ldv,
    const f32            eps,
    const f32            sfmin,
    const f32            tol,
    const INT            nsweep,
          c64*  restrict work,
    const INT            lwork,
          INT*           info
);
void cgsvj0(const char *jobv, const INT m, const INT n, c64 *restrict A, const INT lda, c64 *restrict D, f32 *restrict SVA, const INT mv, c64 *restrict V, const INT ldv, const f32 eps, const f32 sfmin, const f32 tol, const INT nsweep, c64 *restrict work, const INT lwork, INT *info)#

CGSVJ0 is called from CGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as CGESVJ does, but it does not check convergence (stopping criterion). Few tuning parameters are available for the implementer.

Parameters

in
jobv

= ‘V’: accumulate rotations by postmultiplying N-by-N V. = ‘A’: accumulate rotations by postmultiplying MV-by-N V. = ‘N’: do not accumulate rotations.

in
m

Number of rows of A. m >= 0.

in
n

Number of columns of A. m >= n >= 0.

inout
A

Complex*16 array (lda, n). On entry, M-by-N matrix such that A*diag(D) represents the input. On exit, post-multiplied by rotations.

in
lda

Leading dimension of A. lda >= max(1,m).

inout
D

Complex*16 array (n). Scaling factors from complex scaled Jacobi rotations.

inout
SVA

Single precision array (n). Euclidean norms of columns of A*diag(D).

in
mv

If jobv=’A’, number of rows of V to post-multiply.

inout
V

Complex*16 array (ldv, n). Accumulates rotations if jobv=’V’ or ‘A’.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon (slamch(‘E’)).

in
sfmin

Safe minimum (slamch(‘S’)).

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps of Jacobi rotations.

out
work

Complex*16 workspace array of dimension lwork.

in
lwork

Dimension of work. lwork >= m.

out
info

  • = 0: success. < 0: illegal argument.

Functions

void zgsvj0(
    const char*          jobv,
    const INT            m,
    const INT            n,
          c128* restrict A,
    const INT            lda,
          c128* restrict D,
          f64*  restrict SVA,
    const INT            mv,
          c128* restrict V,
    const INT            ldv,
    const f64            eps,
    const f64            sfmin,
    const f64            tol,
    const INT            nsweep,
          c128* restrict work,
    const INT            lwork,
          INT*           info
);
void zgsvj0(const char *jobv, const INT m, const INT n, c128 *restrict A, const INT lda, c128 *restrict D, f64 *restrict SVA, const INT mv, c128 *restrict V, const INT ldv, const f64 eps, const f64 sfmin, const f64 tol, const INT nsweep, c128 *restrict work, const INT lwork, INT *info)#

ZGSVJ0 is called from ZGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as ZGESVJ does, but it does not check convergence (stopping criterion). Few tuning parameters are available for the implementer.

Parameters

in
jobv

= ‘V’: accumulate rotations by postmultiplying N-by-N V. = ‘A’: accumulate rotations by postmultiplying MV-by-N V. = ‘N’: do not accumulate rotations.

in
m

Number of rows of A. m >= 0.

in
n

Number of columns of A. m >= n >= 0.

inout
A

Complex*16 array (lda, n). On entry, M-by-N matrix such that A*diag(D) represents the input. On exit, post-multiplied by rotations.

in
lda

Leading dimension of A. lda >= max(1,m).

inout
D

Complex*16 array (n). Scaling factors from complex scaled Jacobi rotations.

inout
SVA

Double precision array (n). Euclidean norms of columns of A*diag(D).

in
mv

If jobv=’A’, number of rows of V to post-multiply.

inout
V

Complex*16 array (ldv, n). Accumulates rotations if jobv=’V’ or ‘A’.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon (dlamch(‘E’)).

in
sfmin

Safe minimum (dlamch(‘S’)).

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps of Jacobi rotations.

out
work

Complex*16 workspace array of dimension lwork.

in
lwork

Dimension of work. lwork >= m.

out
info

  • = 0: success. < 0: illegal argument.