4 ms·
your question caused me to spend a little time comparing the two (NumPy, which i know quite well, and nd4j, which i don't know at all). so based on comparison,
by doug1001 10y ago
your question caused me to spend a little time comparing the two (NumPy, which i know quite well, and nd4j, which i don't know at all).
so based on comparison, it's clear the nd4j uses the key structural features of numpy arrays--linear buffers, strides, bit-wise and integer indexing, etc.--and the coincidence in the two APIs is also very high (eg, comparing the methods for a 2D NumPy array versus those for a 2D nd4j array).
in my view, this is an impressive project, both w/r/t the work done to date and w/r/t the impact on java and scala open-source communities. In Scala land for instance, the most widely used matrix computation library is Breeze, which i've never found easy to use. nd4j, in particular, the Scala bindings, nd4s, seem to me to be a substantial improvement both in architecture and in the api.