Closed hongtaicao closed 6 years ago
A1: I confirm there is a problem and will have look at it
A2: I believe it's standard behaviour to return matrices of the same (element) type as the original matrix. Since the eigenvalues can be complex it is also convenient to be able directly get as complex numbers.
A3: This is an open source project. You're welcome to contribute documentation. I believe the wiki is editable by anyone.
Please verify that the getEigenpair(int) now works:
https://github.com/optimatika/ojAlgo/tree/hotfix/EigenvalueProblems
If you verify this there shortly be a v45.1.1 release
Thank you.
The function getEigenpair(int index)
works as my expectation. It should be fixed.
v45.1.1, with this fix, is now released.
javadoc: Eigenvalue The example of a 3 by 3 matrix locates at the end of this post.
Q1.
getEigenpair(int index)
What does the parameter mean?
I assume
index
means the which eigenpair. For a 3 by 3 matrix, index should be in range [0, 2]. However, I got the following:getD()
returnsorg.ojalgo.matrix.store.RawStore < 3 x 3 >
getV()
returnsorg.ojalgo.matrix.store.GenericDenseStore < 3 x 3 >
getEigenpair(1)
throws the followingI think
destination.set(i, tmpV.doubleValue(i, index));
ofEigenvalue.java:254
calls the wrongset
function (Array1D.java:550).Q2
Why to have both
getEigenvalues()
v.s.getD()
for eigenvaluesgetEigenvectors()
v.s.getV()
for eigenvectors with different return types? Why doesgetD()
andgetV()
always return double when decomposing a real matrix? It's possible that the eigenvectors are complex.Q3
I want to request more documentation and example codes for common tasks.
Data