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

Python NumPy chebsub() 메서드로 체비쇼프(Chebyshev) 급수 빼기 완벽 가이드

두 개의 체비쇼프(Chebyshev) 급수를 서로 뺄 때는 Python NumPy의 polynomial.chebyshev.chebsub() 메서드를 사용합니다. 이 메서드는 두 체비쇼프 급수의 차(c1 - c2)를 나타내는 계수 배열을 반환합니다.

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

chebsub() 메서드 구문

numpy.polynomial.chebyshev.chebsub(c1, c2)
  • c1, c2: 낮은 차수부터 높은 차수 순으로 정렬된 체비쇼프 급수 계수 배열
  • 반환값: 두 체비쇼프 급수의 차를 나타내는 계수 배열

단계별 실습 방법

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

먼저 필요한 라이브러리를 가져옵니다.

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단계: 데이터 타입 확인

배열의 데이터 타입(dtype)을 확인합니다.

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

5단계: 차원 확인

두 배열의 차원(ndim)을 확인합니다.

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

6단계: 형상(Shape) 확인

두 배열의 형상(shape)을 확인합니다.

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

7단계: chebsub() 메서드로 체비쇼프 급수 빼기

이제 polynomial.chebyshev.chebsub() 메서드를 사용해 두 체비쇼프 급수를 뺍니다. 메서드는 두 급수의 차를 나타내는 계수 배열을 반환합니다.

print("\nResult (subtraction)...\n",C.chebsub(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)

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

# chebsub() 메서드로 체비쇼프 급수 빼기
print("\nResult (subtraction)...\n",C.chebsub(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 (subtraction)....
[-2. 0. 2.]

결과 해석

실행 결과 [-2. 0. 2.]는 두 체비쇼프 급수의 차인 -2*T_0 + 0*T_1 + 2*T_2를 의미합니다. 각 계수끼리 단순히 빼는 것과 같아 직관적으로 이해할 수 있습니다. 즉, c1 - c2 = [1-3, 2-2, 3-1] = [-2, 0, 2]가 됩니다.

참고로 결과 배열이 부동소수점(float64)으로 반환되는 이유는 chebsub() 내부에서 연산 과정이 실수형으로 처리되기 때문입니다. 이처럼 NumPy의 chebsub() 메서드를 활용하면 복잡한 다항식 연산도 간단하게 처리할 수 있습니다.