Python의 NumPy 라이브러리에서 polynomial.hermite.hermediv() 메서드를 사용하면 하나의 Hermite_e(에르미트 e) 급수를 다른 급수로 나눌 수 있습니다. 이 메서드는 몫과 나머지를 나타내는 Hermite_e 급수 계수 배열을 반환합니다.
hermediv()는 두 Hermite_e 급수 c1 / c2의 몫-나머지 연산 결과를 반환합니다. 인자는 최저 차수 항부터 최고 차수 항까지 순서대로 나열된 계수 시퀀스입니다. 예를 들어 [1, 2, 3]은 P_0 + 2*P_1 + 3*P_2라는 급수를 의미합니다.
매개변수 c1과 c2는 낮은 차수에서 높은 차수 순으로 정렬된 Hermite_e 급수 계수의 1차원 배열입니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np from numpy.polynomial import hermite as H
Hermite_e 급수 계수를 담은 1차원 배열을 생성합니다.
c1 = np.array([53., 30., 52., 7., 6.]) c2 = np.array([1, 2, 3])
계수 배열을 화면에 출력합니다.
print("Array1...\n",c1)
print("\nArray2...\n",c2)배열의 데이터 타입을 확인합니다.
print("\nArray1 datatype...\n",c1.dtype)
print("\nArray2 datatype...\n",c2.dtype)두 배열의 차원(dimension)을 확인합니다.
print("\nDimensions of Array1...\n",c1.ndim)
print("\nDimensions of Array2...\n",c2.ndim)두 배열의 형태(shape)를 확인합니다.
print("\nShape of Array1...\n",c1.shape)
print("\nShape of Array2...\n",c2.shape)이제 polynomial.hermite.hermediv() 메서드를 사용해 두 Hermite_e 급수를 나눕니다.
print("\nResult (division)....\n",H.hermediv(c1, c2))전체 예제 코드
import numpy as np
from numpy.polynomial import hermite_e as H
# Hermite_e 급수 계수를 담은 1차원 배열 생성
c1 = np.array([53., 30., 52., 7., 6.])
c2 = np.array([1, 2, 3])
# 계수 배열 출력
print("Array1...\n",c1)
print("\nArray2...\n",c2)
# 데이터 타입 출력
print("\nArray1 datatype...\n",c1.dtype)
print("\nArray2 datatype...\n",c2.dtype)
# 두 배열의 차원 확인
print("\nDimensions of Array1...\n",c1.ndim)
print("\nDimensions of Array2...\n",c2.ndim)
# 두 배열의 형태 확인
print("\nShape of Array1...\n",c1.shape)
print("\nShape of Array2...\n",c2.shape)
# hermediv() 메서드로 두 Hermite_e 급수 나누기
print("\nResult (division)....\n",H.hermediv(c1, c2))실행 결과
Array1...
[53. 30. 52. 7. 6.]
Array2...
[1 2 3]
Array1 datatype...
float64
Array2 datatype...
int64
Dimensions of Array1...
1
Dimensions of Array2...
1
Shape of Array1...
(5,)
Shape of Array2...
(3,)
Result (division)....
(array([8., 1., 2.]), array([31., -1.]))결과 해석
실행 결과를 보면 hermediv() 메서드가 튜플 형태로 두 개의 배열을 반환하는 것을 알 수 있습니다. 첫 번째 배열 [8., 1., 2.]는 몫(quotient)에 해당하는 Hermite_e 급수의 계수이고, 두 번째 배열 [31., -1.]은 나머지(remainder)에 해당하는 계수입니다.
즉, 이 예제에서는 차수가 4인 급수(c1)를 차수가 2인 급수(c2)로 나눈 결과, 차수가 2인 몫과 차수가 1인 나머지가 얻어졌습니다. 다항식 나눗셈과 마찬가지로 나머지의 차수는 항상 제수(divisor)보다 낮게 유지됩니다.