Подтвердить что ты не робот

Существует ли стандартное решение для исключения Гаусса в Python?

Существует ли где-то в космосе scipy/numpy/... стандартный метод устранения Гаусса матрицы?

Можно найти множество фрагментов через google, но я предпочел бы использовать "доверенные" модули, если это возможно.

4b9b3361

Ответ 1

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

from numpy import array
from scipy.linalg import lu

a = array([[2.,4.,4.,4.],[1.,2.,3.,3.],[1.,2.,2.,2.],[1.,4.,3.,4.]])

pl, u = lu(a, permute_l=True)

Затем u читает

array([[ 2.,  4.,  4.,  4.],
       [ 0.,  2.,  1.,  2.],
       [ 0.,  0.,  1.,  1.],
       [ 0.,  0.,  0.,  0.]])

В зависимости от разрешимости системы эта матрица имеет верхнюю треугольную или трапециевидную структуру. В приведенном выше случае возникает линия нулей, так как матрица имеет только ранг 3.