[python] SymPy를 사용하여 하나 이상의 미지수를 갖는 방정식의 해를 찾는 법

SymPy는 파이썬에서 사용할 수 있는 대표적인 기호 연산 라이브러리입니다. 이를 활용하면 다양한 수학적 작업을 수행할 수 있는데, 그 중 하나는 방정식의 해를 찾는 것입니다. 이번 글에서는 SymPy를 사용하여 하나 이상의 미지수를 갖는 방정식의 해를 찾는 방법을 알아보겠습니다.

SymPy 설치

먼저 SymPy를 사용하기 위해 라이브러리를 설치해야 합니다. 다음 명령을 사용하여 SymPy를 설치하세요.

pip install sympy

SymPy를 이용한 방정식 해 구하기

아래는 SymPy를 사용하여 방정식의 해를 찾는 간단한 예시입니다.

from sympy import Symbol, Eq, solve

# 방정식의 변수 정의
x = Symbol('x')

# 방정식 선언
equation = Eq(x**2 + 2*x + 1, 0)

# 방정식의 해 구하기
solution = solve(equation, x)

# 결과 출력
print(solution)

위의 코드에서는 Symbol 함수를 사용하여 방정식의 변수를 정의하고, Eq 함수를 사용하여 방정식을 선언합니다. solve 함수에 방정식과 변수를 전달하여 방정식의 해를 구할 수 있습니다. 구한 해는 리스트 형태로 반환되며, print 함수를 사용하여 결과를 출력할 수 있습니다.

위 예제는 x^2 + 2x + 1 = 0인 방정식의 해를 구하는 예시입니다. 다른 방정식에 대해서도 위와 같은 방법으로 해를 구할 수 있습니다.

다변수 방정식의 해 구하기

다변수 방정식의 경우에도 마찬가지로 SymPy를 사용하여 해를 구할 수 있습니다. 예를 들어, 다음과 같은 다변수 방정식을 고려해보겠습니다.

x + y = 5 2x - y = 1

이를 SymPy를 사용하여 구현하면 다음과 같습니다.

from sympy import symbols, Eq, solve

# 변수 정의
x, y = symbols('x y')

# 방정식 정의
equation1 = Eq(x + y, 5)
equation2 = Eq(2*x - y, 1)

# 방정식의 해 구하기
solution = solve((equation1, equation2), (x, y))

# 결과 출력
print(solution)

위의 코드에서는 symbols 함수를 사용하여 변수를 정의하고, Eq 함수를 사용하여 방정식을 선언합니다. solve 함수에 방정식과 변수들을 전달하여 방정식의 해를 구할 수 있습니다. 결과는 변수들의 값으로 이루어진 딕셔너리 형태로 반환됩니다.

위 예제는 x + y = 5, 2x - y = 1인 다변수 방정식의 해를 구하는 예시입니다. 다른 다변수 방정식에 대해서도 위와 같은 방법으로 해를 구할 수 있습니다.

참고 자료