르장드르(Legendre) 급수를 미분하려면 Python의 polynomial.legendre.legder() 메서드를 사용합니다. 이 메서드는 르장드르 급수 계수 c를 axis 축을 따라 m번 미분한 결과를 반환하며, 각 미분 반복마다 결과에 scl이 곱해집니다.
첫 번째 매개변수인 c는 르장드르 급수 계수로 이루어진 배열입니다. c가 다차원 배열인 경우 각 축은 서로 다른 변수에 해당하며, 각 축의 차수는 해당 인덱스로 결정됩니다.
두 번째 매개변수인 m은 미분 횟수를 나타내며, 음수가 아닌 값이어야 합니다(기본값: 1). 세 번째 매개변수인 scl은 스칼라 값으로, 각 미분 결과에 곱해집니다. 최종 결과에는 scl**m이 곱해지며, 이는 변수의 선형 변환에 활용됩니다(기본값: 1). 네 번째 매개변수인 axis는 미분을 수행할 축을 지정합니다(기본값: 0).
단계별 진행 과정
먼저 필요한 라이브러리를 임포트합니다:
import numpy as np
from numpy.polynomial import legendre as L
계수로 이루어진 다차원 배열을 생성합니다:
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)르장드르 급수를 미분하려면 Python의 polynomial.legendre.legder() 메서드를 사용합니다:
print("\nResult...\n",L.legder(c, axis = 1))전체 예제 코드
import numpy as np
from numpy.polynomial import legendre as L
# 계수로 이루어진 다차원 배열 생성
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)
# legder() 메서드로 르장드르 급수 미분
print("\nResult...\n",L.legder(c, axis = 1))
실행 결과
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...
[[1.]
[3.]]
결과 해석
위 예제에서는 axis=1로 지정했기 때문에 각 행을 따라 미분이 수행됩니다. 첫 번째 행의 계수 [0, 1]은 1차 르장드르 다항식 P₁(x) = x를 나타내며, 이를 미분하면 상수 1이 됩니다. 마찬가지로 두 번째 행의 계수 [2, 3]은 2 + 3x에 해당하므로, 미분 결과는 3이 됩니다. 이처럼 legder() 메서드를 사용하면 지정한 축을 따라 르장드르 급수의 도함수 계수를 손쉽게 계산할 수 있습니다.