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