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

คูณอนุกรมเฮอร์ไมท์อันหนึ่งด้วยอีกอันหนึ่งใน Python

หากต้องการคูณอนุกรมเฮอร์ไมท์อันหนึ่งด้วยอีกอันหนึ่ง ให้ใช้เมธอด polynomial.hermite.hermmul() ใน Python NumPy

เมธอดคืนค่าอาร์เรย์ที่แทนอนุกรมเฮอร์ไมท์ของผลคูณ คืนค่าผลคูณของอนุกรมเฮอร์ไมท์สองอัน c1 * c2 อาร์กิวเมนต์เป็นลำดับของสัมประสิทธิ์จากอันดับต่ำสุดไปสูงสุด เช่น [1,2,3] แทนอนุกรม P₀ + 2·P₁ + 3·P₂

พารามิเตอร์

  • c1, c2: อาร์เรย์ 1 มิติ ของสัมประสิทธิ์อนุกรมเฮอร์ไมท์ เรียงจากอันดับต่ำไปสูง

ขั้นตอนการใช้งาน

1. นำเข้าไลบรารีที่จำเป็น

import numpy as np
from numpy.polynomial import hermite as H

2. สร้างอาร์เรย์ 1 มิติ ของสัมประสิทธิ์อนุกรมเฮอร์ไมท์

c1 = np.array([1, 2, 3])
c2 = np.array([3, 2, 1])

3. แสดงอาร์เรย์สัมประสิทธิ์

print("Array1...\n", c1)
print("\nArray2...\n", c2)

4. แสดงชนิดข้อมูล

print("\nArray1 datatype...\n", c1.dtype)
print("\nArray2 datatype...\n", c2.dtype)

5. ตรวจสอบมิติของทั้งสองอาร์เรย์

print("\nDimensions of Array1...\n", c1.ndim)
print("\nDimensions of Array2...\n", c2.ndim)

6. ตรวจสอบรูปร่างของทั้งสองอาร์เรย์

print("\nShape of Array1...\n", c1.shape)
print("\nShape of Array2...\n", c2.shape)

7. คูณอนุกรมเฮอร์ไมท์ด้วย hermite.hermmul()

print("\nResult (multiply)....\n", H.hermmul(c1, c2))

ตัวอย่างโค้ดเต็ม

import numpy as np
from numpy.polynomial import hermite as H

# สร้างอาร์เรย์สัมประสิทธิ์อนุกรมเฮอร์ไมท์
c1 = np.array([1, 2, 3])
c2 = np.array([3, 2, 1])

# แสดงอาร์เรย์สัมประสิทธิ์
print("Array1...\n", c1)
print("\nArray2...\n", c2)

# แสดงชนิดข้อมูล
print("\nArray1 datatype...\n", c1.dtype)
print("\nArray2 datatype...\n", c2.dtype)

# ตรวจสอบมิติ
print("\nDimensions of Array1...\n", c1.ndim)
print("\nDimensions of Array2...\n", c2.ndim)

# ตรวจสอบรูปร่าง
print("\nShape of Array1...\n", c1.shape)
print("\nShape of Array2...\n", c2.shape)

# คูณอนุกรมเฮอร์ไมท์
print("\nResult (multiply)....\n", H.hermmul(c1, c2))

ผลลัพธ์ที่ได้

Array1...
 [1 2 3]
Array2...
 [3 2 1]
Array1 datatype...
 int64
Array2 datatype...
 int64
Dimensions of Array1...
 1
Dimensions of Array2...
 1
Shape of Array1...
 (3,)
Shape of Array2...
 (3,)
Result (multiply)....
 [35. 40. 38.  8.  3.]

คำอธิบายเพิ่มเติม

อนุกรมต้นฉบับ:

  • c1: 1·H₀ + 2·H₁ + 3·H₂
  • c2: 3·H₀ + 2·H₁ + 1·H₂

ผลคูณเป็นอนุกรมอันดับ 4 (5 สัมประสิทธิ์): [35., 40., 38., 8., 3.]

แทน: 35·H₀ + 40·H₁ + 38·H₂ + 8·H₃ + 3·H₄

การคูณอนุกรมเฮอร์ไมท์ใช้กฎการคูณพหุนามเฮอร์ไมท์ ซึ่งซับซ้อนกว่าการคูณพหุนามมาตรฐาน เนื่องจากพหุนามเฮอร์ไมท์มีความสัมพันธ์แบบเวียนเกิด (recurrence relation):

Hₙ₊₁(x) = 2x·Hₙ(x) - 2n·Hₙ₋₁(x)

NumPy จัดการความซับซ้อนนี้โดยอัตโนมัติ ทำให้ผู้ใช้สามารถคูณอนุกรมได้ง่ายด้วยฟังก์ชันเดียว

คูณอนุกรมเฮอร์ไมท์อันหนึ่งด้วยอีกอันหนึ่งใน Python

ใช้ hermite.hermmul() คูณอนุกรมเฮอร์ไมท์ [1,2,3] × [3,2,1] ได้ผลคูณอันดับ 4 สัมประสิทธิ์ [35, 40, 38, 8, 3]