593
2013-04-25 06:24:41 +0000
Decomposition table claims some decompositions are rank-revealing, even though they do not provide a rank() method.
2019-12-04 12:17:26 +0000
1
1
1
Unclassified
Eigen
General
unspecified
All
All
CONFIRMED
JuniorJob
Normal
Feature Request
---
60
1608
1
jim
eigen.nobody
chtz
gael.guennebaud
jacob.benoit.1
jitseniesen
netjoke.r.45
oldest_to_newest
2379
0
jim
2013-04-25 06:24:41 +0000
The page http://eigen.tuxfamily.org/dox/TutorialLinearAlgebra.html#TutorialLinAlgRankRevealing says:
> Certain decompositions are rank-revealing, i.e. are able to compute the rank of a matrix. These are typically also the decompositions that behave best in the face of a non-full-rank matrix (which in the square case means a singular matrix). On this table you can see for all our decompositions whether they are rank-revealing or not.
> Rank-revealing decompositions offer at least a rank() method.
The table is given at http://eigen.tuxfamily.org/dox/TopicLinearAlgebraDecompositions.html
Some of the decompositions given there that are claimed to be rank-revealing do not indeed have a rank() method, including e.g. SelfAdjointEigenSolver.
2431
1
gael.guennebaud
2013-06-10 13:19:25 +0000
Right, I guess this concerns all eigenvalues related algorithms.
3489
2
chtz
2014-06-20 11:11:38 +0000
The correct link is now:
http://eigen.tuxfamily.org/dox-devel/group__TopicLinearAlgebraDecompositions.html
I think adding rank() should be comparatively easy. Fixing this also requires
adding setThreshold()/threshold() methods.
4757
3
gael.guennebaud
2015-06-16 19:33:49 +0000
I'm not 100% sure about what to do with that entry. If I'm not mistaken, this only concerns eigenvalue decompositions, however, for them I really don't see the need for a rank() method. Perhaps we should rather update the documentation to completely split the table to better separate decompositions for linear solving and decomposition for eigenvalues problems. SVD would fit in the first category, even though it is highly related to the second...
4921
4
chtz
2015-08-19 19:36:15 +0000
Well, implementing this should be rather trivial -- but I see your point that this might encourage people to use this instead of simply using one of the pivoting QR-decompositions.
However, if someone needs an eigenvalue decomposition anyways, I see no reason to forbid extracting the rank (and kernel) of the matrix using this.
Perhaps, we can implement this, but warn in the documentation, that QR decomposition is much faster and SVD is more accurate if one needs to compute the rank of a matrix.
4940
5
gael.guennebaud
2015-09-02 07:10:51 +0000
Alright, let's go for it.
9037
6
eigen.nobody
2019-12-04 12:17:26 +0000
-- GitLab Migration Automatic Message --
This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/593.