numpy.linalg.cond

numpy.linalg.cond(x, p=None)

Функция linalg.cond() вычисляет число обусловленности матрицы.

Данное число позволяет оценить насколько матрица далека от матрицы полного ранга или от невырожденности для квадратной матрицы. Число обусловленности может быть вычислено на основании одной из семи норм, которую можно указать в параметре p.

Параметры:
x - массив NumPy или подобный массиву объект.
Это может быть как двумерный так многомерный массивй. В случае многомерных массивов, он рассматривается как массив матриц относительно его двух последних осей, и число обусловленности вычисляется для каждой такой подматрицы отдельно.
p - {None, 1, -1, 2, -2, np.inf, -np.inf, ‘fro’} (необязательный параметр).
Позволяет указать необходимую при вычислении норму матрицы:
None
Установлен по умолчанию и вычисляет 2-ю норму, т.е. наибольшее сингулярное число матрицы;
‘fro’
Норма Фробениуса;
np.inf
np.max(np.sum(np.abs(x), axis=1));
-np.inf
np.min(np.sum(np.abs(x), axis=1));
1
np.max(np.sum(np.abs(x), axis=0));
-1
np.min(np.sum(np.abs(x), axis=0));
2
Наибольшее сингулярное число матрицы;
-2
Наименьшее сингулярное число матрицы;
Возвращает:
результат - вещественное число или inf
Число обусловленности матрицы, которое может быть равно inf.

Замечание

Чем ближе число обусловленности к 1, тем ближе матрица к невырожденности или полному рангу.

Смотрите так же:
norm


Примеры

>>> import numpy as np
>>> from numpy import linalg as LA
>>> 
>>> a = [[1, 10], [100, 1001]]
>>> 
>>> LA.cond(a)
1012102.000015063
>>> 
>>> b = [[10, 3], [2, 11]]
>>> 
>>> LA.cond(b)
1.6403882032022075
>>> 
>>> c = [[1, 0], [0, 1]]
>>> 
>>> LA.cond(c)
1.0