Hermite_e 급수(확률론적 에르미트 급수)를 미분하려면 Python의 numpy.polynomial.hermite_e 모듈에서 제공하는 hermeder() 메서드를 사용하면 됩니다. 이 메서드는 계수 배열로 표현된 Hermite_e 급수를 지정한 횟수만큼 미분하고, 그 결과를 새로운 계수 배열로 반환합니다.
hermeder() 메서드의 매개변수
- c – Hermite_e 급수의 계수 배열입니다. c가 다차원 배열인 경우 각 축은 서로 다른 변수에 대응하며, 각 축의 차수는 해당 인덱스로 결정됩니다.
- m – 미분을 수행할 횟수입니다. 반드시 음수가 아니어야 하며, 기본값은 1입니다.
- scl – 스칼라 값으로, 매번 미분할 때마다 결과에 곱해집니다. 따라서 최종 결과에는
scl**m이 곱해지며, 이는 변수의 선형 변환(linear change of variable)에 유용하게 활용됩니다. 기본값은 1입니다. - axis – 미분을 수행할 축입니다. 기본값은 0입니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np from numpy.polynomial import hermite_e as H
Hermite_e 급수의 계수 배열을 생성합니다.
c = np.array([1,2,3,4])
생성된 배열과 함께 차원, 데이터 타입, 형태(shape)를 순서대로 확인합니다.
# 배열 출력
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)
이제 hermeder() 메서드를 사용해 Hermite_e 급수를 3차 미분합니다.
# 3차 미분 수행
print("\nResult...\n",H.hermeder(c, 3))
전체 예제 코드
import numpy as np
from numpy.polynomial import hermite_e as H
# 계수 배열 생성
c = np.array([1,2,3,4])
# 배열 출력
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)
# hermeder() 메서드로 3차 미분 수행
print("\nResult...\n",H.hermeder(c, 3))
실행 결과
Our Array... [1 2 3 4] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (4,) Result... [24.]
결과 해석
계수 배열 [1, 2, 3, 4]는 다항식 1 + 2·He₁(x) + 3·He₂(x) + 4·He₃(x)를 나타냅니다. 여기서 He₃(x)의 3차 도함수는 상수 6이므로, 계수 4에 6을 곱한 값인 [24.]가 최종 결과로 반환됩니다. 이처럼 고차 미분을 수행하면 차수가 m보다 낮은 항들은 모두 사라지고, 결과 배열의 길이도 원래 배열보다 m만큼 줄어들게 됩니다.