API Changes

Will Levine edited this page Aug 19, 2015 · 1 revision

Changes from 0.1.0 to 0.2.0

Remove NMatrix#getrf: This one doesn't make sense, because it's not really analogous to #getrf!, which returns the pivot array and replaces the original matrix with LU. #getrf just returns the LU part and throws away the pivot array.

Remove NMatrix#lu_decomposition!: This is an alias for #getrf!, but the name seems too similar to #factorize_lu which does a different thing. Remove to prevent confusion

Change #getrf!: The clapack_?getrf interface is strange and doesn't match the LAPACK spec. Make #getrf! match LAPACK rather than ATLAS CLAPACK. All the callers were confused about this anyway, so I think it's OK to change. This has the downside that it has to do a transpose before and after calling clapack_getrf, which uses extra memory, but on the hand, all of the callers were already doing this anyway.

Change #factorize_cholesky: The new version assumes that the matrix is symmetric and so only has to call #potrf! once. The old version called #potrf! twice, but still returned nonsense in the case that the matrix was non-symmetric.

Remove NMatrix::LAPACK.clapack_gesv: This has the same behavior as NMatrix#solve and also the name was deceiving since it didn't actually call gesv.

Remove NMatrix::LAPACK.clapack_posv: Doesn't actually call C functions clapack_?posv. Arguments difficult to interpret. Replaced by NMatrix::LAPACK.posv.

Change NMatrix::LAPACK.geev: The old version did not actually work properly. New behavior is described in the documentation.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.