Summary
In this chapter, we completed our tool belt when it comes to building Python extensions in Rust by using Python modules in our Rust code. We got a deeper appreciation for modules such as NumPy by exploring matrix mathematics to create a simple mathematical model. This showed us that we use modules such as NumPy for other functionality such as matrix multiplication, as opposed to just using NumPy for speed. This was demonstrated when we manipulated multiple mathematical equations with a few lines of NumPy code and matrix logic.
We then used matrix NumPy multiplication functions in our Rust code to recreate our mathematical model using a flexible functional programming approach. We finished this off by making our interface in a Python class. We also must remember that the NumPy implementation was faster than our Rust code. This is partly down to poor implementation on our part and the C optimization in NumPy. This has shown us that while Rust is a lot faster than Python, solving...