On Jan 15, 2009, at 7:53 PM, Ben Webb wrote:
> Daniel Russel wrote: >> I'd like to compute a SVD in IMP, so we need to revisit the question >> of linear algebra packages. The two main options as I see it are: >> 1) using some big blas implementation through boost.ublas's >> bindings. The >> advantages are that operations will then be really fast. The >> disadvantages are that is is a bit complicated and introduces an >> (easy, since basically all systems have some blas library >> installed) external dependency. >> 2) use TNT. The advantages are that is is header only and has a >> nice license so we can hide it away internally. On the flip side, >> we can't count on it being installed so we have to hide it away >> internally, and it isn't the best implementation of things. It is >> also a bit limited (but SVD can solve all problems :-). >> Unless there are counter proposals, I'll stick a copy of TNT in >> somewhere. > > TNT sounds good to me. I'll create an 'algebra' IMP module to put it > in. Javi also has some matrix code that would sensibly live in this > module. Do we want to module to just have the algebra or to have restraints and things which use the algebra code? I would vote for the former. Also, Rotation3D and Transformation3D should probably go there.