[python] SymPy를 사용하여 부정적분하기

부정적분(indefinite integration)은 함수의 원시 함수(primitive function)를 구하는 과정입니다. 필요한 경우 SymPy 라이브러리를 사용하여 Python에서 부정적분을 수행할 수 있습니다. SymPy는 심볼릭 계산(symbolic computation)을 지원하는 파이썬 라이브러리로, 수학적인 기호(symbol)를 이용해 수식을 처리할 수 있습니다.

SymPy 설치하기

SymPy는 pip를 사용하여 간단하게 설치할 수 있습니다.

pip install sympy

예시: 부정적분

다음은 SymPy를 사용하여 부정적분을 수행하는 간단한 예시입니다.

import sympy as sp

# 변수 설정
x = sp.Symbol('x')

# 함수 정의
f = 3 * x**2 + 2 * x + 1

# 부정적분
integral = sp.integrate(f, x)

# 결과 출력
print("함수 f의 부정적분 결과:", integral)

위의 코드에서 우리는 sympy 모듈을 sp로 임포트하고, Symbol 클래스를 사용하여 변수 x를 선언합니다. 그런 다음, 부정적분할 함수 f를 정의합니다. integrate 함수를 사용하여 f를 변수 x에 대해 부정적분하고, 결과를 integral 변수에 할당합니다. 마지막으로 결과를 출력합니다.

실행 결과는 다음과 같습니다:

함수 f의 부정적분 결과: x**3 + x**2 + x

위 예시에서는 3*x**2 + 2*x + 1라는 2차 다항식을 부정적분하였으며, 결과로 x**3 + x**2 + x라는 3차 다항식이 나왔습니다.

SymPy를 활용한 더 복잡한 부정적분

SymPy는 알려진 함수 및 다양한 수학적인 식을 다룰 수 있습니다. 따라서 더 복잡한 수식의 부정적분도 가능합니다. 다음은 SymPy를 사용하여 삼각함수의 부정적분을 수행하는 예시입니다.

import sympy as sp

# 변수 설정
x = sp.Symbol('x')

# 함수 정의
f = sp.sin(x) + sp.cos(x)

# 부정적분
integral = sp.integrate(f, x)

# 결과 출력
print("함수 f의 부정적분 결과:", integral)

위의 코드에서 sp.sin(x) + sp.cos(x)라는 삼각함수를 부정적분하고, 결과를 출력합니다.

실행 결과는 다음과 같습니다:

함수 f의 부정적분 결과: -cos(x) + sin(x)

위 예시에서는 삼각함수 sin(x) + cos(x)를 부정적분하였으며, 결과로 -cos(x) + sin(x)라는 삼각함수가 나왔습니다.

결론

SymPy는 파이썬에서 부정적분을 직관적이고 편리하게 수행할 수 있는 라이브러리입니다. 앞으로 수학적인 이론과 식을 다루어야 할 때, SymPy를 활용하여 보다 빠르고 효율적인 계산을 수행할 수 있습니다.