[python] SymPy를 사용하여 초월방정식의 근 찾기

초월방정식은 일반적인 형태의 방정식으로서, 다항식과 초월함수로 이루어져 있습니다. 이러한 방정식의 근을 찾는 것은 수학적으로 어려운 문제입니다. 하지만 SymPy 라이브러리는 초월방정식의 근을 찾는 데 도움을 주는 강력한 도구입니다.

초월방정식의 근 찾기

SymPy에서 초월방정식의 근을 찾기 위해서는 sympy.solve() 함수를 사용합니다. 이 함수는 다음과 같은 형식으로 사용할 수 있습니다.

import sympy

# 방정식을 표현하는 심볼
x = sympy.Symbol('x')

# 방정식
equation = x**2 - 2*x + 1

# 방정식을 풀어 근을 찾음
roots = sympy.solve(equation, x)

print(roots)

위의 코드에서 sympy.Symbol은 ‘x’를 표현하는 심볼을 생성합니다. sympy.solve 함수에는 equationx를 입력으로 전달하여 방정식을 풀고 근을 찾습니다. 결과는 리스트 형태로 반환되며, 모든 실근과 복소근이 포함될 수 있습니다.

예제

다음은 SymPy를 사용하여 초월방정식의 근을 찾는 예제입니다. 초월방정식 x^3 + 3*x^2 - 2=0의 근을 찾아봅시다.

import sympy

x = sympy.Symbol('x')
equation = x**3 + 3*x**2 - 2

roots = sympy.solve(equation, x)

print(roots)

위의 코드를 실행하면 다음과 같은 결과가 출력됩니다.

[-3/2 - sqrt(17)/2, -3/2 + sqrt(17)/2, -1]

따라서, 초월방정식 x^3 + 3*x^2 - 2=0의 해는 x=-3/2 - sqrt(17)/2, x=-3/2 + sqrt(17)/2, x=-1입니다.

참고 자료