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

Python NumPy chebmul()로 체비셰프 급수 곱하는 방법

Python에서 하나의 체비셰프(Chebyshev) 급수를 다른 급수와 곱하려면 numpy.polynomial.chebyshev 모듈의 chebmul() 메서드를 사용합니다. 이 메서드는 두 체비셰프 급수의 곱(c1 × c2)을 나타내는 계수 배열을 반환합니다.

인자는 최저 차수 항부터 최고 차수 항까지 순서대로 나열한 계수 시퀀스입니다. 예를 들어 [1, 2, 3]은 T_0 + 2*T_1 + 3*T_2라는 급수를 의미합니다. 매개변수 c1과 c2는 낮은 차수에서 높은 차수 순으로 정렬된 체비셰프 급수 계수의 1차원(1-D) 배열이어야 합니다.

단계별 구현 방법

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

먼저 NumPy와 체비셰프 모듈을 가져옵니다.

import numpy as np
from numpy.polynomial import chebyshev as C

2단계: 체비셰프 급수 계수 배열 생성

곱할 두 체비셰프 급수의 계수를 담은 1차원 배열을 생성합니다.

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

3단계: 계수 배열 출력

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

4단계: 데이터 타입 확인

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

5단계: 배열의 차원 확인

print("\nDimensions of Array1...\n",c1.ndim)
print("\nDimensions of Array2...\n",c2.ndim)

6단계: 배열의 형상(shape) 확인

print("\nShape of Array1...\n",c1.shape)
print("\nShape of Array2...\n",c2.shape)

7단계: chebmul()로 두 급수 곱하기

polynomial.chebyshev.chebmul() 메서드를 호출하여 두 체비셰프 급수를 곱합니다.

print("\nResult (multiplication)....\n",C.chebmul(c1,c2))

전체 예제 코드

import numpy as np
from numpy.polynomial import chebyshev as C

# 체비셰프 급수 계수 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)

# 배열의 형상(shape) 확인
print("\nShape of Array1...\n",c1.shape)
print("\nShape of Array2...\n",c2.shape)

# chebmul() 메서드로 두 체비셰프 급수 곱하기
print("\nResult (multiplication)....\n",C.chebmul(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 (multiplication)....
[ 6.5 12. 12. 4. 1.5]

정리

chebmul() 메서드는 두 체비셰프 급수의 계수 배열을 인자로 받아, 곱셈 결과에 해당하는 새로운 계수 배열을 반환합니다. 위 예제에서 [1, 2, 3]과 [3, 2, 1] 두 급수를 곱한 결과는 [6.5, 12., 12., 4., 1.5]입니다. 체비셰프 기저 함수 사이에는 T_m * T_n = (T_(m+n) + T_|m-n|) / 2 라는 항등식이 적용되기 때문에, 정수 계수를 입력해도 결과에 실수 계수가 포함될 수 있다는 점을 참고하세요.