erleben / OpenTissue

OpenTissue is a collection of generic algorithms and data structures for rapid development of interactive modeling and simulation.
http://www.opentissue.org
95 stars 26 forks source link

Replace current matrix library #18

Open ricortiz opened 4 years ago

ricortiz commented 4 years ago

Replace the matrix library with an OT based API that can plug to other matrix libraries defaulting to Eigen3.

erleben commented 4 years ago

I am very good at going for a generic interface and having an eigen3 back-end.

Over time we replaced our matrix libraries like 4 or 5 times. It has been quite invasive to existing code, to rewrite types and replacing operations. Having a well-defined interface for working with fixed size sparse blocked matrices would make it so easy to replace and optimize matrix library without having to break the actual simulation methods/algorithms.

Eigen3 is, in my opinion, a very good choice, it works well with pybind11/numpy, and would prepare OT for a possible future python wrapper.