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

การคำนวณรากของอนุกรม Hermite ที่มีรากเชิงซ้อนใน Python


บทนำ

ในการคำนวณรากของอนุกรม Hermite สามารถใช้เมธอด hermite.hermroots() จาก NumPy เมธอดนี้จะคืนค่าเป็นอาเรย์ของรากของอนุกรม หากรากทั้งหมดเป็นจำนวนจริง ผลลัพธ์จะเป็นจำนวนจริง มิฉะนั้นจะเป็นจำนวนเชิงซ้อน พารามิเตอร์ c คืออาเรย์ 1 มิติของสัมประสิทธิ์

การประมาณค่ารากได้มาจากค่าเฉพาะ (eigenvalues) ของเมทริกซ์คู่หู (companion matrix) รากที่อยู่ไกลจากจุดกำเนิดของระนาบเชิงซ้อนอาจมีข้อผิดพลาดมาก เนื่องจากความไม่เสถียรทางตัวเลขของอนุกรม สำหรับรากที่มีความหลายมากกว่า 1 ก็จะมีข้อผิดพลาดมากขึ้นเช่นกัน เนื่องจากค่าของอนุกรมใกล้จุดเหล่านั้นไม่น่าเปลี่ยนแปลงจากข้อผิดพลาดของราก รากที่แยกจากกันและอยู่ใกล้จุดกำเนิดสามารถปรับปรุงได้ด้วยการวนซ้ำวิธีของนิวตัน (Newton's method) ไปสักไม่กี่รอบ

ขั้นตอนการทำงาน

1. นำเข้าไลบรารี

from numpy.polynomial import hermite as H

2. คำนวณรากของอนุกรม Hermite

j = complex(0, 1)
print("Result...\n", H.hermroots((-j, j)))

3. ตรวจสอบชนิดข้อมูล

print("\nType...\n", H.hermroots((-j, j)).dtype)

4. ตรวจสอบรูปร่าง

print("\nShape...\n", H.hermroots((-j, j)).shape)

ตัวอย่างโค้ดสมบูรณ์

from numpy.polynomial import hermite as H

# คำนวณรากของอนุกรม Hermite
j = complex(0, 1)
print("Result...\n", H.hermroots((-j, j)))

# ตรวจสอบชนิดข้อมูล
print("\nType...\n", H.hermroots((-j, j)).dtype)

# ตรวจสอบรูปร่าง
print("\nShape...\n", H.hermroots((-j, j)).shape)

ผลลัพธ์ที่คาดหวัง

Result...   [0.5+0.j]
Type... complex128
Shape... (1,)