Здравствуйте.
Сразу хочу извиниться, если будут какие-то неточности в терминах, т.к. я не математик.
Перейду к делу.
1. Задача в общем виде.Имеется несколько матриц

, причем

не превосходит

. Количество матриц тоже не превосходит

.
Строки этих матриц - элементы векторного пространства

. Соответственно, каждая матрица порождает некоторое подпространство

(если все m строк матрицы линейно независимы, конечно).
Задача максимум: найти пересечение (базис) векторных пространств, порождаемых матрицами.
Задача минимум: найти размерность этого пересечения. Еще точнее, проверить равна ли она нулю.
2. Частный случайЕсть три матрицы

, причем на самом деле они все получаются через элементарные преобразования матриц

и три строки оказываются нулевыми. Кстати тут дополнительный вопрос. Верно ли, что если хотя бы одна матрица будет окажется

, а не

, то пресечение трех подпространств гарантированно будет ненулевым (при условии что оставшиеся две матрицы

не вырождены)?
Итак, есть эти три матрицы. Задачи такие же как в п.1.
Суть заключается в том, что надо найти какое-то элегантное и понятное решение.
Как делал я.
Находил ядро для каждой матрицы и проверял эти ядра на линейную зависимость. Если ее нет, то подпространства не пересекаются (начало координат не в счет), если она есть, то существует пересечение. Для того чтобы найти пересечение, нужно составить матрицу

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