aboutsummaryrefslogtreecommitdiff
path: root/SRC
diff options
context:
space:
mode:
authorjulielangou <julie@cs.utk.edu>2016-10-11 16:42:42 -0700
committerGitHub <noreply@github.com>2016-10-11 16:42:42 -0700
commitf1753a0de871a87552cfa84f1b0c1ad4c9ce18d6 (patch)
treeb703b5cfd4ff4f931d7fd8ea4d8b1c60b59d2503 /SRC
parente8eceb0f355009a0bef0a25305cba29734f465ee (diff)
parenta0bc3aa7ab247616315b05982832bcaab85145ad (diff)
Merge pull request #64 from cconrads-scicomp/xORCSD2BY1-doc
Doc: describe 2-by-1 CSD identity matrix dimension Close #27
Diffstat (limited to 'SRC')
-rw-r--r--SRC/cuncsd2by1.f7
-rw-r--r--SRC/dorcsd2by1.f9
-rw-r--r--SRC/sorcsd2by1.f7
-rw-r--r--SRC/zuncsd2by1.f7
4 files changed, 16 insertions, 14 deletions
diff --git a/SRC/cuncsd2by1.f b/SRC/cuncsd2by1.f
index 511a14f2..1ce57400 100644
--- a/SRC/cuncsd2by1.f
+++ b/SRC/cuncsd2by1.f
@@ -47,18 +47,19 @@
*> orthonormal columns that has been partitioned into a 2-by-1 block
*> structure:
*>
-*> [ I 0 0 ]
+*> [ I1 0 0 ]
*> [ 0 C 0 ]
*> [ X11 ] [ U1 | ] [ 0 0 0 ]
*> X = [-----] = [---------] [----------] V1**T .
*> [ X21 ] [ | U2 ] [ 0 0 0 ]
*> [ 0 S 0 ]
-*> [ 0 0 I ]
+*> [ 0 0 I2]
*>
*> X11 is P-by-Q. The unitary matrices U1, U2, and V1 are P-by-P,
*> (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R
*> nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which
-*> R = MIN(P,M-P,Q,M-Q).
+*> R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a
+*> K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).
*>
*> \endverbatim
*
diff --git a/SRC/dorcsd2by1.f b/SRC/dorcsd2by1.f
index 2f2f1561..8542a2ed 100644
--- a/SRC/dorcsd2by1.f
+++ b/SRC/dorcsd2by1.f
@@ -39,25 +39,24 @@
*> =============
*>
*>\verbatim
-*> Purpose:
-*> ========
*>
*> DORCSD2BY1 computes the CS decomposition of an M-by-Q matrix X with
*> orthonormal columns that has been partitioned into a 2-by-1 block
*> structure:
*>
-*> [ I 0 0 ]
+*> [ I1 0 0 ]
*> [ 0 C 0 ]
*> [ X11 ] [ U1 | ] [ 0 0 0 ]
*> X = [-----] = [---------] [----------] V1**T .
*> [ X21 ] [ | U2 ] [ 0 0 0 ]
*> [ 0 S 0 ]
-*> [ 0 0 I ]
+*> [ 0 0 I2]
*>
*> X11 is P-by-Q. The orthogonal matrices U1, U2, and V1 are P-by-P,
*> (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R
*> nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which
-*> R = MIN(P,M-P,Q,M-Q).
+*> R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a
+*> K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).
*> \endverbatim
*
* Arguments:
diff --git a/SRC/sorcsd2by1.f b/SRC/sorcsd2by1.f
index 1121e4c4..4fdf9aa8 100644
--- a/SRC/sorcsd2by1.f
+++ b/SRC/sorcsd2by1.f
@@ -44,18 +44,19 @@
*> orthonormal columns that has been partitioned into a 2-by-1 block
*> structure:
*>
-*> [ I 0 0 ]
+*> [ I1 0 0 ]
*> [ 0 C 0 ]
*> [ X11 ] [ U1 | ] [ 0 0 0 ]
*> X = [-----] = [---------] [----------] V1**T .
*> [ X21 ] [ | U2 ] [ 0 0 0 ]
*> [ 0 S 0 ]
-*> [ 0 0 I ]
+*> [ 0 0 I2]
*>
*> X11 is P-by-Q. The orthogonal matrices U1, U2, and V1 are P-by-P,
*> (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R
*> nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which
-*> R = MIN(P,M-P,Q,M-Q).
+*> R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a
+*> K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).
*> \endverbatim
*
* Arguments:
diff --git a/SRC/zuncsd2by1.f b/SRC/zuncsd2by1.f
index a322f2a1..a0955295 100644
--- a/SRC/zuncsd2by1.f
+++ b/SRC/zuncsd2by1.f
@@ -47,18 +47,19 @@
*> orthonormal columns that has been partitioned into a 2-by-1 block
*> structure:
*>
-*> [ I 0 0 ]
+*> [ I1 0 0 ]
*> [ 0 C 0 ]
*> [ X11 ] [ U1 | ] [ 0 0 0 ]
*> X = [-----] = [---------] [----------] V1**T .
*> [ X21 ] [ | U2 ] [ 0 0 0 ]
*> [ 0 S 0 ]
-*> [ 0 0 I ]
+*> [ 0 0 I2]
*>
*> X11 is P-by-Q. The unitary matrices U1, U2, and V1 are P-by-P,
*> (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R
*> nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which
-*> R = MIN(P,M-P,Q,M-Q).
+*> R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a
+*> K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).
*> \endverbatim
*
* Arguments: