
Hi, Let us assume that r = rank(C) < N (1) where C is a symmetric NxN matrix. This implies that the number of non-zero eigenvalues of C is r. Because C is a symmetric matrix there exists an orthogonal matrix U whose columns are the eigenvectors of C such that U^\top C U = [ d , O O , O]. (2) In the above equation d \in rxr is a diagonal matrix consisting of only the non-zero eigenvalues of C. For convenience, partition U as U = [U_1 | U_2] (3) where the columns of U_1 (Nxr) are the eigenvectors corresponding to the non-zero block d and the columns of U_2 are the eigenvectors corresponding to the rest (N-r) number of zero eigenvalues. Defining a rectangular transformation matrix R = U_1 (4) it is easy to show that R^\top C R = d. (5) Therefore, the matrix R in equation (4) transforms the originally rank deficient matrix C to a full-rank (diagonal) matrix of rank r. I am looking for an efficient Numpy implementation of this transformation. Thanks in advance Nils Wagner

Use LinearAlgebra.singular_value_decomposition -----Original Message----- From: numpy-discussion-admin@lists.sourceforge.net [mailto:numpy-discussion-admin@lists.sourceforge.net] On Behalf Of Nils Wagner Sent: Tuesday, October 30, 2001 12:24 AM To: numpy-discussion@lists.sourceforge.net Subject: [Numpy-discussion] Rank deficient matrices Hi, Let us assume that r = rank(C) < N (1) where C is a symmetric NxN matrix. This implies that the number of non-zero eigenvalues of C is r. Because C is a symmetric matrix there exists an orthogonal matrix U whose columns are the eigenvectors of C such that U^\top C U = [ d , O O , O]. (2) In the above equation d \in rxr is a diagonal matrix consisting of only the non-zero eigenvalues of C. For convenience, partition U as U = [U_1 | U_2] (3) where the columns of U_1 (Nxr) are the eigenvectors corresponding to the non-zero block d and the columns of U_2 are the eigenvectors corresponding to the rest (N-r) number of zero eigenvalues. Defining a rectangular transformation matrix R = U_1 (4) it is easy to show that R^\top C R = d. (5) Therefore, the matrix R in equation (4) transforms the originally rank deficient matrix C to a full-rank (diagonal) matrix of rank r. I am looking for an efficient Numpy implementation of this transformation. Thanks in advance Nils Wagner _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion

Use LinearAlgebra.singular_value_decomposition -----Original Message----- From: numpy-discussion-admin@lists.sourceforge.net [mailto:numpy-discussion-admin@lists.sourceforge.net] On Behalf Of Nils Wagner Sent: Tuesday, October 30, 2001 12:24 AM To: numpy-discussion@lists.sourceforge.net Subject: [Numpy-discussion] Rank deficient matrices Hi, Let us assume that r = rank(C) < N (1) where C is a symmetric NxN matrix. This implies that the number of non-zero eigenvalues of C is r. Because C is a symmetric matrix there exists an orthogonal matrix U whose columns are the eigenvectors of C such that U^\top C U = [ d , O O , O]. (2) In the above equation d \in rxr is a diagonal matrix consisting of only the non-zero eigenvalues of C. For convenience, partition U as U = [U_1 | U_2] (3) where the columns of U_1 (Nxr) are the eigenvectors corresponding to the non-zero block d and the columns of U_2 are the eigenvectors corresponding to the rest (N-r) number of zero eigenvalues. Defining a rectangular transformation matrix R = U_1 (4) it is easy to show that R^\top C R = d. (5) Therefore, the matrix R in equation (4) transforms the originally rank deficient matrix C to a full-rank (diagonal) matrix of rank r. I am looking for an efficient Numpy implementation of this transformation. Thanks in advance Nils Wagner _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion
participants (2)
-
Nils Wagner
-
Paul F. Dubois