使用 Python 中的负 2 范数计算线性代数中矩阵的条件数
pythonnumpyserver side programmingprogramming
要计算线性代数中矩阵的条件数,请使用 Python 中的 numpy.linalg.cond() 方法。此方法能够使用七种不同范数之一返回条件数,具体取决于 p 的值。返回矩阵的条件数。可能是无限的。
x 的条件数定义为 x 的范数乘以 x 的逆的范数;范数可以是通常的 L2 范数或许多其他矩阵范数之一。第一个参数是 x,即要寻求其条件数的矩阵。第二个参数是 p,即条件数计算中使用的范数的阶数。设置为参数的"2"是负 2(最小奇异值)范数。
步骤
首先,导入所需的库 -
import numpy as np from numpy import linalg as LA
创建一个数组 −
arr = np.array([[ 1, 1, 0], [1, 0, 1], [1, 0, 0]])
显示数组 −
print("我们的数组...\n",arr)
检查维度 −
print("\n数组的维度...\n",arr.ndim)
获取数据类型 −
print("\n我们的数组对象的数据类型...\n",arr.dtype)
获取形状 −
print("\n我们的数组对象的形状...\n",arr.shape)
要计算线性代数中矩阵的条件数,请使用 numpy.linalg.cond() 方法。此方法能够使用七种不同范数之一返回条件数,具体取决于 p 的值 −
print("\n结果...\n",LA.cond(arr, -2))
示例
import numpy as np from numpy import linalg as LA # 创建数组 arr = np.array([[ 1, 1, 0], [1, 0, 1], [1, 0, 0]]) # 显示数组 print("我们的数组...\n",arr) # 检查维度 print("\n数组的维度...\n",arr.ndim) # 获取数据类型 print("\n我们的数组对象的数据类型...\n",arr.dtype) # 获取形状 print("\n我们的数组对象的形状...\n",arr.shape) # 要计算线性代数中矩阵的条件数,请使用 Python 中的 numpy.linalg.cond() 方法 print("\n结果...\n",LA.cond(arr, -2))
输出
我们的数组... [[1 1 0] [1 0 1] [1 0 0]] 我们的数组的维度... 2 我们的数组对象的数据类型... int64 我们的数组对象的形状... (3, 3) 结果... 0.2679491924311227