|[eigen] skipXxx / computeXxx parameters in Eigenvalues module|
[ Thread Index |
| More lists.tuxfamily.org/eigen Archives
The SelfAdjointEigenSolver class allows for the computation of only the
eigenvalues and not the eigenvectors. This allows a non-trivial time
saving. My plan is to extend this functionality to the other eigensolvers
(this is not much work).
However, there is an API issue that I'd like some opinions about. The
compute() function in the SelfAdjointEigenSolver class has a bool argument
computeEigenvectors; the eigenvectors are computed iff it is true. The
compute() function in the Tridiagonalization class has a bool argument
extractQ; the matrix Q (which is analogous to the eigenvectors) is
computed iff it is true. However, the compute() function in the
ComplexSchur class has a bool argument skipU; the matrix U is computed iff
it is *false*.
I think this inconsistency is potentially confusing for the users. On the
other hand, changing it may break existing programs. So what to do?