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

Python NumPy로 주어진 근을 이용해 라게르(Laguerre) 급수 생성하기

주어진 근(roots)을 사용하여 라게르(Laguerre) 급수를 생성하려면 Python NumPy의 laguerre.lagfromroots() 메서드를 사용하면 됩니다. 이 메서드는 계수들로 이루어진 1차원 배열을 반환합니다. 모든 근이 실수라면 결과 역시 실수 배열이 되며, 일부 근이 복소수인 경우에는 결과의 계수가 모두 실수라 하더라도 복소수 배열로 반환됩니다. 매개변수 roots는 생성하고자 하는 급수의 근들을 담고 있는 시퀀스입니다.

참고로 라게르 다항식은 구간 [0, ∞)에서 직교하는 다항식으로, 양자역학의 수소 원자 문제나 수치 적분(가우스-라게르 구적법) 등 물리학과 공학 전반에서 폭넓게 활용됩니다.

단계별 진행

1. 필요한 라이브러리 임포트

먼저 NumPy의 다항식 패키지에서 라게르 모듈을 가져옵니다.

from numpy.polynomial import laguerre as L

2. lagfromroots() 메서드로 급수 생성

근 (-1, 0, 1)을 전달하여 라게르 급수를 생성합니다.

print("Result...\n", L.lagfromroots((-1, 0, 1)))

3. 데이터 타입 확인

반환된 배열의 dtype을 확인할 수 있습니다.

print("\nType...\n", L.lagfromroots((-1, 0, 1)).dtype)

4. 배열의 형태(shape) 확인

반환된 배열의 shape도 확인 가능합니다.

print("\nShape...\n", L.lagfromroots((-1, 0, 1)).shape)

전체 예제 코드

from numpy.polynomial import laguerre as L

# 주어진 근으로 라게르 급수를 생성합니다.
# lagfromroots()는 계수들의 1차원 배열을 반환하며,
# 모든 근이 실수이면 실수 배열, 일부가 복소수이면 복소수 배열을 반환합니다.
print("Result...\n", L.lagfromroots((-1, 0, 1)))

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

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

실행 결과

Result...
    [ 5. -17. 18. -6.]

Type...
float64

Shape...
(4,)

결과 해석

실행 결과를 보면 근 (-1, 0, 1)에 해당하는 라게르 급수의 계수가 [5., -17., 18., -6.]로 출력되었습니다. 세 개의 근으로부터 4개의 계수가 생성되었으므로 배열의 shape은 (4,)이며, 모든 근이 실수였기 때문에 데이터 타입은 float64로 반환된 것을 확인할 수 있습니다.