Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 Hermite_e 급수 미분하기 – NumPy hermeder() 메서드 완벽 가이드

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만큼 줄어들게 됩니다.