Функция linalg.cond
Функция linalg.cond вычисляет число обусловленности матрицы
по отношению к обращению. Число обусловленности показывает, насколько
матрица близка к вырожденной (сингулярной). Чем больше число
обусловленности, тем хуже обусловлена матрица. Для хорошо
обусловленных матриц число близко к единице, для плохо
обусловленных - может достигать больших значений.
Первым параметром функция принимает матрицу (массив). Вторым
параметром можно передать тип нормы для вычисления числа
обусловленности. По умолчанию используется норма '2'.
Синтаксис
np.linalg.cond(x, [p=None])
Пример
Давайте вычислим число обусловленности единичной матрицы:
import numpy as np
arr = np.eye(3)
res = np.linalg.cond(arr)
print(res)
Результат выполнения кода:
1.0
Пример
Теперь вычислим число обусловленности плохо обусловленной матрицы:
import numpy as np
arr = np.array([[1, 1], [1, 1.001]])
res = np.linalg.cond(arr)
print(res)
Результат выполнения кода:
4002.0005001250625
Пример
Рассмотрим вычисление числа обусловленности с использованием
разных типов норм. Используем норму 'fro' (Фробениуса):
import numpy as np
arr = np.array([[2, 1], [1, 2]])
res = np.linalg.cond(arr, p='fro')
print(res)
Результат выполнения кода:
3.0
Смотрите также
-
функцию
inv,
которая вычисляет обратную матрицу -
функцию
matrix_rank,
которая вычисляет ранг матрицы -
функцию
svd,
которая выполняет сингулярное разложение матрицы -
функцию
det,
которая вычисляет определитель матрицы