Python NumPy에서 한 에르미트(Hermite) 급수를 다른 급수에 더하려면 polynomial.hermite.hermadd() 메서드를 사용하면 됩니다. 이 메서드는 두 에르미트 급수의 합(c1 + c2)을 나타내는 배열을 반환합니다.
인자는 최저 차수 항부터 최고 차수 항까지 순서대로 정렬된 계수 시퀀스입니다. 예를 들어 [1, 2, 3]은 P_0 + 2*P_1 + 3*P_2라는 급수를 의미합니다. 매개변수 c1과 c2는 각각 낮은 차수부터 높은 차수 순으로 정렬된 에르미트 급수 계수를 담은 1차원 배열입니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np from numpy.polynomial import hermite as H
에르미트 급수의 계수를 담은 1차원 배열을 생성합니다.
c1 = np.array([1,2,3]) c2 = np.array([3,2,1])
생성한 계수 배열을 출력하여 확인합니다.
print("Array1...\n",c1)
print("\nArray2...\n",c2)
배열의 데이터 타입(dtype)을 확인합니다.
print("\nArray1 datatype...\n",c1.dtype)
print("\nArray2 datatype...\n",c2.dtype)
두 배열의 차원(ndim)을 확인합니다.
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.hermadd() 메서드를 사용하여 두 에르미트 급수를 더합니다.
print("\nResult (sum)....\n",H.hermadd(c1, c2))
전체 예제 코드
import numpy as np
from numpy.polynomial import hermite as H
# 에르미트 급수 계수로 구성된 1차원 배열 생성
c1 = np.array([1,2,3])
c2 = np.array([3,2,1])
# 계수 배열 출력
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)
# polynomial.hermite.hermadd() 메서드로 두 에르미트 급수 더하기
# 이 메서드는 두 급수의 합을 나타내는 에르미트 급수 배열을 반환합니다.
print("\nResult (sum)....\n",H.hermadd(c1, c2))
실행 결과
Array1... [1 2 3] Array2... [3 2 1] Array1 datatype... int64 Array2 datatype... int64 Dimensions of Array1... 1 Dimensions of Array2... 1 Shape of Array1... (3,) Shape of Array2... (3,) Result (sum).... [4. 4. 4.]
결과 해석
실행 결과를 보면 입력 배열 [1, 2, 3]과 [3, 2, 1]을 더한 값인 [4. 4. 4.]가 반환되는 것을 확인할 수 있습니다. 원본 배열이 정수형(int64)이었음에도 불구하고 결과가 실수형(float)으로 표시되는 점에 유의하세요. hermadd() 메서드는 내부 연산 과정에서 결과를 부동소수점 형태로 반환하기 때문입니다. 또한 두 배열의 길이가 다른 경우, 짧은 쪽 앞에 0이 패딩되어 자동으로 처리됩니다.