linalg.cond(x, p=None)[source]

Calcular el número de condición de una matriz.

Esta función es capaz de devolver el número de condición usando una de siete normas diferentes, dependiendo del valor de p (ver Parámetros a continuación).

Parámetros
x(…, M, N) array_like

La matriz cuyo número de condición se busca.

pNone, 1, -1, 2, -2, inf, -inf, ‘fro’, optional

Orden de la norma:

pag

norma para matrices

Ninguna

2-norma, calculada directamente usando el SVD

‘para’

norma frobenius

inf

max(suma(abs(x), eje=1))

-inf

min(suma(abs(x), eje=1))

1

max(suma(abs(x), eje=0))

-1

min(suma(abs(x), eje=0))

2

2-norma (mayor valor individual)

-2

menor valor singular

inf significa el objeto numpy.inf, y la norma de Frobenius es la norma de la raíz de la suma de los cuadrados.

Devoluciones
cfloat, inf

El número de condición de la matriz. Puede ser infinito.

Ver también

numpy.linalg.norm

notas

El número de condición de x se define como la norma de x veces la norma de la inversa de x[1]; la norma puede ser la norma L2 habitual (raíz de la suma de los cuadrados) o una de varias otras normas de matriz.

Referencias

1

G. Strang, Álgebra lineal y sus aplicaciones, Orlando, FL, Academic Press, Inc., 1980, pág. 285.

Ejemplos

>>> 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