[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
함수에는 equation
과 x
를 입력으로 전달하여 방정식을 풀고 근을 찾습니다. 결과는 리스트 형태로 반환되며, 모든 실근과 복소근이 포함될 수 있습니다.
예제
다음은 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
입니다.