라게르(Laguerre) 다항식 계수로 이루어진 1차원 배열의 스케일링된 컴패니언 행렬(companion matrix)을 반환하려면 Python NumPy의 laguerre.lagcompanion() 함수를 사용합니다.
라게르 다항식의 일반적인 컴패니언 행렬은 c가 기저(basis) 라게르 다항식일 때 이미 대칭 형태이므로 별도의 스케일링이 적용되지 않습니다. 이 함수는 (deg, deg) 크기의 컴패니언 행렬을 반환하며, 매개변수 c는 차수가 낮은 것부터 높은 순서로 정렬된 라게르 급수 계수의 1차원 배열입니다.
구현 단계
1단계: 필요한 라이브러리 임포트
먼저 필요한 라이브러리를 가져옵니다.
import numpy as np from numpy.polynomial import laguerre as L
2단계: 계수 배열 생성 및 속성 확인
라게르 급수 계수로 구성된 1차원 배열을 생성하고, 배열의 주요 속성들을 확인해 보겠습니다.
c = np.array([1, 2, 3])
# 배열 출력
print("Our Array...\n", c)
# 차원 확인
print("\nDimensions of our Array...\n", c.ndim)
# 데이터 타입 확인
print("\nDatatype of our Array object...\n", c.dtype)
# 형상(shape) 확인
print("\nShape of our Array object...\n", c.shape)3단계: 컴패니언 행렬 계산
이제 lagcompanion() 함수를 호출하여 라게르 다항식 계수 배열의 컴패니언 행렬을 반환받습니다.
print("\nResult...\n", L.lagcompanion(c))전체 예제 코드
import numpy as np
from numpy.polynomial import laguerre as L
# 1차원 계수 배열 생성
c = np.array([1, 2, 3])
# 배열 출력
print("Our Array...\n", c)
# 차원 확인
print("\nDimensions of our Array...\n", c.ndim)
# 데이터 타입 확인
print("\nDatatype of our Array object...\n", c.dtype)
# 형상(shape) 확인
print("\nShape of our Array object...\n", c.shape)
# lagcompanion()으로 컴패니언 행렬 반환
print("\nResult...\n", L.lagcompanion(c))실행 결과
Our Array...
[1 2 3]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(3,)
Result...
[[ 1. -0.33333333]
[-1. 4.33333333]]참고 사항
위 예제에서 계수 배열 [1, 2, 3]은 2차 라게르 다항식에 해당하며, 결과적으로 2×2 크기의 컴패니언 행렬이 생성됩니다. 반환되는 행렬의 데이터 타입은 부동소수점(float)으로 변환됨에 유의하세요. 컴패니언 행렬의 고유값은 원래 다항식의 근(root)과 연관되어 있으므로, 다항식 방정식 풀이나 수치 해석 분야에서 유용하게 활용됩니다.