[python] SymPy를 사용하여 수치해석 기법 적용하기

수치해석은 수학적인 문제를 근사적인 방법으로 해결하기 위한 기법을 말합니다. 파이썬에서는 SymPy라는 라이브러리를 사용하여 수치해석을 수행할 수 있습니다. SymPy는 심볼릭 계산을 지원하는 파이썬 패키지로, 수학적인 식과 연산을 다루는 데에 유용합니다.

1. SymPy 설치

SymPy를 사용하기 위해서는 먼저 SymPy 패키지를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install sympy

2. 수치해석 기법 예제: 뉴턴-랩슨 방법

뉴턴-랩슨 방법은 함수의 근사값을 찾기 위한 수치해석 기법 중 하나입니다. 주어진 함수와 초기 추정값을 바탕으로 점진적으로 함수의 근사값을 개선해갑니다.

import sympy as sp

# 함수 정의
x = sp.Symbol('x')
func = x**2 - 4

# 초기 추정값 설정
x0 = 2.0

# 미분 함수 정의
diff_func = sp.diff(func, x)

# 뉴턴-랩슨 반복 계산
for i in range(10):
    x1 = x0 - func.subs(x, x0) / diff_func.subs(x, x0)
    x0 = x1

# 결과 출력
print(f"근사값: {x0}")

위의 예제에서는 SymPy를 사용하여 함수를 정의하고, 초기 추정값을 설정합니다. 미분 함수를 정의한 후, 뉴턴-랩슨 반복 계산을 수행하여 근사값을 구합니다. 결과는 10번의 반복 후 근사값을 출력합니다.

3. 기타 수치해석 기법

SymPy는 뉴턴-랩슨 방법뿐만 아니라 다양한 수치해석 기법을 지원합니다. 대표적으로 이분법, 순차적 근사법, 다변수 방법 등이 있습니다. SymPy의 공식 문서나 다른 참고자료들을 참고하여 해당 기법을 사용할 수 있습니다.

4. 참고 자료