[python] SymPy를 사용하여 변수계수로 방정식 풀이하기

방정식은 수학적인 문제를 해결하는데 중요한 도구입니다. SymPy는 파이썬에서 사용할 수 있는 강력한 심볼릭 계산 라이브러리입니다. 이번 포스트에서는 SymPy를 사용하여 변수계수로 된 방정식을 풀어보겠습니다.

SymPy 설치하기

SymPy를 사용하기 위해선 먼저 설치해야 합니다. 다음 명령어를 사용하여 SymPy를 설치할 수 있습니다.

pip install sympy

변수계수 방정식 생성하기

SymPy는 심볼릭 변수를 다루는데 특화되어 있습니다. 먼저 Symbol 클래스를 사용하여 변수를 정의해보겠습니다. 예를 들어, xy라는 두개의 변수를 정의하고 싶다면 다음과 같이 작성할 수 있습니다.

from sympy import Symbol

x = Symbol('x')
y = Symbol('y')

변수를 정의한 후에는 계수와 함께 방정식을 작성할 수 있습니다. 예를 들어, 2x + 3y = 10과 같은 방정식을 표현하고 싶다면 다음과 같이 작성할 수 있습니다.

from sympy import Eq

eq = Eq(2*x + 3*y, 10)

방정식 풀이하기

SymPy를 사용하여 변수계수 방정식을 풀기 위해서는 solve 함수를 사용합니다. solve 함수는 주어진 방정식을 풀어 변수의 값을 구합니다. 예를 들어, 위에서 작성한 방정식을 x에 대해 풀고 싶다면 다음과 같이 작성할 수 있습니다.

from sympy import solve

solution = solve(eq, x)

solution 변수에는 방정식을 만족하는 x의 값이 저장됩니다. 마찬가지로 y에 대해서도 풀이를 할 수 있습니다.

solution = solve(eq, y)

이렇게 하면 y의 값이 저장됩니다.

예제

다음은 SymPy를 사용하여 변수계수 방정식을 풀어보는 간단한 예제입니다.

from sympy import Symbol, Eq, solve

x = Symbol('x')
y = Symbol('y')

eq1 = Eq(2*x + 3*y, 10)
eq2 = Eq(x - y, 3)

solution = solve((eq1, eq2), (x, y))

print(f"x의 값: {solution[x]}")
print(f"y의 값: {solution[y]}")

위 예제는 2x + 3y = 10x - y = 3이라는 두 방정식을 풀어 xy의 값을 찾습니다. 결과는 다음과 같이 출력됩니다.

x의 값: 3
y의 값: 0

마무리

이번 포스트에서는 SymPy를 사용하여 변수계수로 된 방정식을 풀어보았습니다. SymPy는 다양한 수학적인 문제를 해결하는데 활용할 수 있는 강력한 라이브러리입니다. 추가적으로 SymPy에 대해 더 알고 싶다면 공식 문서를 참고해보시기 바랍니다.