koma
koma copied to clipboard
Make top-level functions non-specific to a particular primitive type.
Right now the top-level koma functions often assume that we are dealing with double-valued matrices. For some cases this is a reasonable default, for example zeros(3,3)
creates a double-valued matrix in numpy as it does in koma. However, other methods such as cos(someMatrix)
in matrixfuncs.kt
could easily be overloaded to handle different matrix primitive types. The top-level functions should probably be reworked to not be tied to Double as much as possible.
for example zeros(3,3) creates a double-valued matrix in numpy as it does in koma
Numpy also makes it easy to create arrays of other types. np.zeros((3, 3), dtype=np.float)
. Creating double arrays is just a default that you can override with one extra argument.
Koma also does this. You can write
zeros(3, 3, MatrixTypes.FloatType)
See here. The goal was to mimic the behavior of numpy but remain safely typed.