에르미트(Hermite) 급수를 다항식으로 변환하려면 파이썬 NumPy의 hermite.herm2poly() 메서드를 사용하면 됩니다. 이 메서드는 최저 차수부터 최고 차수 순으로 정렬된 에르미트 급수의 계수 배열을, '표준(standard)' 기저를 기준으로 하는 등가 다항식의 계수 배열(역시 최저 차수부터 최고 차수 순으로 정렬됨)로 변환해 줍니다.
메서드의 반환값은 표준 기저를 기준으로 한 등가 다항식의 계수를 최저 차수 항부터 최고 차수 항까지 순서대로 담고 있는 1차원 배열입니다. 매개변수 c는 에르미트 급수의 계수를 최저 차수 항부터 최고 차수 항까지 순서대로 포함하는 1차원 배열입니다.
에르미트 다항식이란?
에르미트 다항식은 양자 역학, 확률론, 수치 해석 등 다양한 분야에서 활용되는 직교 다항식입니다. NumPy의 numpy.polynomial.hermite 모듈은 물리학자 버전의 에르미트 다항식(H0 = 1, H1 = 2x, H2 = 4x² − 2, ...)을 다루며, 에르미트 급수란 이 다항식들의 선형 결합을 의미합니다. 예를 들어 계수 배열 [1, 2, 3]은 1·H0(x) + 2·H1(x) + 3·H2(x)를 나타냅니다.
단계별 진행 과정
1단계: 필요한 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np from numpy.polynomial import hermite as H
2단계: 배열 생성
numpy.array() 메서드를 사용하여 배열을 생성합니다.
c = np.array([1, 2, 3, 4, 5])
3단계: 배열 정보 확인
배열을 출력한 뒤, 차원(ndim), 데이터 타입(dtype), 형태(shape)를 차례대로 확인합니다.
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)
4단계: herm2poly()로 변환
에르미트 급수를 다항식으로 변환하려면 hermite.herm2poly() 메서드를 호출합니다.
print("\nResult (hermite to polynomial)...\n",H.herm2poly(c))
전체 예제 코드
import numpy as np
from numpy.polynomial import hermite as H
# numpy.array() 메서드를 사용해 배열 생성
c = np.array([1, 2, 3, 4, 5])
# 배열 출력
print("Our Array...\n", c)
# 배열의 차원 확인
print("\nDimensions of our Array...\n", c.ndim)
# 배열 객체의 데이터 타입 확인
print("\nDatatype of our Array object...\n", c.dtype)
# 배열 객체의 형태(shape) 확인
print("\nShape of our Array object...\n", c.shape)
# hermite.herm2poly() 메서드로 에르미트 급수를 다항식으로 변환
print("\nResult (hermite to polynomial)...\n", H.herm2poly(c))
실행 결과
Our Array... [1 2 3 4 5] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (5,) Result (hermite to polynomial)... [ 55. -44. -228. 32. 80.]
결과 해석
입력 배열 [1 2 3 4 5]는 에르미트 급수 1·H0(x) + 2·H1(x) + 3·H2(x) + 4·H3(x) + 5·H4(x)를 의미합니다. herm2poly()를 적용하면 [ 55. -44. -228. 32. 80.]이라는 결과가 반환되며, 이는 표준 기저로 표현한 다항식 55 − 44x − 228x² + 32x³ + 80x⁴에 해당합니다.