This class is a modification of Eigen's ColPivHouseholdeQR to perform a rank-revealing QR with column pivoting MP = QR with R*P' directly stored in the input matrix M and the householder vectors essential parts stored in the column of a different matrix given by the user