eigen decomposition not yet implemented?
I'm trying to perform an eigen decomposition of a simple matrix
(eigen [[10 2] [2 10]])
I get an error
ExceptionInfo TODO: Not yet implemented: (mp/eigen m options) for class mikera.matrixx.Matrix clojure.core/ex-info (core.clj:4617)
is this really the case? How else can I get the eigen decomposition of a matrix.
Use an implementation that has eigendecomposition implemented.
(set-current-implementation :vectorz) should work if you use the Vectorz implementation. I think Clatrix works too.
I was using :vectorz implementation when this error message was produced.
Ah sorry I see that Eigendecomposition is not fully implemented yet for vectorz. There are complexities around the handling of complex numbers.... do you need compex eigenvalues?
I'd be more than happy with just real eigenvalues implemented for now :) That's all I need for my purposes
bump
I too would like eigendecomposition for real matrices. It looks like clatrix is abandoned.
Or, is there a better supported core.matrix implementation you'd recommend switching to?
Ah, and I see the issue with the Vectorz backend is that the library itself doesn't yet provide eigendecomposition. Was hoping it was as easy as uncommenting out the wrapper code in vectorz-clj.
eigen is still not working
An alternative is to use svd from clojure.core.matrix.linear
One can transform the results from svd to eigendecomposition
Or, using clatrix will be fine too.