Hello, I wanted to see my idea through to the end and I have updated my library to make the data container generic (https://bitbucket.org/fpicarougne/template-matrix-library). I got a little inspired from QVM but with a different implementation as you can see in the code. Now, the matrix library is independent from the storage, you can use predefined storages (see CMat.h for dense storage with SDenseStorage or SProxyArrayStorage in order to use a C array given by the user) but also built your own by derived (CRTP) from SStorage. For example, getting a column or a submatrix of a matrix is very easy. This make all the matrix operations independent from the storage type, and all the methods are usable if you have predefined basic operators (+, * ...). I admit that you can do quite the same thing with QVM, but I my opinion, factorization of methods is very easy with the architecture of my library because of inheritance. See test.cpp for a usage example. What do you think about this? Is it of interest to you? Fabien