Open artemus-tech opened 4 years ago
Hi there,
Thanks for opening the issue. Have you tried using the PseudoInverse function instead? It should use the SVD, which is more costly, but may be a bit more precise if your matrix is near-singular.
Regards, Cesar
Yeah, I've cheked it to. Result is worst.
I mean, is any way to use in calculation precision around 18 digits after point, or that is double type limitation which is used by Accord.net? Because numpy allow it ant it's result more closely to the truth.
Well, you can try to invert it using decimal instead of double. But I am not sure it will work. I believe this problem may be more related to the original algorithm implementations in alglib and JAMA rather than just an issue with floating-point precision...
Please let me know if it works with decimal types, though!
Hello. I have troubles with inverse matrix calculation file of my matrix in attach [F100000000000.txt](https://github.com/accord-net/framework/files/4878499/F100000000000.txt)
So
f.Inverse()
That's very unlikely what should be as a result. I've made several tests:I can't understand why, but numpy provide the best result, it should be changed) I don't want to use python.runtime.dll magic etc.
I can conclude that wrong results not directly bounds to the library itself. Perhaps the main reason it's precision, or round error. So I have additional question - how can I increase precision of calculation, for example additional 4 digits.