หากต้องการประเมินค่า (evaluate) อนุกรมเฮอร์ไมท์ (Hermite series) ที่จุด x ให้ใช้เมธอด hermite.hermval() ใน Python NumPy
พารามิเตอร์สำคัญ
- x: จุดที่ต้องการประเมิน หากเป็น list หรือ tuple จะแปลงเป็น ndarray มิฉะนั้นถือเป็นสเกลาร์
- c: อาร์เรย์สัมประสิทธิ์ เรียงลำดับว่าสัมประสิทธิ์ของพจน์อันดับ n อยู่ใน c[n] หาก c เป็นหลายมิติ ดัชนีที่เหลือจะนับพหุนามหลายตัว (ในกรณี 2 มิติ สัมประสิทธิ์จะถูกจัดเก็บในคอลัมน์ของ c)
- tensor: หาก True (default) รูปร่างของอาร์เรย์สัมประสิทธิ์จะขยายด้วย 1 ด้านขวา สำหรับแต่ละมิติของ x ทำให้ทุกคอลัมน์ของ c ถูกประเมินสำหรับทุกองค์ประกอบของ x หาก False x จะถูก broadcast ไปยังคอลัมน์ของ c
ขั้นตอนการใช้งาน
1. นำเข้าไลบรารีที่จำเป็น
import numpy as np
from numpy.polynomial import hermite as H
2. สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ
c = np.arange(4).reshape(2, 2)
3. แสดงอาร์เรย์
print("Our Array...\n", c)
4. ตรวจสอบมิติ
print("\nDimensions of our Array...\n", c.ndim)
5. ตรวจสอบชนิดข้อมูล
print("\nDatatype of our Array object...\n", c.dtype)
6. ตรวจสอบรูปร่าง
print("\nShape of our Array object...\n", c.shape)
7. ประเมินอนุกรมเฮอร์ไมท์ที่จุด x=[1,2]
print("\nResult...\n", H.hermval([1, 2], c))
ตัวอย่างโค้ดเต็ม
import numpy as np
from numpy.polynomial import hermite as H
# สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ
c = np.arange(4).reshape(2, 2)
# แสดงอาร์เรย์
print("Our Array...\n", c)
# ตรวจสอบมิติ
print("\nDimensions of our Array...\n", c.ndim)
# ตรวจสอบชนิดข้อมูล
print("\nDatatype of our Array object...\n", c.dtype)
# ตรวจสอบรูปร่าง
print("\nShape of our Array object...\n", c.shape)
# ประเมินอนุกรมเฮอร์ไมท์ที่จุด x
print("\nResult...\n", H.hermval([1, 2], c))
ผลลัพธ์ที่ได้
Our Array...
[[0 1]
[2 3]]
Dimensions of our Array...
2
Datatype of our Array object...
int64
Shape of our Array object...
(2, 2)
Result...
[[ 4. 8.]
[ 7. 13.]]
คำอธิบายเพิ่มเติม
อาร์เรย์สัมประสิทธิ์ c (shape 2×2):
[[0 1]
[2 3]]
ถูกตีความว่าเป็นพหุนามเฮอร์ไมท์ 2 ตัว (2 คอลัมน์):
- พหุนามที่ 1 (คอลัมน์ 0):
0·H₀ + 2·H₁ = 2·H₁ - พหุนามที่ 2 (คอลัมน์ 1):
1·H₀ + 3·H₁ = H₀ + 3·H₁
โดยที่ Hₙ คือพหุนามเฮอร์ไมท์อันดับ n (physicist's Hermite polynomials)
ประเมินที่ x = [1, 2] ด้วย tensor=True (default):
- x=1: พหุนามที่ 1 → 4.0, พหุนามที่ 2 → 7.0
- x=2: พหุนามที่ 1 → 8.0, พหุนามที่ 2 → 13.0
ผลลัพธ์ shape (2, 2) ตรงกับ (len(x), n_polynomials)
การตั้งค่า tensor=False จะเปลี่ยนพฤติกรรมเป็น broadcasting แทน
ใช้ hermite.hermval() ประเมินอนุกรมเฮอร์ไมท์หลายพหุนามพร้อมกันที่ x=[1,2] สัมประสิทธิ์ 2x2 คืนค่า matrix 2x2