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

相关文章