Python에서 에르미트(Hermite) 급수를 미분하려면 numpy.polynomial.hermite 모듈의 hermite.hermder() 메서드를 사용합니다. 이 메서드는 다항식 계수 배열을 입력받아 지정한 횟수만큼 미분한 결과를 반환합니다.
hermder() 메서드의 주요 매개변수
- c (첫 번째 매개변수): 에르미트 급수의 계수를 담은 배열입니다. 배열이 다차원인 경우 각 축(axis)이 서로 다른 변수에 대응되며, 각 축의 차수는 해당 인덱스로 결정됩니다.
- m (두 번째 매개변수): 미분을 수행할 횟수입니다. 반드시 음수가 아닌 값(0 이상)이어야 하며, 기본값은 1입니다.
- scl (세 번째 매개변수): 스칼라 값으로, 미분할 때마다 곱해지는 배율입니다. 최종 결과에는 scl**m이 곱해집니다. 주로 변수의 선형 변환(linear change of variable)에 활용됩니다. 기본값은 1입니다.
- axis (네 번째 매개변수): 미분이 수행될 축을 지정합니다. 기본값은 0입니다.
단계별 구현 방법
1단계: 필요한 라이브러리 임포트
import numpy as np
from numpy.polynomial import hermite as H
2단계: 계수 배열 생성
c = np.array([1,2,3,4])
3단계: 배열 정보 확인
생성한 배열과 그 속성들을 출력하여 확인합니다.
# 배열 출력
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)
4단계: hermder()로 미분 수행
에르미트 급수를 미분하려면 hermite.hermder() 메서드를 호출합니다. 아래 예제에서는 세 번(m=3) 미분을 수행합니다.
print("\nResult...\n",H.hermder(c, 3))전체 예제 코드
import numpy as np
from numpy.polynomial import hermite 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)
# hermite.hermder() 메서드로 에르미트 급수 미분
print("\nResult...\n",H.hermder(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...
[192.]
결과 해석
위 예제에서 계수 [1, 2, 3, 4]로 표현된 에르미트 급수를 세 번 미분한 결과는 단일 값 [192.]가 됩니다. 에르미트 급수를 반복해서 미분하면 차수가 낮아지고, 최종적으로 상수 형태의 결과가 얻어지는 것을 확인할 수 있습니다. 만약 m을 0으로 설정하면 원래 급수가 그대로 반환되며, scl 매개변수를 활용하면 변수 변환에 따른 스케일링도 함께 적용할 수 있습니다.