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

Python NumPy로 두 에르미트(Hermite) 급수 곱하기 – hermmul() 메서드 완벽 가이드

두 개의 에르미트(Hermite) 급수를 서로 곱하려면 Python NumPy의 polynomial.hermite.hermmul() 메서드를 사용하면 됩니다. 이 메서드는 두 급수의 곱(c1 * c2)을 나타내는 새로운 에르미트 급수 배열을 반환합니다.

메서드의 인자는 최저 차수 항부터 최고 차수 항까지 순서대로 나열된 계수 시퀀스입니다. 예를 들어 [1, 2, 3]은 P_0 + 2*P_1 + 3*P_2 형태의 급수를 의미합니다. 따라서 매개변수로는 낮은 차수부터 높은 차수 순으로 정렬된 1차원 에르미트 급수 계수 배열을 전달해야 합니다.

단계별 구현 방법

1단계: 필요한 라이브러리 임포트

먼저 NumPy와 에르미트 다항식 모듈을 가져옵니다.

import numpy as np
from numpy.polynomial import hermite as H

2단계: 에르미트 급수 계수 배열 생성

곱셈에 사용할 두 개의 1차원 계수 배열을 생성합니다.

c1 = np.array([1,2,3])
c2 = np.array([3,2,1])

3단계: 배열 내용 확인

생성한 계수 배열을 화면에 출력하여 확인합니다.

print("Array1...\n",c1)
print("\nArray2...\n",c2)

배열의 데이터 타입(dtype)도 함께 확인할 수 있습니다.

print("\nArray1 datatype...\n",c1.dtype)
print("\nArray2 datatype...\n",c2.dtype)

4단계: 차원과 형태 확인

두 배열의 차원(ndim)과 형태(shape)를 점검하여 올바르게 생성되었는지 검증합니다.

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)

5단계: hermmul() 메서드로 급수 곱하기

이제 polynomial.hermite.hermmul() 메서드를 호출하여 두 에르미트 급수를 곱합니다. 메서드는 두 급수의 곱을 나타내는 에르미트 급수 배열을 반환합니다.

print("\nResult (multiply)....\n",H.hermmul(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.hermmul() 메서드로 두 에르미트 급수 곱하기
# 이 메서드는 두 급수의 곱을 나타내는 에르미트 급수 배열을 반환합니다.
print("\nResult (multiply)....\n",H.hermmul(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 (multiply)....
   [35. 40. 38. 8. 3.]

실행 결과를 보면, 각각 3개의 계수를 가진 두 에르미트 급수를 곱했을 때 5개의 계수를 가진 새로운 급수가 반환되는 것을 확인할 수 있습니다. 이는 두 3차항 미만의 급수를 곱하면 최대 차수가 4(2+2)인 급수가 되기 때문입니다. 참고로 반환되는 계수 배열은 부동소수점(float) 타입으로 출력됩니다.