Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ endif

lapack-test :
(cd $(NETLIB_LAPACK_DIR)/TESTING && rm -f x* *.out)
$(MAKE) -j 1 -C $(NETLIB_LAPACK_DIR)/TESTING/EIG xeigtstc xeigtstd xeigtsts xeigtstz test_cgges3_scaling test_sgges3_scaling test_dgges3_scaling test_zgges3_scaling
$(MAKE) -j 1 -C $(NETLIB_LAPACK_DIR)/TESTING/EIG xeigtstc xeigtstd xeigtsts xeigtstz test_cgges3_scaling test_sgges3_scaling test_dgges3_scaling test_zgges3_scaling test_cgesvj_emptsw test_dgesvj_emptsw test_sgesvj_emptsw test_zgesvj_emptsw

$(MAKE) -j 1 -C $(NETLIB_LAPACK_DIR)/TESTING/LIN xlintstc xlintstd xlintstds xlintstrfd xlintstrfz xlintsts xlintstz xlintstzc xlintstrfs xlintstrfc

Expand Down
2 changes: 1 addition & 1 deletion lapack-netlib/SRC/cgesvj.c
Original file line number Diff line number Diff line change
Expand Up @@ -1087,7 +1087,7 @@ f"> */

/* Row-cyclic Jacobi SVD algorithm with column pivoting */

