This release brings NuMojo onto Mojo v1.0.0 and does some spring cleaning :): we removed the standalone Matrix type, everything it did now lives on NDArray (matmul, inv, solve, lu_decomposition, det, trace, axis-aware sort/argsort/sum). If your code imports numojo.Matrix, swap to NDArray, or for pure 2D matrix work, check out our other project linamo.
Highlights:
- First building blocks for device-agnostic arrays: a new (experimental)
AcceleratorNDArray, basic GPU arithmetic, and a GPUsumkernel. We will continue working on this and rename it toNDArrayonce the API settles! - Broadcasting for
NDArray. - A big batch of indexing/search routines: fancy indexing,
where,nonzero,take,put, N-Ddiagonal,searchsorted,unravel_index,ravel_multi_index, pluscolumn_stack/concatenate/hstack/vstack/row_stack. - A round of memory-safety fixes around unsafe pointer access, squashes some ASAP-destruction pointer-free bugs.
Full details in the changelog.
Thanks to everyone who contributed code, tests, and issue reports. If you hit anything on v0.10.0, let us know here or open an issue. If you are interested in contributing, please join our discord!