Hermite_e(에르미트E) 급수의 근을 계산하려면 Python NumPy에서 제공하는 hermite_e.hermeroots() 메서드를 사용하면 됩니다. 이 메서드는 급수의 근들을 배열 형태로 반환하며, 모든 근이 실수라면 결과도 실수 배열로, 그렇지 않다면 복소수 배열로 반환됩니다.
매개변수 c는 계수들이 담긴 1차원 배열입니다. 근의 추정값은 동반 행렬(companion matrix)의 고유값으로 구해집니다. 이때 복소평면의 원점에서 멀리 떨어진 근은 해당 값 범위에서 급수가 수치적으로 불안정하기 때문에 오차가 커질 수 있습니다. 또한 중근(multiplicity가 1보다 큰 근)의 경우, 해당 지점 근처에서 급수의 값이 근의 오차에 상대적으로 둔감하기 때문에 더 큰 오차를 보일 수 있습니다. 원점 근처에 있는 고립된 근은 뉴턴 방법(Newton's method)을 몇 번 반복 적용하면 정확도를 개선할 수 있습니다.
단계별 진행
먼저 필요한 라이브러리를 임포트합니다.
from numpy.polynomial import hermite_e as H
복소수 계수를 가진 Hermite_e 급수의 근을 계산합니다.
j = complex(0,1)
print("Result...\n",H.hermeroots((-j, j)))결과의 데이터 타입을 확인합니다.
print("\nType...\n",H.hermeroots((-j, j)).dtype)결과의 형태(shape)를 확인합니다.
print("\nShape...\n",H.hermeroots((-j, j)).shape)전체 예제 코드
from numpy.polynomial import hermite_e as H
# Python NumPy의 hermite_e.hermeroots() 메서드로 Hermite_e 급수의 근을 계산합니다.
# 이 메서드는 급수의 근들을 배열로 반환하며,
# 모든 근이 실수이면 실수 배열, 아니면 복소수 배열을 반환합니다.
# 매개변수 c는 계수들의 1차원 배열입니다.
j = complex(0,1)
print("Result...\n",H.hermeroots((-j, j)))
# 데이터 타입 확인
print("\nType...\n",H.hermeroots((-j, j)).dtype)
# 형태(shape) 확인
print("\nShape...\n",H.hermeroots((-j, j)).shape)실행 결과
Result...
[1.+0.j]
Type...
complex128
Shape...
(1,)