ну это не мой вопрос был
для всех реалистичных случаев либо матрицы будут динамических размерностей и тогда придется все делать динамически (и они тогда буду какие-нибудь разреженные и т.п.), либо заранее известной размерности, типа 3 тогда там нечего особо проверять
ну офк будет какая-то проерка произвольных входных данных, которая зафейлится может. Хочется чтобы после этой первичной валидации выявлялись свойства матриц, которые позволяют гарантировать что применение обобщенных операций (умножение и т п) не будут фейлится.