파이썬에서 르장드르(Legendre) 급수를 미분하려면 numpy.polynomial.legendre.legder() 메서드를 사용하면 됩니다. 이 메서드는 르장드르 급수의 계수 c를 지정한 축(axis)을 따라 m번 미분한 결과를 반환하며, 미분이 수행될 때마다 그 결과에 스칼라 scl이 곱해집니다.
legder() 메서드의 주요 매개변수
첫 번째 매개변수 c : 르장드르 급수의 계수를 담고 있는 배열입니다. 만약 c가 다차원 배열이라면, 서로 다른 축은 서로 다른 변수에 대응하며 각 축의 차수(degree)는 해당 인덱스 값으로 결정됩니다.
두 번째 매개변수 m : 미분을 수행할 횟수입니다. 반드시 0 이상의 값이어야 하며, 기본값은 1입니다.
세 번째 매개변수 scl : 곱해질 스칼라 값입니다. 매번 미분이 일어날 때마다 scl이 곱해지므로, 최종 결과에는 scl**m(scl의 m제곱)이 곱해진 것과 같습니다. 이 기능은 주로 선형 변수 변환(linear change of variable)에 활용됩니다. 기본값은 1입니다.
네 번째 매개변수 axis : 미분이 수행될 축을 지정합니다. 기본값은 0입니다.
미분 수행 단계
1단계 : 필요한 라이브러리 임포트
import numpy as np
from numpy.polynomial import legendre as L
2단계 : 계수 배열 생성
c = np.array([1,2,3,4])
3단계 : 배열 출력
print("Our Array...\n",c)4단계 : 배열의 차원 확인
print("\nDimensions of our Array...\n",c.ndim)5단계 : 배열의 데이터 타입 확인
print("\nDatatype of our Array object...\n",c.dtype)6단계 : 배열의 형태(Shape) 확인
print("\nShape of our Array object...\n",c.shape)7단계 : legder() 메서드로 르장드르 급수 미분
2차 미분을 수행하고 각 미분 결과에 스칼라 -1을 곱하는 예시입니다.
print("\nResult...\n",L.legder(c, 2, scl = -1))전체 코드 예제
import numpy as np
from numpy.polynomial import legendre as L
# 계수 배열 생성
c = np.array([1,2,3,4])
# 배열 출력
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)
# legder() 메서드로 르장드르 급수를 2차 미분하고 스칼라 -1 곱하기
print("\nResult...\n",L.legder(c, 2, scl = -1))
실행 결과
Our Array...
[1 2 3 4]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(4,)
Result...
[ 9. 60.]
실행 결과를 보면, 계수 배열 [1, 2, 3, 4]로 표현된 르장드르 급수를 2차 미분한 후 각 단계마다 -1을 곱했기 때문에 최종적으로 [9., 60.]이라는 결과가 출력됩니다. 이처럼 legder() 메서드를 활용하면 복잡한 미분 연산도 간단하게 처리할 수 있습니다.