Computer >> Máy Tính >  >> Lập trình >> Python

Tính toán các yếu tố quyết định nhật ký cho một chồng ma trận trong Python

Để tính toán các yếu tố quyết định log cho một chồng ma trận, hãy sử dụng phương thức numpy.linalg.slogdet () trong Python. Tham số đầu tiên, s là một mảng đầu vào, phải là một mảng 2-D hình vuông. Phương thức có dấu trả về một số đại diện cho dấu của định thức. Đối với ma trận thực, đây là 1, 0 hoặc -1. Đối với ma trận phức, đây là một số phức có giá trị tuyệt đối 1 hoặc khác 0.

Phương thức, với logdet trả về nhật ký tự nhiên của giá trị tuyệt đối của định thức. Nếu định thức bằng 0, thì dấu sẽ là 0 và logdet sẽ là -Inf. Trong mọi trường hợp, định thức bằng dấu * np.exp (logdet).

Các bước

Đầu tiên, hãy nhập các thư viện được yêu cầu-

import numpy as np

Tạo một mảng -

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

Hiển thị mảng -

print("Our Array...\n",arr)

Kiểm tra các thứ nguyên -

print("\nDimensions of our Array...\n",arr.ndim)

Lấy Datatype -

print("\nDatatype of our Array object...\n",arr.dtype)

Lấy hình dạng -

print("\nShape of our Array object...\n",arr.shape)

Định thức của một mảng trong đại số tuyến tính -

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

Để tính toán các yếu tố quyết định log cho một chồng ma trận, hãy sử dụng phương thức numpy.linalg.slogdet (). Nếu định thức bằng 0, thì dấu sẽ là 0 và logdet sẽ là -Inf. Trong mọi trường hợp, định thức bằng dấu * np.exp (logdet) -

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

Ví dụ

import numpy as np

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

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# Get the Shape
print("\nShape of our Array object...\n",arr.shape)

# The determinant of an array in linear algebra
print("\nDeterminant...\n",np.linalg.det(arr))

# To compute log-determinants for a stack of matrices, use the numpy.linalg.slogdet() method in Python
(sign, logdet) = np.linalg.slogdet(arr)
print("\nResult....\n",(sign, logdet))

Đầu ra

Our Array...
[[[1 2]
[3 4]]

[[1 2]
[2 1]]

[[1 3]
[3 1]]]

Dimensions of our Array...
3

Datatype of our Array object...
int64

Shape of our Array object...
(3, 2, 2)

Determinant...
[-2. -3. -8.]

Result....
(array([-1., -1., -1.]), array([0.69314718, 1.09861229, 2.07944154]))