simplified constructor for abstract matrix
committing for backup