Context: For both work and side-projects, I use Python libraries such as NumPy, SciPy, and PyTorch. While I am able to apply them in practice, I lack knowledge about their core functionalities and implementation details. I am curious to know if the algorithms for large array computing and auto-diff are already solved problems or if ongoing research is being conducted in these areas. For instance, if I were to implement a NumPy-like library based on WASM that could run in a browser, would the algorithm used be similar to that of the core NumPy, or would there be differences (excluding the runtime and hardware specifics)?
Question: I'm interested in spending some time implementing a simplified numerical library in C or Rust that mirrors NumPy, and possibly JAX, depending on its complexity. However, I'm not sure where to start.