Python NumPy에서 hermite.hermfromroots() 메서드를 사용하면 주어진 복소수 근(허근)을 가지는 Hermite 급수를 손쉽게 생성할 수 있습니다.
이 메서드는 계수들로 이루어진 1차원 배열을 반환합니다. 모든 근이 실수라면 결과 배열도 실수형이 되지만, 근 중 하나라도 복소수가 포함되어 있으면 결과 계수가 모두 실수 값이더라도 반환되는 배열은 복소수형(complex)이 됩니다. 매개변수 roots에는 근들을 담고 있는 시퀀스(리스트나 튜플 등)를 전달합니다.
단계별 진행 과정
1. 필요한 라이브러리 임포트
먼저 NumPy의 다항식 모듈에서 hermite 모듈을 가져옵니다.
from numpy.polynomial import hermite as H
2. hermfromroots() 메서드로 Hermite 급수 생성
복소수 허수 단위 j를 정의한 뒤, -j와 j를 근으로 갖는 Hermite 급수를 생성해 보겠습니다.
j = complex(0,1)
print("Result...\n", H.hermfromroots((-j, j)))3. 데이터 타입 확인
print("\nType...\n", H.hermfromroots((-j, j)).dtype)4. 배열 형태(shape) 확인
print("\nShape...\n", H.hermfromroots((-j, j)).shape)전체 예제 코드
from numpy.polynomial import hermite as H
# 복소수 근을 가진 Hermite 급수를 생성하려면
# Python NumPy의 hermite.hermfromroots() 메서드를 사용합니다.
# 이 메서드는 계수들의 1차원 배열을 반환하며,
# 근에 복소수가 포함되면 결과 계수가 실수여도 배열은 복소수형이 됩니다.
# 매개변수 roots는 근들을 담은 시퀀스입니다.
j = complex(0,1)
print("Result...\n", H.hermfromroots((-j, j)))
# 데이터 타입 확인
print("\nType...\n", H.hermfromroots((-j, j)).dtype)
# 배열 형태 확인
print("\nShape...\n", H.hermfromroots((-j, j)).shape)실행 결과
Result...
[1.5 +0.j 0. +0.j 0.25+0.j]
Type...
complex128
Shape...
(3,)실행 결과를 보면, 근으로 -j와 j를 사용했음에도 계수 값 자체는 모두 실수(1.5, 0, 0.25)입니다. 하지만 근에 복소수가 포함되어 있기 때문에 반환된 배열의 데이터 타입은 complex128이 되며, 길이 3짜리 1차원 배열이 생성된 것을 확인할 수 있습니다.