-
Notifications
You must be signed in to change notification settings - Fork 134
API Changes
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.