-
numpy.linalg.cond(x, p=None)
[source] -
Compute the condition number of a matrix.
This function is capable of returning the condition number using one of seven different norms, depending on the value of
p
(see Parameters below).Parameters: x : (..., M, N) array_like
The matrix whose condition number is sought.
p : {None, 1, -1, 2, -2, inf, -inf, ?fro?}, optional
Order of the norm:
p norm for matrices None 2-norm, computed directly using the SVD
?fro? Frobenius norm inf max(sum(abs(x), axis=1)) -inf min(sum(abs(x), axis=1)) 1 max(sum(abs(x), axis=0)) -1 min(sum(abs(x), axis=0)) 2 2-norm (largest sing. value) -2 smallest singular value inf means the numpy.inf object, and the Frobenius norm is the root-of-sum-of-squares norm.
Returns: c : {float, inf}
The condition number of the matrix. May be infinite.
See also
Notes
The condition number of
x
is defined as the norm ofx
times the norm of the inverse ofx
[R37]; the norm can be the usual L2-norm (root-of-sum-of-squares) or one of a number of other matrix norms.References
[R37] (1, 2) G. Strang, Linear Algebra and Its Applications, Orlando, FL, Academic Press, Inc., 1980, pg. 285. Examples
123456789101112131415161718192021222324>>>
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
>>>
min
(LA.svd(a, compute_uv
=
0
))
*
min
(LA.svd(LA.inv(a), compute_uv
=
0
))
0.70710678118654746
numpy.linalg.cond()

2025-01-10 15:47:30
Please login to continue.