Hi Joseph,
we have the same issue in our lab, and each time I start a new project I kick myself for not pushing this feature during the Eigen3 beta.
The use of Map is not really satisfactory and error prone. Most critically, there is no workaround for matrix decompositions, for which there will be reallocation whenever the size of the matrix changes.
Basically, there would be a need of a memory management mode in which a reallocation occurs only if the new buffer needs to be bigger than the current one. For now, the size of the buffer is supposed to be row()*cols(), so we would need an additional integer to keep track of the buffer size separately from the matrix size, which would break the ABI.
Maybe we could try to put it back on rail.
Cheers,
Adrien