
Me: Just #include this and use types called floatvec2 and floatmat2x2 and + and * just work.
my cosmetic and artistic opinion about that: with ublas, you can do that: #include <boost/ numeric/ublas/matrix.hpp> // this is not needed but it's useful to have them #include <boost/ numeric/ublas/io.hpp> #include <boost/ numeric/ublas/assignment.hpp> int main() { fixed_matrix<double,3,3> m1; m1 <<= 1,2,3 4,5,6, 7,8,9; cout << m1 << endl; } And personally, I find fixed_matrix<double,3,3> to be easier to remember and more explicit to use than floatvec2 or dblmat2x2 or whatever else. And I don't have to look into the doc, if I can't remember if the matrix name was DblMat2x2 or double_mat2_2... or Matrix2D ? (no, it's not the same library).