numpy.linalg.cond
-
numpy.linalg.cond(x, p=None)[source] -
Вычисление числа обусловленности матрицы.
Эта функция способна возвращать число обусловленности, используя одну из семи различных норм, в зависимости от значения
p(см. параметры ниже).- Параметры
-
-
x(…, M, N) array_like -
Матрица, число обусловленности которой требуется.
-
p{None, 1, -1, 2, -2, inf, -inf, ‘fro’}, optional -
Порядок нормы:
p
норма для матриц
None
2-норма, вычисленная напрямую с использованием
SVD‘fro’
Норма Фробенеуса
inf
max(sum(abs(x), ось=1))
-inf
min(sum(abs(x), ось=1))
1
max(sum(abs(x), ось=0))
-1
min(sum(abs(x), ось=0))
2
2-норма (наибольшее сингулярное значение)
-2
наименьшее сингулярное значение
inf означает объект numpy.inf, а норма Фробенеуса — это норма корня-из-суммы-квадратов.
-
- Возвращает
-
-
c{float, inf} -
Число обусловленности матрицы. Может быть бесконечным.
-
См. также
Примечания
Число обусловленности матрицы
xопределяется как нормаxумноженная на норму обратной матрицыx[1]; норма может быть обычной L2-нормой (корень-из-суммы-квадратов) или одной из нескольких других матричных норм.Ссылки
-
1 -
Г. Странг, Линейная алгебра и ее приложения, Орландо, Флорида, Издательство Academic Press, Inc., 1980, стр. 285.
Примеры
>>> from numpy import linalg as LA >>> a = np.array([[1, 0, -1], [0, 1, 0], [1, 0, 1]]) >>> a array([[ 1, 0, -1], [ 0, 1, 0], [ 1, 0, 1]]) >>> LA.cond(a) 1.4142135623730951 >>> LA.cond(a, 'fro') 3.1622776601683795 >>> LA.cond(a, np.inf) 2.0 >>> LA.cond(a, -np.inf) 1.0 >>> LA.cond(a, 1) 2.0 >>> LA.cond(a, -1) 1.0 >>> LA.cond(a, 2) 1.4142135623730951 >>> LA.cond(a, -2) 0.70710678118654746 # may vary >>> min(LA.svd(a, compute_uv=False))*min(LA.svd(LA.inv(a), compute_uv=False)) 0.70710678118654746 # may vary
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/generated/numpy.linalg.cond.html