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

파이썬으로 라게르(Laguerre) 급수 미분하기: 도함수 계산과 각 미분에 스칼라 곱하기

라게르(Laguerre) 급수를 미분하려면 파이썬의 laguerre.lagder() 메서드를 사용합니다. 이 메서드는 라게르 급수 계수 c를 지정한 축(axis)을 따라 m번 미분한 결과를 반환합니다. 매번 미분할 때마다 결과에 scl이 곱해지며, 최종적으로는 scl**m이 곱해진 형태가 됩니다.

인자 c는 각 축을 따라 낮은 차수부터 높은 차수 순으로 배열된 계수 배열입니다. 예를 들어 [1,2,3]은 1*L_0 + 2*L_1 + 3*L_2를 나타내며, [[1,2],[1,2]]는 axis=0이 x, axis=1이 y일 때 1*L_0(x)*L_0(y) + 1*L_1(x)*L_0(y) + 2*L_0(x)*L_1(y) + 2*L_1(x)*L_1(y)를 나타냅니다.

lagder() 메서드의 주요 매개변수

  • c: 라게르 급수의 계수 배열입니다. 다차원 배열인 경우 각 축은 서로 다른 변수에 대응되며, 각 축의 차수는 해당 인덱스로 결정됩니다.
  • m: 미분 횟수로, 반드시 음수가 아니어야 합니다. (기본값: 1)
  • scl: 스칼라 값입니다. 매번 미분할 때마다 scl이 곱해지며, 최종 결과에는 scl**m이 적용됩니다. 이는 선형 변수 변환(linear change of variable)에 활용하기 위한 것입니다. (기본값: 1)
  • axis: 미분이 수행되는 축입니다. (기본값: 0)

단계별 진행 과정

먼저 필요한 라이브러리를 임포트합니다.

import numpy as np
from numpy.polynomial import laguerre 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)

라게르 급수를 미분하기 위해 laguerre.lagder() 메서드를 호출합니다. 여기서는 2차 미분을 수행하고 각 미분에 -1을 곱합니다.

print("\nResult...\n",L.lagder(c, 2, scl = -1))

전체 예제 코드

import numpy as np
from numpy.polynomial import laguerre 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)

# 형태 확인
print("\nShape of our Array object...\n",c.shape)

# lagder() 메서드로 라게르 급수 미분 (2차 미분, 스칼라 -1 적용)
print("\nResult...\n",L.lagder(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...
   [11. 4.]