Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

คำนวณค่าลักษณะเฉพาะของเมทริกซ์สมมาตรแบบ Hermitian ที่ซับซ้อนหรือจริงใน Python


ในการคำนวณค่าลักษณะเฉพาะของเมทริกซ์สมมาตรแบบ Hermitian เชิงซ้อนหรือสมมาตรจริง ให้ใช้เมธอด numpy.eigvalsh() วิธีการส่งกลับค่าลักษณะเฉพาะในลำดับจากน้อยไปมาก โดยแต่ละรายการจะทำซ้ำตามหลายหลาก

พารามิเตอร์ตัวที่ 1 a คือเมทริกซ์ค่าเชิงซ้อนหรือค่าจริงที่มีการคำนวณค่าลักษณะเฉพาะ พารามิเตอร์ตัวที่ 2 UPLO ระบุว่าจะทำการคำนวณด้วยส่วนสามเหลี่ยมล่างของ a ('L' ค่าเริ่มต้น) หรือส่วนสามเหลี่ยมด้านบน ('U') โดยไม่คำนึงถึงค่านี้ จะมีการพิจารณาเฉพาะส่วนที่แท้จริงของเส้นทแยงมุมในการคำนวณเพื่อรักษาแนวคิดของเมทริกซ์เฮอร์มิเที่ยน ดังนั้นส่วนจินตภาพของเส้นทแยงมุมจะถือว่าเป็นศูนย์เสมอ

ขั้นตอน

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

import numpy as np
from numpy import linalg as LA

การสร้างอาร์เรย์ numpy 2D โดยใช้เมธอด numpy.array() -

arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

แสดงอาร์เรย์ -

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

ตรวจสอบขนาด -

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

รับประเภทข้อมูล -

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

รับรูปร่าง -

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

ในการคำนวณค่าลักษณะเฉพาะของเมทริกซ์สมมาตรแบบ Hermitian เชิงซ้อนหรือสมมาตรจริง ให้ใช้เมธอด numpy.eigvalsh() -

print("\nResult...\n",LA.eigvalsh(arr))

ตัวอย่าง

from numpy import linalg as LA
import numpy as np

# Creating a 2D numpy array using the numpy.array() method
arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])

# 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)

# To compute the eigenvalues of a complex Hermitian or real symmetric matrix, use the numpy.eigvalsh() method
print("\nResult...\n",LA.eigvalsh(arr))

ผลลัพธ์

Our Array...
[[5.+2.j 9.-2.j]
[0.+2.j 2.-1.j]]

Dimensions of our Array...
2

Datatype of our Array object...
complex128

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

Result...
[1. 6.]