在 Python 中计算数组行列式的符号和自然对数

pythonnumpyserver side programmingprogramming更新于 2024/5/13 14:36:17

要计算数组行列式的符号和自然对数,请使用 Python 中的 numpy.linalg.slogdet() 方法。第一个参数 s 是输入数组,必须是方阵二维数组。

带有 sign 的方法返回一个表示行列式符号的数字。对于实数矩阵,这是 1、0 或 -1。对于复数矩阵,这是一个绝对值为 1 的复数,否则为 0。带有 logdet 的方法返回行列式绝对值的自然对数。如果行列式为零,则 sign 将为 0,logdet 将为 -Inf。在所有情况下,行列式等于 sign * np.exp(logdet)。

步骤

首先,导入所需的库 −

import numpy as np

创建一个数组 −

arr = np.array([[ 1, 2],
   [ 3, 4]])

显示数组 −

print("我们的数组...\n",arr)

检查维度 −

print("\n数组的维度...\n",arr.ndim)

获取数据类型 −

print("\n我们的数组对象的数据类型...\n",arr.dtype)

获取形状 −

print("\n我们的数组对象的形状...\n",arr.shape)

线性代数中数组的行列式 −

print("\nDeterminant...\n",np.linalg.det(arr))

要计算数组行列式的符号和自然对数,请使用 Python 中的 numpy.linalg.slogdet() 方法。如果行列式为零,则 sign 将为 0,logdet 将为 -Inf。在所有情况下,行列式都等于 sign * np.exp(logdet) −

(sign, logdet) = np.linalg.slogdet(arr)
print("\nResult....\n",(sign, logdet))

示例

import numpy as np

# 创建数组
arr = np.array([[ 1, 2],
   [ 3, 4]])

# 显示数组
print("我们的数组...\n",arr)

# 检查维度
print("\n数组的维度...\n",arr.ndim)

# 获取数据类型
print("\n我们的数组对象的数据类型...\n",arr.dtype)

# 获取形状
print("\n我们的数组对象的形状...\n",arr.shape)

# 线性代数中数组的行列式
print("\nDeterminant...\n",np.linalg.det(arr))

# 要计算数组行列式的符号和自然对数,请使用 Python 中的 numpy.linalg.slogdet() 方法
(sign, logdet) = np.linalg.slogdet(arr)
print("\nResult....\n",(sign, logdet))

输出

我们的数组...
[[1 2]
[3 4]]

我们的数组的维度...
2

我们的数组对象的数据类型...
int64

我们的数组对象的形状...
(2, 2)

行列式...
-2.0000000000000004

结果....
(-1.0, 0.6931471805599455)

相关文章


有用资源