Ну, если вам так хочется писать решения для линейных систем... Для набора векторов в математике есть команда
RowReduce, проводящая процесс гауссовского исключения. С ее помощью можно сделать команду, которая будет приводить расширенную матрицу системы последовательно к виду, в котором матрица коэффициентов является единичной (если она невырождена):
Код:
rReduce[k_, A_] := Flatten[{RowReduce@Take[A, k], Take[A, k - Length[A]]}, 1]
— приводит первые
строк матрицы к виду с макс. нулей слева. Подробности есть в справке. Команда
Код:
solution[A_] := Table[{rReduce[k, A]}, {k, 1, Length[A]}]
Дает некое пошаговое решение. Например, для случая системы 4 на 4,
Код:
Q = Table[RandomInteger[4], {i, 4}, {j, 5}]
Код:
solution[Q]
результат будет такой: