private constructor for MatrixFunctions