gsvj1#

Functions

void sgsvj1(
    const char*          jobv,
    const INT            m,
    const INT            n,
    const INT            n1,
          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 sgsvj1(const char *jobv, const INT m, const INT n, const INT n1, 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)#

SGSVJ1 is called from SGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as SGESVJ does, but it targets only particular pivots and it does not check convergence (stopping criterion).

SGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^T * A.

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.

in
n1

First n1 columns are rotated against remaining n-n1.

inout
A

Array (lda, n). On entry, M-by-N matrix. On exit, post-multiplied by rotations.

in
lda

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

inout
D

Array (n). Scaling factors.

inout
SVA

Array (n). Euclidean norms of columns.

in
mv

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

inout
V

Array (ldv, n). Accumulates rotations if requested.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon.

in
sfmin

Safe minimum.

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps.

out
work

Workspace of dimension lwork.

in
lwork

lwork >= m.

out
info

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

Functions

void dgsvj1(
    const char*          jobv,
    const INT            m,
    const INT            n,
    const INT            n1,
          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 dgsvj1(const char *jobv, const INT m, const INT n, const INT n1, 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)#

DGSVJ1 is called from DGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as DGESVJ does, but it targets only particular pivots and it does not check convergence (stopping criterion).

DGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^T * A.

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.

in
n1

First n1 columns are rotated against remaining n-n1.

inout
A

Array (lda, n). On entry, M-by-N matrix. On exit, post-multiplied by rotations.

in
lda

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

inout
D

Array (n). Scaling factors.

inout
SVA

Array (n). Euclidean norms of columns.

in
mv

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

inout
V

Array (ldv, n). Accumulates rotations if requested.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon.

in
sfmin

Safe minimum.

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps.

out
work

Workspace of dimension lwork.

in
lwork

lwork >= m.

out
info

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

Functions

void cgsvj1(
    const char*          jobv,
    const INT            m,
    const INT            n,
    const INT            n1,
          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 cgsvj1(const char *jobv, const INT m, const INT n, const INT n1, 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)#

CGSVJ1 is called from CGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as CGESVJ does, but it targets only particular pivots and it does not check convergence (stopping criterion).

CGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^H * A.

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.

in
n1

First n1 columns are rotated against remaining n-n1.

inout
A

Complex*16 array (lda, n). On entry, M-by-N matrix. On exit, post-multiplied by rotations.

in
lda

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

inout
D

Complex*16 array (n). Scaling factors.

inout
SVA

Single precision array (n). Euclidean norms of columns.

in
mv

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

inout
V

Complex*16 array (ldv, n). Accumulates rotations if requested.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon.

in
sfmin

Safe minimum.

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps.

out
work

Complex*16 workspace of dimension lwork.

in
lwork

lwork >= m.

out
info

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

Functions

void zgsvj1(
    const char*          jobv,
    const INT            m,
    const INT            n,
    const INT            n1,
          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 zgsvj1(const char *jobv, const INT m, const INT n, const INT n1, 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)#

ZGSVJ1 is called from ZGESVJ as a pre-processor.

It applies Jacobi rotations in the same way as ZGESVJ does, but it targets only particular pivots and it does not check convergence (stopping criterion).

ZGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^H * A.

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.

in
n1

First n1 columns are rotated against remaining n-n1.

inout
A

Complex*16 array (lda, n). On entry, M-by-N matrix. On exit, post-multiplied by rotations.

in
lda

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

inout
D

Complex*16 array (n). Scaling factors.

inout
SVA

Double precision array (n). Euclidean norms of columns.

in
mv

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

inout
V

Complex*16 array (ldv, n). Accumulates rotations if requested.

in
ldv

Leading dimension of V.

in
eps

Machine epsilon.

in
sfmin

Safe minimum.

in
tol

Threshold for Jacobi rotations.

in
nsweep

Number of sweeps.

out
work

Complex*16 workspace of dimension lwork.

in
lwork

lwork >= m.

out
info

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