Skip to content

Releases: jewettaij/jacobi_pd

now works with vector<vector<X>> and array<array<X,n>,n>

31 Jan 14:57
Compare
Choose a tag to compare

Perhaps it was premature of me to call the previous release "stable". The ability to use vector<vector> instead of X** was supposed to be working in v1.0.0, but the tests I wrote in the previous commit were failing to compile the way I thought they were, causing me to erroneously believe it working. Hopefully this release really is stable.

first stable release

31 Jan 04:32
Compare
Choose a tag to compare

jacobi_pd has fbeen tested for accuracy and memory safety under a wide range of matrix types, matrix sizes, eigenvalues (and compilers).

added unit tests for degenerate eigenvalues

30 Jan 04:48
Compare
Choose a tag to compare

additional tests were added forcing some of the eigenvalues to be identical, and checking that the resulting eigenvectors still behave like eigenvectors.

diagonalization no longer modifies the matrix you want to diagonalize

30 Jan 00:56
Compare
Choose a tag to compare

Invoking Jacobi::Diagonalize() no longer modifies the matrix you want to diagonalize. (Previous versions of this library did not allocate extra memory where intermediate calculations could be made and stored. Instead the actual matrix was used causing it to be erased during the diagonalization process. The current version allocates an array to store these intermediate calculations. This incurs a small cost because the contents of the original matrix must be copied into this array at the beginning of Jacobi::Diagonalize(). However I believe this additional cost is neglegible.)

initial release

24 Jan 18:14
Compare
Choose a tag to compare

The code is working now on arbitrary-size matrices. I still have not checked for memory leaks. The code appears to be fast, but I have not profiled it yet.