@@ -55,7 +55,7 @@ | |||||
*> where: | *> where: | ||||
*> | *> | ||||
*> P(K) is an N-by-N permutation matrix; | *> P(K) is an N-by-N permutation matrix; | ||||
*> Q(K) is an M-by-M orthogonal matrix; | |||||
*> Q(K) is an M-by-M unitary matrix; | |||||
*> R(K)_approx = ( R11(K), R12(K) ) is a rank K approximation of the | *> R(K)_approx = ( R11(K), R12(K) ) is a rank K approximation of the | ||||
*> full rank factor R with K-by-K upper-triangular | *> full rank factor R with K-by-K upper-triangular | ||||
*> R11(K) and K-by-N rectangular R12(K). The diagonal | *> R11(K) and K-by-N rectangular R12(K). The diagonal | ||||
@@ -124,14 +124,14 @@ | |||||
*> d) RELMAXC2NRMK equals MAXC2NRMK divided by MAXC2NRM, the maximum | *> d) RELMAXC2NRMK equals MAXC2NRMK divided by MAXC2NRM, the maximum | ||||
*> column 2-norm of the original matrix A, which is equal | *> column 2-norm of the original matrix A, which is equal | ||||
*> to abs(R(1,1)), ( if K = min(M,N), RELMAXC2NRMK = 0.0 ); | *> to abs(R(1,1)), ( if K = min(M,N), RELMAXC2NRMK = 0.0 ); | ||||
*> e) Q(K)**H * B, the matrix B with the orthogonal | |||||
*> e) Q(K)**H * B, the matrix B with the unitary | |||||
*> transformation Q(K)**H applied on the left. | *> transformation Q(K)**H applied on the left. | ||||
*> | *> | ||||
*> The N-by-N permutation matrix P(K) is stored in a compact form in | *> The N-by-N permutation matrix P(K) is stored in a compact form in | ||||
*> the integer array JPIV. For 1 <= j <= N, column j | *> the integer array JPIV. For 1 <= j <= N, column j | ||||
*> of the matrix A was interchanged with column JPIV(j). | *> of the matrix A was interchanged with column JPIV(j). | ||||
*> | *> | ||||
*> The M-by-M orthogonal matrix Q is represented as a product | |||||
*> The M-by-M unitary matrix Q is represented as a product | |||||
*> of elementary Householder reflectors | *> of elementary Householder reflectors | ||||
*> | *> | ||||
*> Q(K) = H(1) * H(2) * . . . * H(K), | *> Q(K) = H(1) * H(2) * . . . * H(K), | ||||
@@ -300,7 +300,7 @@ | |||||
*> | *> | ||||
*> 1. The elements below the diagonal of the subarray | *> 1. The elements below the diagonal of the subarray | ||||
*> A(1:M,1:K) together with TAU(1:K) represent the | *> A(1:M,1:K) together with TAU(1:K) represent the | ||||
*> orthogonal matrix Q(K) as a product of K Householder | |||||
*> unitary matrix Q(K) as a product of K Householder | |||||
*> elementary reflectors. | *> elementary reflectors. | ||||
*> | *> | ||||
*> 2. The elements on and above the diagonal of | *> 2. The elements on and above the diagonal of | ||||
@@ -579,8 +579,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -178,7 +178,7 @@ | |||||
*> On exit: | *> On exit: | ||||
*> 1. The elements in block A(IOFFSET+1:M,1:K) below | *> 1. The elements in block A(IOFFSET+1:M,1:K) below | ||||
*> the diagonal together with the array TAU represent | *> the diagonal together with the array TAU represent | ||||
*> the orthogonal matrix Q(K) as a product of elementary | |||||
*> the unitary matrix Q(K) as a product of elementary | |||||
*> reflectors. | *> reflectors. | ||||
*> 2. The upper triangular block of the matrix A stored | *> 2. The upper triangular block of the matrix A stored | ||||
*> in A(IOFFSET+1:M,1:K) is the triangular factor obtained. | *> in A(IOFFSET+1:M,1:K) is the triangular factor obtained. | ||||
@@ -332,8 +332,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -196,7 +196,7 @@ | |||||
*> On exit: | *> On exit: | ||||
*> 1. The elements in block A(IOFFSET+1:M,1:KB) below | *> 1. The elements in block A(IOFFSET+1:M,1:KB) below | ||||
*> the diagonal together with the array TAU represent | *> the diagonal together with the array TAU represent | ||||
*> the orthogonal matrix Q(KB) as a product of elementary | |||||
*> the unitary matrix Q(KB) as a product of elementary | |||||
*> reflectors. | *> reflectors. | ||||
*> 2. The upper triangular block of the matrix A stored | *> 2. The upper triangular block of the matrix A stored | ||||
*> in A(IOFFSET+1:M,1:KB) is the triangular factor obtained. | *> in A(IOFFSET+1:M,1:KB) is the triangular factor obtained. | ||||
@@ -383,8 +383,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -573,8 +573,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -331,8 +331,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -389,8 +389,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -573,8 +573,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -331,8 +331,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -389,8 +389,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -55,7 +55,7 @@ | |||||
*> where: | *> where: | ||||
*> | *> | ||||
*> P(K) is an N-by-N permutation matrix; | *> P(K) is an N-by-N permutation matrix; | ||||
*> Q(K) is an M-by-M orthogonal matrix; | |||||
*> Q(K) is an M-by-M unitary matrix; | |||||
*> R(K)_approx = ( R11(K), R12(K) ) is a rank K approximation of the | *> R(K)_approx = ( R11(K), R12(K) ) is a rank K approximation of the | ||||
*> full rank factor R with K-by-K upper-triangular | *> full rank factor R with K-by-K upper-triangular | ||||
*> R11(K) and K-by-N rectangular R12(K). The diagonal | *> R11(K) and K-by-N rectangular R12(K). The diagonal | ||||
@@ -124,14 +124,14 @@ | |||||
*> d) RELMAXC2NRMK equals MAXC2NRMK divided by MAXC2NRM, the maximum | *> d) RELMAXC2NRMK equals MAXC2NRMK divided by MAXC2NRM, the maximum | ||||
*> column 2-norm of the original matrix A, which is equal | *> column 2-norm of the original matrix A, which is equal | ||||
*> to abs(R(1,1)), ( if K = min(M,N), RELMAXC2NRMK = 0.0 ); | *> to abs(R(1,1)), ( if K = min(M,N), RELMAXC2NRMK = 0.0 ); | ||||
*> e) Q(K)**H * B, the matrix B with the orthogonal | |||||
*> e) Q(K)**H * B, the matrix B with the unitary | |||||
*> transformation Q(K)**H applied on the left. | *> transformation Q(K)**H applied on the left. | ||||
*> | *> | ||||
*> The N-by-N permutation matrix P(K) is stored in a compact form in | *> The N-by-N permutation matrix P(K) is stored in a compact form in | ||||
*> the integer array JPIV. For 1 <= j <= N, column j | *> the integer array JPIV. For 1 <= j <= N, column j | ||||
*> of the matrix A was interchanged with column JPIV(j). | *> of the matrix A was interchanged with column JPIV(j). | ||||
*> | *> | ||||
*> The M-by-M orthogonal matrix Q is represented as a product | |||||
*> The M-by-M unitary matrix Q is represented as a product | |||||
*> of elementary Householder reflectors | *> of elementary Householder reflectors | ||||
*> | *> | ||||
*> Q(K) = H(1) * H(2) * . . . * H(K), | *> Q(K) = H(1) * H(2) * . . . * H(K), | ||||
@@ -300,7 +300,7 @@ | |||||
*> | *> | ||||
*> 1. The elements below the diagonal of the subarray | *> 1. The elements below the diagonal of the subarray | ||||
*> A(1:M,1:K) together with TAU(1:K) represent the | *> A(1:M,1:K) together with TAU(1:K) represent the | ||||
*> orthogonal matrix Q(K) as a product of K Householder | |||||
*> unitary matrix Q(K) as a product of K Householder | |||||
*> elementary reflectors. | *> elementary reflectors. | ||||
*> | *> | ||||
*> 2. The elements on and above the diagonal of | *> 2. The elements on and above the diagonal of | ||||
@@ -579,8 +579,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -178,7 +178,7 @@ | |||||
*> On exit: | *> On exit: | ||||
*> 1. The elements in block A(IOFFSET+1:M,1:K) below | *> 1. The elements in block A(IOFFSET+1:M,1:K) below | ||||
*> the diagonal together with the array TAU represent | *> the diagonal together with the array TAU represent | ||||
*> the orthogonal matrix Q(K) as a product of elementary | |||||
*> the unitary matrix Q(K) as a product of elementary | |||||
*> reflectors. | *> reflectors. | ||||
*> 2. The upper triangular block of the matrix A stored | *> 2. The upper triangular block of the matrix A stored | ||||
*> in A(IOFFSET+1:M,1:K) is the triangular factor obtained. | *> in A(IOFFSET+1:M,1:K) is the triangular factor obtained. | ||||
@@ -332,8 +332,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||
@@ -196,7 +196,7 @@ | |||||
*> On exit: | *> On exit: | ||||
*> 1. The elements in block A(IOFFSET+1:M,1:KB) below | *> 1. The elements in block A(IOFFSET+1:M,1:KB) below | ||||
*> the diagonal together with the array TAU represent | *> the diagonal together with the array TAU represent | ||||
*> the orthogonal matrix Q(KB) as a product of elementary | |||||
*> the unitary matrix Q(KB) as a product of elementary | |||||
*> reflectors. | *> reflectors. | ||||
*> 2. The upper triangular block of the matrix A stored | *> 2. The upper triangular block of the matrix A stored | ||||
*> in A(IOFFSET+1:M,1:KB) is the triangular factor obtained. | *> in A(IOFFSET+1:M,1:KB) is the triangular factor obtained. | ||||
@@ -383,8 +383,8 @@ | |||||
*> \verbatim | *> \verbatim | ||||
*> | *> | ||||
*> November 2023, Igor Kozachenko, James Demmel, | *> November 2023, Igor Kozachenko, James Demmel, | ||||
*> Computer Science Division, | |||||
*> University of California, Berkeley | |||||
*> EECS Department, | |||||
*> University of California, Berkeley, USA. | |||||
*> | *> | ||||
*> \endverbatim | *> \endverbatim | ||||
* | * | ||||