abstract matrix