Just like the name implies, this project is a miniature matrix math library that's designed for a very small size.
It focuses on minimal external dependencies and being thoroughly tested and can be used for embedded applications as well as more powerful systems.
This isn't a highly platform specific optimized library. It also isn't designed to be used on GPU or multi core systems.
- It's a good example of how matrix operations can be done in C code.
- A very well tested library.
- Decently space efficient.
- Reasonably performant.
For the dynamic memory of the matrices instead of using arrays of pointers the matrix cells are contiguous chunks of memory that is allocated in a single step.
This avoids dealing with having multiple allocation function calls for arrays. Another benefit is it simplifies freeing the memory after use.
The columns are in order to start. So if you were to index directly into the matrix you would find at the value of column_length + 1 you would be indexing the zeroth element of the second column or [1, 0].
TODO: Add list of project links where used.
How To run Tests:
echo "1" | ./otto.sh- Add dynamic matrix types.
- Add static matrix types.
- Add module for loading matx format files.
- Add matrix file format to load matricies.