PyTorch – 如何计算方阵的行列式?
要计算方阵的行列式,我们可以使用 **torch.linalg.det()** 方法。它返回一个包含计算出的行列式的新张量。它接受一个方阵、一批方阵以及方阵的批次。它支持 **float、double、cfloat** 和 **cdouble** 数据类型的矩阵。
我们也可以使用 **torch.det()** 方法来计算行列式。它是 **torch.linalg.det()** 方法的别名。
语法
torch.linalg.det(mat) torch.det(mat)
其中 **mat** 是一个方阵或方阵的批次/批次。矩阵是一个二维的 torch 张量。
步骤
我们可以使用以下步骤来计算方阵的行列式:
导入所需的库。在以下所有示例中,所需的 Python 库为 **torch**。确保您已安装它。
import torch
定义一个方阵。这里,我们定义了一个随机数的方阵(大小为 3×3 的二维张量)。
tensor = torch.randn(3,3)
使用 **torch.linalg.det(mat)** 或 **torch.det(mat)** 计算方阵的行列式。mat 是一个方阵或方阵的批次/批次。可以选择将此值赋给一个新的变量。
det_mat = torch.linalg.det(mat)
打印计算出的矩阵行列式。
print("Determinant:", det_mat)示例 1
在这个示例中,我们计算了一个大小为 3×3 的方阵的行列式。
# import required library
import torch
# create a 3x3 square matrix
mat = torch.randn(3,3)
# print the above created matrix
print("Matrix:
", mat)
# computet the determinant of the matrix
det_mat = torch.linalg.det(mat)
print("Determinant:
", det_mat)输出
它将产生以下输出:
Matrix: tensor([[ 0.1485, -1.5094, 1.4318], [-0.0838, -1.5691, 0.0387], [-2.1576, 1.6148, -0.9745]]) Determinant: tensor(-4.5740)
示例 2
在这个程序中,我们计算了两批方阵的行列式。
# Python program to determine the determinant of
# a batch of square matrices
# import torch library
import torch
# create a batch of two 3x3 square matrices
mat = torch.randn(2,3,3)
# print the above created batch of matrices
print("Batch of Matrices:
", mat)
# compute the determinants of the batch of matrices
d = torch.linalg.det(mat)
# print the computed determinants
print("Determinants:
", d)输出
它将产生以下输出:
Batch of Matrices: tensor([[[-0.1068, -1.2593, 0.6575], [ 1.3248, 0.3064, 0.2736], [-1.4946, -0.5549, -0.6089]], [[ 0.6121, -0.1686, 2.3977], [-0.4527, 1.1430, 1.6656], [ 0.9752, -1.6121, -0.1512]]]) Determinants: tensor([-0.6795, 0.3528])
请注意,行列式张量中的元素数量与批次中的矩阵数量相同。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP