I have a need for a matrix exponential function. I’ve implemented one using the Hipparchus RealMatrix classes and I’d like to contribute it into the project, assuming that I didn’t overlook an existing implementation.
So I have two questions:
I’ve translated the C++ Eigen implementation, so is that going to be OK from a licensing perspective?
Where is an appropriate place to put it? I was thinking a static method in the MatrixUtils class?
No, it’s not. Eigen is published under the terms of the MPL2 license (see http://eigen.tuxfamily.org/index.php?title=Main_Page#License, which is a weak copyleft type, whereas Hipparchus is published under the terms of the Apache V2 license which is a permissive type. So a clean-room implementation or an implementation derived for another type of software license would be needed.