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

NumPy로 주어진 근에서 체비쇼프(Chebyshev) 급수 생성하는 방법

주어진 근(roots)으로부터 체비쇼프 급수를 생성하려면 Python NumPy의 chebyshev.chebfromroots() 메서드를 사용하면 됩니다. 이 메서드는 계수들을 담고 있는 1차원 배열을 반환합니다.

반환 결과에는 다음과 같은 특징이 있습니다.

  • 모든 근이 실수인 경우 실수(real) 배열이 반환됩니다.
  • 근 중 일부가 복소수인 경우, 최종 계수들이 모두 실수 값이라 하더라도 결과는 복소수(complex) 배열로 반환됩니다.

매개변수 roots는 생성하고자 하는 급수의 근들을 포함하는 시퀀스입니다.

체비쇼프 급수란?

체비쇼프 급수는 체비쇼프 다항식 T₀(x), T₁(x), T₂(x), ... 의 선형 결합으로 표현되는 다항식입니다. 수치 해석에서 함수 근사, 보간 등에 널리 활용되며, NumPy는 이를 손쉽게 다룰 수 있는 전용 모듈을 제공합니다.

구현 단계

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

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

2단계: chebfromroots() 메서드로 급수 생성

주어진 근 (-1, 0, 1)을 사용하여 체비쇼프 급수를 생성합니다.

print("Result...\n", C.chebfromroots((-1, 0, 1)))

3단계: 데이터 타입 확인

print("\nType...\n", C.chebfromroots((-1, 0, 1)).dtype)

4단계: 배열의 형태(shape) 확인

print("\nShape...\n", C.chebfromroots((-1, 0, 1)).shape)

전체 예제 코드

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

# 주어진 근으로 체비쇼프 급수 생성
print("Result...\n", C.chebfromroots((-1, 0, 1)))

# 데이터 타입 확인
print("\nType...\n", C.chebfromroots((-1, 0, 1)).dtype)

# 배열 형태 확인
print("\nShape...\n", C.chebfromroots((-1, 0, 1)).shape)

실행 결과

Result...
    [ 0.   -0.25  0.    0.25]

Type...
float64

Shape...
(4,)

결과 해석

위 실행 결과를 살펴보면 다음과 같은 의미를 확인할 수 있습니다.

  • Result: 근 (-1, 0, 1)에 해당하는 체비쇼프 급수의 계수 배열 [0., -0.25, 0., 0.25]가 반환됩니다. 즉, 이 급수는 -0.25·T₁(x) + 0.25·T₃(x)로 표현됩니다.
  • Type: 모든 근이 실수이므로 데이터 타입은 float64 실수형입니다.
  • Shape: 차수가 3인 급수이므로 계수 4개를 가지며, 배열의 형태는 (4,)입니다.