Closed ghost closed 9 months ago
What do you mean by "broken links"? Your example is not.
I wonder what we should seek as a goal?
You showed that 1. is wrong (at least compared to Julia), but what about 2. ?
The example page has this link in the first bit:
https://github.com/lutzroeder/Mapack/blob/master/Source/CholeskyDecomposition.cs
which fails at least here. Same for the rest of the decompositions.
Yes, I don't have much to say respect 1 or 2.
In some cases though, that difference in sign may amplify (for example in Multidimensional Scaling, or anything that requires taking the square root of n
number of eigenvalues.)
Checking if 2 is wrong takes more time, but I don't mind doing it. Probably comparing with other implementations before.
In python, the result is (by eye seems very close):
[
2.59763127e+05,
7.29535756e+04,
-2.96168637e+03,
1.75997807e-01,
7.12407669e+02
]
Still it's not enough, but an indication maybe.
The example page has this link in the first bit:
https://github.com/lutzroeder/Mapack/blob/master/Source/CholeskyDecomposition.cs
which fails at least here. Same for the rest of the decompositions.
I guess the repo has unfortunately been deleted.
Here is a fork. Can't say if it contains the same code that I saw at the time: https://github.com/Seveland12/mapack
We may need to update some links, example here to the source so that anyone fixing the code can find it.
Difference of EVD compared to Julia language.
This is just a comparison, and shows minor differences in the output. They may be unimportant.
Julia code. EVD example:
Returns:
Whereas we get one different value (although most of them differ in the first decimal.)
The imaginary part is consistent with a symmetric matrix (
[ 0, 0, 0, 0, 0 ]
)