emptsw = *n * (*n - 1) / 2;
emptsw = (*n / 2) * (*n - 1 + *n % 2);
notrot = 0;
i__1 = *n;
for (q = 1; q <= i__1; ++q) {
Expand Down
2 changes: 1 addition & 1 deletion lapack-netlib/SRC/cgesvj.f
Original file line number Diff line number Diff line change
Expand Up @@ -714,7 +714,7 @@ SUBROUTINE CGESVJ( JOBA, JOBU, JOBV, M, N, A, LDA, SVA, MV, V,
*
* Row-cyclic Jacobi SVD algorithm with column pivoting
*
EMPTSW = ( N*( N-1 ) ) / 2
EMPTSW = ( N / 2 )*( N-1 + MOD( N, 2 ) )
NOTROT = 0

DO 1868 q = 1, N
Expand Down
2 changes: 1 addition & 1 deletion lapack-netlib/SRC/cgsvj0.c
Original file line number Diff line number Diff line change
Expand Up @@ -638,7 +638,7 @@ f"> */
roottol = sqrt(*tol);


emptsw = *n * (*n - 1) / 2;
emptsw = (*n / 2) * (*n - 1 + *n % 2);
notrot = 0;


Expand Down
51 changes: 32 additions & 19 deletions lapack-netlib/SRC/cgsvj0.f
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@
* Online html documentation available at
* http://www.netlib.org/lapack/explore-html/
*
*> \htmlonly
*> Download CGSVJ0 + dependencies
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/cgsvj0.f">
*> [TGZ]</a>
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/cgsvj0.f">
*> [ZIP]</a>
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/cgsvj0.f">
*> [TXT]</a>
*> \endhtmlonly
*
* Definition:
* ===========
Expand Down Expand Up @@ -193,7 +191,7 @@
*> \author Univ. of Colorado Denver
*> \author NAG Ltd.
*
*> \ingroup complexOTHERcomputational
*> \ingroup gsvj0
*
*> \par Further Details:
* =====================
Expand Down Expand Up @@ -321,7 +319,7 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
*
* .. Row-cyclic Jacobi SVD algorithm with column pivoting ..
*
EMPTSW = ( N*( N-1 ) ) / 2
EMPTSW = ( N / 2 )*( N-1 + MOD( N, 2 ) )
NOTROT = 0
*
* .. Row-cyclic pivot strategy with de Rijk's pivoting ..
Expand Down Expand Up @@ -499,7 +497,8 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
T = HALF / THETA
CS = ONE

CALL CROT( M, A(1,p), 1, A(1,q), 1,
CALL CROT( M, A(1,p), 1, A(1,q),
$ 1,
$ CS, CONJG(OMPQ)*T )
IF ( RSVEC ) THEN
CALL CROT( MVL, V(1,p), 1,
Expand Down Expand Up @@ -528,7 +527,8 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
AAPP = AAPP*SQRT( MAX( ZERO,
$ ONE-T*AQOAP*AAPQ1 ) )
*
CALL CROT( M, A(1,p), 1, A(1,q), 1,
CALL CROT( M, A(1,p), 1, A(1,q),
$ 1,
$ CS, CONJG(OMPQ)*SN )
IF ( RSVEC ) THEN
CALL CROT( MVL, V(1,p), 1,
Expand All @@ -541,14 +541,17 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
* .. have to use modified Gram-Schmidt like transformation
CALL CCOPY( M, A( 1, p ), 1,
$ WORK, 1 )
CALL CLASCL( 'G', 0, 0, AAPP, ONE, M,
CALL CLASCL( 'G', 0, 0, AAPP, ONE,
$ M,
$ 1, WORK, LDA,
$ IERR )
CALL CLASCL( 'G', 0, 0, AAQQ, ONE, M,
CALL CLASCL( 'G', 0, 0, AAQQ, ONE,
$ M,
$ 1, A( 1, q ), LDA, IERR )
CALL CAXPY( M, -AAPQ, WORK, 1,
$ A( 1, q ), 1 )
CALL CLASCL( 'G', 0, 0, ONE, AAQQ, M,
CALL CLASCL( 'G', 0, 0, ONE, AAQQ,
$ M,
$ 1, A( 1, q ), LDA, IERR )
SVA( q ) = AAQQ*SQRT( MAX( ZERO,
$ ONE-AAPQ1*AAPQ1 ) )
Expand All @@ -563,7 +566,8 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
$ THEN
IF( ( AAQQ.LT.ROOTBIG ) .AND.
$ ( AAQQ.GT.ROOTSFMIN ) ) THEN
SVA( q ) = SCNRM2( M, A( 1, q ), 1 )
SVA( q ) = SCNRM2( M, A( 1, q ),
$ 1 )
ELSE
T = ZERO
AAQQ = ONE
Expand Down Expand Up @@ -715,7 +719,8 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
IF( ABS( THETA ).GT.BIGTHETA ) THEN
T = HALF / THETA
CS = ONE
CALL CROT( M, A(1,p), 1, A(1,q), 1,
CALL CROT( M, A(1,p), 1, A(1,q),
$ 1,
$ CS, CONJG(OMPQ)*T )
IF( RSVEC ) THEN
CALL CROT( MVL, V(1,p), 1,
Expand All @@ -742,7 +747,8 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
AAPP = AAPP*SQRT( MAX( ZERO,
$ ONE-T*AQOAP*AAPQ1 ) )
*
CALL CROT( M, A(1,p), 1, A(1,q), 1,
CALL CROT( M, A(1,p), 1, A(1,q),
$ 1,
$ CS, CONJG(OMPQ)*SN )
IF( RSVEC ) THEN
CALL CROT( MVL, V(1,p), 1,
Expand All @@ -756,15 +762,18 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
IF( AAPP.GT.AAQQ ) THEN
CALL CCOPY( M, A( 1, p ), 1,
$ WORK, 1 )
CALL CLASCL( 'G', 0, 0, AAPP, ONE,
CALL CLASCL( 'G', 0, 0, AAPP,
$ ONE,
$ M, 1, WORK,LDA,
$ IERR )
CALL CLASCL( 'G', 0, 0, AAQQ, ONE,
CALL CLASCL( 'G', 0, 0, AAQQ,
$ ONE,
$ M, 1, A( 1, q ), LDA,
$ IERR )
CALL CAXPY( M, -AAPQ, WORK,
$ 1, A( 1, q ), 1 )
CALL CLASCL( 'G', 0, 0, ONE, AAQQ,
CALL CLASCL( 'G', 0, 0, ONE,
$ AAQQ,
$ M, 1, A( 1, q ), LDA,
$ IERR )
SVA( q ) = AAQQ*SQRT( MAX( ZERO,
Expand All @@ -773,15 +782,18 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
ELSE
CALL CCOPY( M, A( 1, q ), 1,
$ WORK, 1 )
CALL CLASCL( 'G', 0, 0, AAQQ, ONE,
CALL CLASCL( 'G', 0, 0, AAQQ,
$ ONE,
$ M, 1, WORK,LDA,
$ IERR )
CALL CLASCL( 'G', 0, 0, AAPP, ONE,
CALL CLASCL( 'G', 0, 0, AAPP,
$ ONE,
$ M, 1, A( 1, p ), LDA,
$ IERR )
CALL CAXPY( M, -CONJG(AAPQ),
$ WORK, 1, A( 1, p ), 1 )
CALL CLASCL( 'G', 0, 0, ONE, AAPP,
CALL CLASCL( 'G', 0, 0, ONE,
$ AAPP,
$ M, 1, A( 1, p ), LDA,
$ IERR )
SVA( p ) = AAPP*SQRT( MAX( ZERO,
Expand All @@ -797,7 +809,8 @@ SUBROUTINE CGSVJ0( JOBV, M, N, A, LDA, D, SVA, MV, V, LDV, EPS,
$ THEN
IF( ( AAQQ.LT.ROOTBIG ) .AND.
$ ( AAQQ.GT.ROOTSFMIN ) ) THEN
SVA( q ) = SCNRM2( M, A( 1, q ), 1)
SVA( q ) = SCNRM2( M, A( 1, q ),
$ 1)
ELSE
T = ZERO
AAQQ = ONE
Expand Down
2 changes: 1 addition & 1 deletion lapack-netlib/SRC/dgesvj.c
Original file line number Diff line number Diff line change
Expand Up @@ -992,7 +992,7 @@ f"> */

/* Row-cyclic Jacobi SVD algorithm with column pivoting */

emptsw = *n * (*n - 1) / 2;
emptsw = (*n / 2) * (*n - 1 + *n % 2);
notrot = 0;
fastr[0] = 0.;

Expand Down
2 changes: 1 addition & 1 deletion lapack-netlib/SRC/dgesvj.f
Original file line number Diff line number Diff line change
Expand Up @@ -695,7 +695,7 @@ SUBROUTINE DGESVJ( JOBA, JOBU, JOBV, M, N, A, LDA, SVA, MV, V,
*
* Row-cyclic Jacobi SVD algorithm with column pivoting
*
EMPTSW = ( N*( N-1 ) ) / 2
EMPTSW = ( N / 2 )*( N-1 + MOD( N, 2 ) )
NOTROT = 0
FASTR( 1 ) = ZERO
*
Expand Down
2 changes: 1 addition & 1 deletion lapack-netlib/SRC/dgsvj0.c
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,7 @@ f"> */

/* -#- Row-cyclic Jacobi SVD algorithm with column pivoting -#- */

emptsw = *n * (*n - 1) / 2;
emptsw = (*n / 2) * (*n - 1 + *n % 2);
notrot = 0;
fastr[0] = 0.;

Expand Down
Loading
Loading