Python에서 x와 y의 데카르트 곱(Cartesian product) 위에서 2차원 라게르(Laguerre) 급수를 평가하려면 numpy.polynomial.laguerre.laggrid2d() 메서드를 사용합니다. 이 메서드는 x와 y의 데카르트 곱에 있는 각 점에서 2차원 라게르 급수의 값을 계산하여 반환합니다.
만약 계수 배열 c가 2차원보다 낮은 차원을 가진다면, 형태(shape)에 1이 암묵적으로 추가되어 2차원으로 변환됩니다. 결과의 형태는 c.shape[2:] + x.shape + y.shape가 됩니다.
laggrid2d() 메서드의 매개변수
첫 번째 매개변수(x, y): 2차원 급수를 평가할 지점들입니다. x 또는 y가 리스트(list)나 튜플(tuple)이면 먼저 ndarray로 변환되며, 그렇지 않으면 그대로 유지됩니다. ndarray가 아닌 경우에는 스칼라(scalar)로 취급됩니다.
두 번째 매개변수(c): 계수 배열입니다. 다중 차수(multidegree) i, j 항의 계수가 c[i, j]에 저장되도록 정렬되어 있습니다. c의 차원이 2보다 크면 나머지 인덱스는 여러 개의 계수 집합을 나타냅니다.
단계별 구현 방법
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
from numpy.polynomial import laguerre as L
2차원 계수 배열을 생성합니다.
c = np.arange(4).reshape(2,2)
배열을 출력하여 확인합니다.
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)x와 y의 데카르트 곱 위에서 2차원 라게르 급수를 평가하기 위해 laggrid2d() 메서드를 사용합니다.
print("\nResult...\n",L.laggrid2d([1,2],[1,2], c))전체 예제 코드
import numpy as np
from numpy.polynomial import laguerre as L
# 2차원 계수 배열 생성
c = np.arange(4).reshape(2,2)
# 배열 출력
print("Our Array...\n",c)
# 차원 확인
print("\nDimensions of our Array...\n",c.ndim)
# 데이터 타입 확인
print("\nDatatype of our Array object...\n",c.dtype)
# 형태 확인
print("\nShape of our Array object...\n",c.shape)
# laggrid2d() 메서드로 x와 y의 데카르트 곱 위에서
# 2차원 라게르 급수 평가
print("\nResult...\n",L.laggrid2d([1,2],[1,2], c))
실행 결과
Our Array...
[[0 1]
[2 3]]
Dimensions of our Array...
2
Datatype of our Array object...
int64
Shape of our Array object...
(2, 2)
Result...
[[ 0. -1.]
[-2. 0.]]
위 실행 결과에서 볼 수 있듯이, laggrid2d() 메서드는 입력된 계수 배열과 평가 지점 [1, 2] × [1, 2]의 데카르트 곱을 기반으로 2×2 형태의 결과 배열을 반환합니다. 이처럼 NumPy의 다항식 모듈을 활용하면 라게르 다항식 기반의 다차원 급수를 손쉽게 계산할 수 있습니다.