当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy linalg.cond用法及代码示例


本文简要介绍 python 语言中 numpy.linalg.cond 的用法。

用法:

linalg.cond(x, p=None)

计算矩阵的条件数。

此函数能够使用七种不同规范之一返回条件编号,具体取决于 p 的值(请参阅下面的参数)。

参数

x (…, M, N) 数组

寻找其条件数的矩阵。

p {无,1,-1,2,-2,inf,-inf,‘fro’},可选

条件数计算中使用的范数阶:

p

矩阵的范数

None

2 范数,直接使用 SVD 计算

‘fro’

弗罗贝尼乌斯范数

inf

最大值(总和(绝对值(x),轴 = 1))

-inf

最小值(总和(绝对值(x),轴 = 1))

1

最大值(总和(绝对值(x),轴 = 0))

-1

最小值(总和(绝对值(x),轴 = 0))

2

2-范数(最大单值)

-2

最小奇异值

inf 表示 numpy.inf 对象,Frobenius 范数是root-of-sum-of-squares 范数。

返回

c {浮点数,inf}

矩阵的条件数。可能是无限的。

注意

条件数x被定义为范数x乘以倒数的范数x [1];范数可以是通常的 L2 范数 (root-of-sum-of-squares) 或许多其他矩阵范数之一。

参考

1

G. Strang,线性代数及其应用,佛罗里达州奥兰多,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

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.linalg.cond。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。