table of contents
gsvj0(3) | Library Functions Manual | gsvj0(3) |
NAME¶
gsvj0 - gsvj0: step in gesvj
SYNOPSIS¶
Functions¶
subroutine CGSVJ0 (jobv, m, n, a, lda, d, sva, mv, v, ldv,
eps, sfmin, tol, nsweep, work, lwork, info)
CGSVJ0 pre-processor for the routine cgesvj. subroutine DGSVJ0
(jobv, m, n, a, lda, d, sva, mv, v, ldv, eps, sfmin, tol, nsweep, work,
lwork, info)
DGSVJ0 pre-processor for the routine dgesvj. subroutine SGSVJ0
(jobv, m, n, a, lda, d, sva, mv, v, ldv, eps, sfmin, tol, nsweep, work,
lwork, info)
SGSVJ0 pre-processor for the routine sgesvj. subroutine ZGSVJ0
(jobv, m, n, a, lda, d, sva, mv, v, ldv, eps, sfmin, tol, nsweep, work,
lwork, info)
ZGSVJ0 pre-processor for the routine zgesvj.
Detailed Description¶
Function Documentation¶
subroutine CGSVJ0 (character*1 jobv, integer m, integer n, complex, dimension( lda, * ) a, integer lda, complex, dimension( n ) d, real, dimension( n ) sva, integer mv, complex, dimension( ldv, * ) v, integer ldv, real eps, real sfmin, real tol, integer nsweep, complex, dimension( lwork ) work, integer lwork, integer info)¶
CGSVJ0 pre-processor for the routine cgesvj.
Purpose:
!> !> CGSVJ0 is called from CGESVJ as a pre-processor and that is its main !> purpose. It applies Jacobi rotations in the same way as CGESVJ does, but !> it does not check convergence (stopping criterion). Few tuning !> parameters (marked by [TP]) are available for the implementer. !>
Parameters
!> JOBV is CHARACTER*1 !> Specifies whether the output from this procedure is used !> to compute the matrix V: !> = 'V': the product of the Jacobi rotations is accumulated !> by postmultiplying the N-by-N array V. !> (See the description of V.) !> = 'A': the product of the Jacobi rotations is accumulated !> by postmultiplying the MV-by-N array V. !> (See the descriptions of MV and V.) !> = 'N': the Jacobi rotations are not accumulated. !>
M
!> M is INTEGER !> The number of rows of the input matrix A. M >= 0. !>
N
!> N is INTEGER !> The number of columns of the input matrix A. !> M >= N >= 0. !>
A
!> A is COMPLEX array, dimension (LDA,N) !> On entry, M-by-N matrix A, such that A*diag(D) represents !> the input matrix. !> On exit, !> A_onexit * diag(D_onexit) represents the input matrix A*diag(D) !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of D, TOL and NSWEEP.) !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !>
D
!> D is COMPLEX array, dimension (N) !> The array D accumulates the scaling factors from the complex scaled !> Jacobi rotations. !> On entry, A*diag(D) represents the input matrix. !> On exit, A_onexit*diag(D_onexit) represents the input matrix !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of A, TOL and NSWEEP.) !>
SVA
!> SVA is REAL array, dimension (N) !> On entry, SVA contains the Euclidean norms of the columns of !> the matrix A*diag(D). !> On exit, SVA contains the Euclidean norms of the columns of !> the matrix A_onexit*diag(D_onexit). !>
MV
!> MV is INTEGER !> If JOBV = 'A', then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then MV is not referenced. !>
V
!> V is COMPLEX array, dimension (LDV,N) !> If JOBV = 'V' then N rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'A' then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then V is not referenced. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V, LDV >= 1. !> If JOBV = 'V', LDV >= N. !> If JOBV = 'A', LDV >= MV. !>
EPS
!> EPS is REAL !> EPS = SLAMCH('Epsilon') !>
SFMIN
!> SFMIN is REAL !> SFMIN = SLAMCH('Safe Minimum') !>
TOL
!> TOL is REAL !> TOL is the threshold for Jacobi rotations. For a pair !> A(:,p), A(:,q) of pivot columns, the Jacobi rotation is !> applied only if ABS(COS(angle(A(:,p),A(:,q)))) > TOL. !>
NSWEEP
!> NSWEEP is INTEGER !> NSWEEP is the number of sweeps of Jacobi rotations to be !> performed. !>
WORK
!> WORK is COMPLEX array, dimension (LWORK) !>
LWORK
!> LWORK is INTEGER !> LWORK is the dimension of WORK. LWORK >= M. !>
INFO
!> INFO is INTEGER !> = 0: successful exit. !> < 0: if INFO = -i, then the i-th argument had an illegal value !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
Contributor:
Bugs, Examples and Comments:
Definition at line 216 of file cgsvj0.f.
subroutine DGSVJ0 (character*1 jobv, integer m, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( n ) d, double precision, dimension( n ) sva, integer mv, double precision, dimension( ldv, * ) v, integer ldv, double precision eps, double precision sfmin, double precision tol, integer nsweep, double precision, dimension( lwork ) work, integer lwork, integer info)¶
DGSVJ0 pre-processor for the routine dgesvj.
Purpose:
!> !> DGSVJ0 is called from DGESVJ as a pre-processor and that is its main !> purpose. It applies Jacobi rotations in the same way as DGESVJ does, but !> it does not check convergence (stopping criterion). Few tuning !> parameters (marked by [TP]) are available for the implementer. !>
Parameters
!> JOBV is CHARACTER*1 !> Specifies whether the output from this procedure is used !> to compute the matrix V: !> = 'V': the product of the Jacobi rotations is accumulated !> by postmultiplying the N-by-N array V. !> (See the description of V.) !> = 'A': the product of the Jacobi rotations is accumulated !> by postmultiplying the MV-by-N array V. !> (See the descriptions of MV and V.) !> = 'N': the Jacobi rotations are not accumulated. !>
M
!> M is INTEGER !> The number of rows of the input matrix A. M >= 0. !>
N
!> N is INTEGER !> The number of columns of the input matrix A. !> M >= N >= 0. !>
A
!> A is DOUBLE PRECISION array, dimension (LDA,N) !> On entry, M-by-N matrix A, such that A*diag(D) represents !> the input matrix. !> On exit, !> A_onexit * D_onexit represents the input matrix A*diag(D) !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of D, TOL and NSWEEP.) !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !>
D
!> D is DOUBLE PRECISION array, dimension (N) !> The array D accumulates the scaling factors from the fast scaled !> Jacobi rotations. !> On entry, A*diag(D) represents the input matrix. !> On exit, A_onexit*diag(D_onexit) represents the input matrix !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of A, TOL and NSWEEP.) !>
SVA
!> SVA is DOUBLE PRECISION array, dimension (N) !> On entry, SVA contains the Euclidean norms of the columns of !> the matrix A*diag(D). !> On exit, SVA contains the Euclidean norms of the columns of !> the matrix onexit*diag(D_onexit). !>
MV
!> MV is INTEGER !> If JOBV = 'A', then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then MV is not referenced. !>
V
!> V is DOUBLE PRECISION array, dimension (LDV,N) !> If JOBV = 'V' then N rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'A' then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then V is not referenced. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V, LDV >= 1. !> If JOBV = 'V', LDV >= N. !> If JOBV = 'A', LDV >= MV. !>
EPS
!> EPS is DOUBLE PRECISION !> EPS = DLAMCH('Epsilon') !>
SFMIN
!> SFMIN is DOUBLE PRECISION !> SFMIN = DLAMCH('Safe Minimum') !>
TOL
!> TOL is DOUBLE PRECISION !> TOL is the threshold for Jacobi rotations. For a pair !> A(:,p), A(:,q) of pivot columns, the Jacobi rotation is !> applied only if DABS(COS(angle(A(:,p),A(:,q)))) > TOL. !>
NSWEEP
!> NSWEEP is INTEGER !> NSWEEP is the number of sweeps of Jacobi rotations to be !> performed. !>
WORK
!> WORK is DOUBLE PRECISION array, dimension (LWORK) !>
LWORK
!> LWORK is INTEGER !> LWORK is the dimension of WORK. LWORK >= M. !>
INFO
!> INFO is INTEGER !> = 0: successful exit. !> < 0: if INFO = -i, then the i-th argument had an illegal value !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
Contributors:
Bugs, Examples and Comments:
Definition at line 216 of file dgsvj0.f.
subroutine SGSVJ0 (character*1 jobv, integer m, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( n ) d, real, dimension( n ) sva, integer mv, real, dimension( ldv, * ) v, integer ldv, real eps, real sfmin, real tol, integer nsweep, real, dimension( lwork ) work, integer lwork, integer info)¶
SGSVJ0 pre-processor for the routine sgesvj.
Purpose:
!> !> SGSVJ0 is called from SGESVJ as a pre-processor and that is its main !> purpose. It applies Jacobi rotations in the same way as SGESVJ does, but !> it does not check convergence (stopping criterion). Few tuning !> parameters (marked by [TP]) are available for the implementer. !>
Parameters
!> JOBV is CHARACTER*1 !> Specifies whether the output from this procedure is used !> to compute the matrix V: !> = 'V': the product of the Jacobi rotations is accumulated !> by postmultiplying the N-by-N array V. !> (See the description of V.) !> = 'A': the product of the Jacobi rotations is accumulated !> by postmultiplying the MV-by-N array V. !> (See the descriptions of MV and V.) !> = 'N': the Jacobi rotations are not accumulated. !>
M
!> M is INTEGER !> The number of rows of the input matrix A. M >= 0. !>
N
!> N is INTEGER !> The number of columns of the input matrix A. !> M >= N >= 0. !>
A
!> A is REAL array, dimension (LDA,N) !> On entry, M-by-N matrix A, such that A*diag(D) represents !> the input matrix. !> On exit, !> A_onexit * D_onexit represents the input matrix A*diag(D) !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of D, TOL and NSWEEP.) !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !>
D
!> D is REAL array, dimension (N) !> The array D accumulates the scaling factors from the fast scaled !> Jacobi rotations. !> On entry, A*diag(D) represents the input matrix. !> On exit, A_onexit*diag(D_onexit) represents the input matrix !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of A, TOL and NSWEEP.) !>
SVA
!> SVA is REAL array, dimension (N) !> On entry, SVA contains the Euclidean norms of the columns of !> the matrix A*diag(D). !> On exit, SVA contains the Euclidean norms of the columns of !> the matrix onexit*diag(D_onexit). !>
MV
!> MV is INTEGER !> If JOBV = 'A', then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then MV is not referenced. !>
V
!> V is REAL array, dimension (LDV,N) !> If JOBV = 'V' then N rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'A' then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then V is not referenced. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V, LDV >= 1. !> If JOBV = 'V', LDV >= N. !> If JOBV = 'A', LDV >= MV. !>
EPS
!> EPS is REAL !> EPS = SLAMCH('Epsilon') !>
SFMIN
!> SFMIN is REAL !> SFMIN = SLAMCH('Safe Minimum') !>
TOL
!> TOL is REAL !> TOL is the threshold for Jacobi rotations. For a pair !> A(:,p), A(:,q) of pivot columns, the Jacobi rotation is !> applied only if ABS(COS(angle(A(:,p),A(:,q)))) > TOL. !>
NSWEEP
!> NSWEEP is INTEGER !> NSWEEP is the number of sweeps of Jacobi rotations to be !> performed. !>
WORK
!> WORK is REAL array, dimension (LWORK) !>
LWORK
!> LWORK is INTEGER !> LWORK is the dimension of WORK. LWORK >= M. !>
INFO
!> INFO is INTEGER !> = 0: successful exit. !> < 0: if INFO = -i, then the i-th argument had an illegal value !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
Contributors:
Bugs, Examples and Comments:
Definition at line 216 of file sgsvj0.f.
subroutine ZGSVJ0 (character*1 jobv, integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( n ) d, double precision, dimension( n ) sva, integer mv, complex*16, dimension( ldv, * ) v, integer ldv, double precision eps, double precision sfmin, double precision tol, integer nsweep, complex*16, dimension( lwork ) work, integer lwork, integer info)¶
ZGSVJ0 pre-processor for the routine zgesvj.
Purpose:
!> !> ZGSVJ0 is called from ZGESVJ as a pre-processor and that is its main !> purpose. It applies Jacobi rotations in the same way as ZGESVJ does, but !> it does not check convergence (stopping criterion). Few tuning !> parameters (marked by [TP]) are available for the implementer. !>
Parameters
!> JOBV is CHARACTER*1 !> Specifies whether the output from this procedure is used !> to compute the matrix V: !> = 'V': the product of the Jacobi rotations is accumulated !> by postmultiplying the N-by-N array V. !> (See the description of V.) !> = 'A': the product of the Jacobi rotations is accumulated !> by postmultiplying the MV-by-N array V. !> (See the descriptions of MV and V.) !> = 'N': the Jacobi rotations are not accumulated. !>
M
!> M is INTEGER !> The number of rows of the input matrix A. M >= 0. !>
N
!> N is INTEGER !> The number of columns of the input matrix A. !> M >= N >= 0. !>
A
!> A is COMPLEX*16 array, dimension (LDA,N) !> On entry, M-by-N matrix A, such that A*diag(D) represents !> the input matrix. !> On exit, !> A_onexit * diag(D_onexit) represents the input matrix A*diag(D) !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of D, TOL and NSWEEP.) !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !>
D
!> D is COMPLEX*16 array, dimension (N) !> The array D accumulates the scaling factors from the complex scaled !> Jacobi rotations. !> On entry, A*diag(D) represents the input matrix. !> On exit, A_onexit*diag(D_onexit) represents the input matrix !> post-multiplied by a sequence of Jacobi rotations, where the !> rotation threshold and the total number of sweeps are given in !> TOL and NSWEEP, respectively. !> (See the descriptions of A, TOL and NSWEEP.) !>
SVA
!> SVA is DOUBLE PRECISION array, dimension (N) !> On entry, SVA contains the Euclidean norms of the columns of !> the matrix A*diag(D). !> On exit, SVA contains the Euclidean norms of the columns of !> the matrix A_onexit*diag(D_onexit). !>
MV
!> MV is INTEGER !> If JOBV = 'A', then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then MV is not referenced. !>
V
!> V is COMPLEX*16 array, dimension (LDV,N) !> If JOBV = 'V' then N rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'A' then MV rows of V are post-multiplied by a !> sequence of Jacobi rotations. !> If JOBV = 'N', then V is not referenced. !>
LDV
!> LDV is INTEGER !> The leading dimension of the array V, LDV >= 1. !> If JOBV = 'V', LDV >= N. !> If JOBV = 'A', LDV >= MV. !>
EPS
!> EPS is DOUBLE PRECISION !> EPS = DLAMCH('Epsilon') !>
SFMIN
!> SFMIN is DOUBLE PRECISION !> SFMIN = DLAMCH('Safe Minimum') !>
TOL
!> TOL is DOUBLE PRECISION !> TOL is the threshold for Jacobi rotations. For a pair !> A(:,p), A(:,q) of pivot columns, the Jacobi rotation is !> applied only if ABS(COS(angle(A(:,p),A(:,q)))) > TOL. !>
NSWEEP
!> NSWEEP is INTEGER !> NSWEEP is the number of sweeps of Jacobi rotations to be !> performed. !>
WORK
!> WORK is COMPLEX*16 array, dimension (LWORK) !>
LWORK
!> LWORK is INTEGER !> LWORK is the dimension of WORK. LWORK >= M. !>
INFO
!> INFO is INTEGER !> = 0: successful exit. !> < 0: if INFO = -i, then the i-th argument had an illegal value !>
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Further Details:
Contributor: Zlatko Drmac (Zagreb, Croatia)
Bugs, Examples and Comments:
Definition at line 216 of file zgsvj0.f.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Version 3.12.0 | LAPACK |