New matrix constructor