summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--SRC/clahef.f14
-rw-r--r--SRC/clasyf.f70
-rw-r--r--SRC/dlasyf.f70
-rw-r--r--SRC/slasyf.f70
-rw-r--r--SRC/zlahef.f70
-rw-r--r--SRC/zlasyf.f70
6 files changed, 264 insertions, 100 deletions
diff --git a/SRC/clahef.f b/SRC/clahef.f
index e5175b39..5007928e 100644
--- a/SRC/clahef.f
+++ b/SRC/clahef.f
@@ -164,6 +164,16 @@
*
*> \ingroup complexHEcomputational
*
+*> \par Contributors:
+* ==================
+*>
+*> \verbatim
+*>
+*> November 2012, Igor Kozachenko,
+*> Computer Science Division,
+*> University of California, Berkeley
+*> \endverbatim
+*
* =====================================================================
SUBROUTINE CLAHEF( UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )
*
@@ -334,6 +344,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K - KSTEP + 1
@@ -646,6 +658,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K + KSTEP - 1
diff --git a/SRC/clasyf.f b/SRC/clasyf.f
index f847a496..c091dfd5 100644
--- a/SRC/clasyf.f
+++ b/SRC/clasyf.f
@@ -164,6 +164,16 @@
*
*> \ingroup complexSYcomputational
*
+*> \par Contributors:
+* ==================
+*>
+*> \verbatim
+*>
+*> November 2012, Igor Kozachenko,
+*> Computer Science Division,
+*> University of California, Berkeley
+*> \endverbatim
+*
* =====================================================================
SUBROUTINE CLASYF( UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )
*
@@ -325,6 +335,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K - KSTEP + 1
@@ -491,20 +503,28 @@
50 CONTINUE
*
* Put U12 in standard form by partially undoing the interchanges
-* in columns k+1:n
+* in columns k+1:n looping backwards from k+1 to n
*
J = K + 1
60 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J + 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length N-J+1
+* of the rows to swap back doesn't include diagonal element)
J = J + 1
- END IF
- J = J + 1
- IF( JP.NE.JJ .AND. J.LE.N )
- $ CALL CSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
- IF( J.LE.N )
+ IF( JP.NE.JJ .AND. J.LE.N )
+ $ CALL CSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
+ IF( J.LT.N )
$ GO TO 60
*
* Set KB to the number of columns factorized
@@ -609,6 +629,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K + KSTEP - 1
@@ -772,20 +794,28 @@
110 CONTINUE
*
* Put L21 in standard form by partially undoing the interchanges
-* in columns 1:k-1
+* of rows in columns 1:k-1 looping backwards from k-1 to 1
*
J = K - 1
120 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J - 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length J
+* of the rows to swap back doesn't include diagonal element)
J = J - 1
- END IF
- J = J - 1
- IF( JP.NE.JJ .AND. J.GE.1 )
- $ CALL CSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
- IF( J.GE.1 )
+ IF( JP.NE.JJ .AND. J.GE.1 )
+ $ CALL CSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
+ IF( J.GT.1 )
$ GO TO 120
*
* Set KB to the number of columns factorized
diff --git a/SRC/dlasyf.f b/SRC/dlasyf.f
index 20e62572..84a4a300 100644
--- a/SRC/dlasyf.f
+++ b/SRC/dlasyf.f
@@ -163,6 +163,16 @@
*
*> \ingroup doubleSYcomputational
*
+*> \par Contributors:
+* ==================
+*>
+*> \verbatim
+*>
+*> November 2012, Igor Kozachenko,
+*> Computer Science Division,
+*> University of California, Berkeley
+*> \endverbatim
+*
* =====================================================================
SUBROUTINE DLASYF( UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )
*
@@ -316,6 +326,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K - KSTEP + 1
@@ -482,20 +494,28 @@
50 CONTINUE
*
* Put U12 in standard form by partially undoing the interchanges
-* in columns k+1:n
+* in columns k+1:n looping backwards from k+1 to n
*
J = K + 1
60 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J + 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length N-J+1
+* of the rows to swap back doesn't include diagonal element)
J = J + 1
- END IF
- J = J + 1
- IF( JP.NE.JJ .AND. J.LE.N )
- $ CALL DSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
- IF( J.LE.N )
+ IF( JP.NE.JJ .AND. J.LE.N )
+ $ CALL DSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
+ IF( J.LT.N )
$ GO TO 60
*
* Set KB to the number of columns factorized
@@ -599,6 +619,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K + KSTEP - 1
@@ -762,20 +784,28 @@
110 CONTINUE
*
* Put L21 in standard form by partially undoing the interchanges
-* in columns 1:k-1
+* of rows in columns 1:k-1 looping backwards from k-1 to 1
*
J = K - 1
120 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J - 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length J
+* of the rows to swap back doesn't include diagonal element)
J = J - 1
- END IF
- J = J - 1
- IF( JP.NE.JJ .AND. J.GE.1 )
- $ CALL DSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
- IF( J.GE.1 )
+ IF( JP.NE.JJ .AND. J.GE.1 )
+ $ CALL DSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
+ IF( J.GT.1 )
$ GO TO 120
*
* Set KB to the number of columns factorized
diff --git a/SRC/slasyf.f b/SRC/slasyf.f
index d47b5f5b..d6fdfd3f 100644
--- a/SRC/slasyf.f
+++ b/SRC/slasyf.f
@@ -163,6 +163,16 @@
*
*> \ingroup realSYcomputational
*
+*> \par Contributors:
+* ==================
+*>
+*> \verbatim
+*>
+*> November 2012, Igor Kozachenko,
+*> Computer Science Division,
+*> University of California, Berkeley
+*> \endverbatim
+*
* =====================================================================
SUBROUTINE SLASYF( UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )
*
@@ -316,6 +326,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K - KSTEP + 1
@@ -482,20 +494,28 @@
50 CONTINUE
*
* Put U12 in standard form by partially undoing the interchanges
-* in columns k+1:n
+* in columns k+1:n looping backwards from k+1 to n
*
J = K + 1
60 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J + 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length N-J+1
+* of the rows to swap back doesn't include diagonal element)
J = J + 1
- END IF
- J = J + 1
- IF( JP.NE.JJ .AND. J.LE.N )
- $ CALL SSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
- IF( J.LE.N )
+ IF( JP.NE.JJ .AND. J.LE.N )
+ $ CALL SSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
+ IF( J.LT.N )
$ GO TO 60
*
* Set KB to the number of columns factorized
@@ -599,6 +619,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K + KSTEP - 1
@@ -762,20 +784,28 @@
110 CONTINUE
*
* Put L21 in standard form by partially undoing the interchanges
-* in columns 1:k-1
+* of rows in columns 1:k-1 looping backwards from k-1 to 1
*
J = K - 1
120 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J - 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length J
+* of the rows to swap back doesn't include diagonal element)
J = J - 1
- END IF
- J = J - 1
- IF( JP.NE.JJ .AND. J.GE.1 )
- $ CALL SSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
- IF( J.GE.1 )
+ IF( JP.NE.JJ .AND. J.GE.1 )
+ $ CALL SSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
+ IF( J.GT.1 )
$ GO TO 120
*
* Set KB to the number of columns factorized
diff --git a/SRC/zlahef.f b/SRC/zlahef.f
index 78e2957d..c552401c 100644
--- a/SRC/zlahef.f
+++ b/SRC/zlahef.f
@@ -164,6 +164,16 @@
*
*> \ingroup complex16HEcomputational
*
+*> \par Contributors:
+* ==================
+*>
+*> \verbatim
+*>
+*> November 2012, Igor Kozachenko,
+*> Computer Science Division,
+*> University of California, Berkeley
+*> \endverbatim
+*
* =====================================================================
SUBROUTINE ZLAHEF( UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )
*
@@ -334,6 +344,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K - KSTEP + 1
@@ -519,20 +531,28 @@
50 CONTINUE
*
* Put U12 in standard form by partially undoing the interchanges
-* in columns k+1:n
+* in columns k+1:n looping backwards from k+1 to n
*
J = K + 1
60 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J + 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length N-J+1
+* of the rows to swap back doesn't include diagonal element)
J = J + 1
- END IF
- J = J + 1
- IF( JP.NE.JJ .AND. J.LE.N )
- $ CALL ZSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
- IF( J.LE.N )
+ IF( JP.NE.JJ .AND. J.LE.N )
+ $ CALL ZSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
+ IF( J.LT.N )
$ GO TO 60
*
* Set KB to the number of columns factorized
@@ -646,6 +666,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K + KSTEP - 1
@@ -828,20 +850,28 @@
110 CONTINUE
*
* Put L21 in standard form by partially undoing the interchanges
-* in columns 1:k-1
+* of rows in columns 1:k-1 looping backwards from k-1 to 1
*
J = K - 1
120 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J - 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length J
+* of the rows to swap back doesn't include diagonal element)
J = J - 1
- END IF
- J = J - 1
- IF( JP.NE.JJ .AND. J.GE.1 )
- $ CALL ZSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
- IF( J.GE.1 )
+ IF( JP.NE.JJ .AND. J.GE.1 )
+ $ CALL ZSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
+ IF( J.GT.1 )
$ GO TO 120
*
* Set KB to the number of columns factorized
diff --git a/SRC/zlasyf.f b/SRC/zlasyf.f
index 59c1296b..a50b8cf1 100644
--- a/SRC/zlasyf.f
+++ b/SRC/zlasyf.f
@@ -164,6 +164,16 @@
*
*> \ingroup complex16SYcomputational
*
+*> \par Contributors:
+* ==================
+*>
+*> \verbatim
+*>
+*> November 2012, Igor Kozachenko,
+*> Computer Science Division,
+*> University of California, Berkeley
+*> \endverbatim
+*
* =====================================================================
SUBROUTINE ZLASYF( UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO )
*
@@ -325,6 +335,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K - KSTEP + 1
@@ -491,20 +503,28 @@
50 CONTINUE
*
* Put U12 in standard form by partially undoing the interchanges
-* in columns k+1:n
+* in columns k+1:n looping backwards from k+1 to n
*
J = K + 1
60 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J + 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length N-J+1
+* of the rows to swap back doesn't include diagonal element)
J = J + 1
- END IF
- J = J + 1
- IF( JP.NE.JJ .AND. J.LE.N )
- $ CALL ZSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
- IF( J.LE.N )
+ IF( JP.NE.JJ .AND. J.LE.N )
+ $ CALL ZSWAP( N-J+1, A( JP, J ), LDA, A( JJ, J ), LDA )
+ IF( J.LT.N )
$ GO TO 60
*
* Set KB to the number of columns factorized
@@ -609,6 +629,8 @@
END IF
END IF
*
+* ============================================================
+*
* KK is the column of A where pivoting step stopped
*
KK = K + KSTEP - 1
@@ -772,20 +794,28 @@
110 CONTINUE
*
* Put L21 in standard form by partially undoing the interchanges
-* in columns 1:k-1
+* of rows in columns 1:k-1 looping backwards from k-1 to 1
*
J = K - 1
120 CONTINUE
- JJ = J
- JP = IPIV( J )
- IF( JP.LT.0 ) THEN
- JP = -JP
+*
+* Undo the interchanges (if any) of rows JJ and JP at each
+* step J
+*
+* (Here, J is a diagonal index)
+ JJ = J
+ JP = IPIV( J )
+ IF( JP.LT.0 ) THEN
+ JP = -JP
+* (Here, J is a diagonal index)
+ J = J - 1
+ END IF
+* (NOTE: Here, J is used to determine row length. Length J
+* of the rows to swap back doesn't include diagonal element)
J = J - 1
- END IF
- J = J - 1
- IF( JP.NE.JJ .AND. J.GE.1 )
- $ CALL ZSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
- IF( J.GE.1 )
+ IF( JP.NE.JJ .AND. J.GE.1 )
+ $ CALL ZSWAP( J, A( JP, 1 ), LDA, A( JJ, 1 ), LDA )
+ IF( J.GT.1 )
$ GO TO 120
*
* Set KB to the number of columns factorized