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

Python NumPy hermediv() 메서드로 Hermite_e 시리즈 나누기 완벽 가이드

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)보다 낮게 유지됩니다.