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

Python NumPy에서 주어진 근(roots)으로 에르미트(Hermite) 급수 생성하는 방법

Python NumPy에서 hermite.hermfromroots() 메서드를 사용하면 주어진 근(roots)에 해당하는 에르미트(Hermite) 급수를 손쉽게 생성할 수 있습니다. 이 메서드는 계수들로 이루어진 1차원 배열을 반환하며, 모든 근이 실수라면 결과 배열도 실수형이 되고, 일부라도 복소수가 포함되어 있다면 결과 계수가 모두 실수 값이더라도 배열은 복소수형으로 반환됩니다.

주요 매개변수

  • roots: 에르미트 급수의 근들을 담고 있는 시퀀스(sequence)입니다.

단계별 구현 방법

먼저 필요한 라이브러리를 임포트합니다.

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

이제 hermite.hermfromroots() 메서드를 사용하여 주어진 근 (-1, 0, 1)로 에르미트 급수를 생성해 보겠습니다.

print("결과...\n", H.hermfromroots((-1, 0, 1)))

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

print("\n데이터 타입...\n", H.hermfromroots((-1, 0, 1)).dtype)

배열의 형태(shape)도 함께 확인할 수 있습니다.

print("\n형태...\n", H.hermfromroots((-1, 0, 1)).shape)

전체 예제 코드

from numpy.polynomial import hermite as H

# 주어진 근으로 에르미트 급수를 생성합니다.
# hermfromroots()는 계수들의 1차원 배열을 반환하며,
# 모든 근이 실수이면 실수 배열, 일부가 복소수이면 복소수 배열을 반환합니다.

print("결과...\n", H.hermfromroots((-1, 0, 1)))

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

# 배열 형태 확인
print("\n형태...\n", H.hermfromroots((-1, 0, 1)).shape)

실행 결과

결과...
    [0.   0.25 0.   0.125]

데이터 타입...
float64

형태...
(4,)

결과 해석

위 예제에서 근 (-1, 0, 1)을 기준으로 생성된 에르미트 급수의 계수 배열은 [0., 0.25, 0., 0.125]입니다. 즉, 해당 다항식은 0.25·H₁(x) + 0.125·H₃(x) 형태로 표현됩니다. 데이터 타입은 float64이며, 세 개의 근으로부터 차수 3짜리 다항식이 만들어졌기 때문에 계수 배열의 크기는 4가 됩니다.