Sympyとは
SymPyは、Pythonで記号計算を行うためのライブラリ(無料!)
Mathematicaみたいなやつ!
公式ページ
こちら
やってみよう
環境
$ python3 -V
Python 3.7.3
仮想環境の構築
$ mkdir algebra-homework
$ cd algebra-homework
$ python3 -m venv venv
$ source ./venv/bin/activate
sympyインストール
$ pip install sympy
Collecting sympy
Downloading https://files.pythonhosted.org/packages/ce/5b/acc12e3c0d0be685601fc2b2d20ed18dc0bf461380e763afc9d0a548deb0/sympy-1.5.1-py2.py3-none-any.whl (5.6MB)
100% |████████████████████████████████| 5.6MB 1.2MB/s
Collecting mpmath>=0.19 (from sympy)
Downloading https://files.pythonhosted.org/packages/ca/63/3384ebb3b51af9610086b23ea976e6d27d6d97bf140a76a365bd77a3eb32/mpmath-1.1.0.tar.gz (512kB)
100% |████████████████████████████████| 522kB 1.6MB/s
Installing collected packages: mpmath, sympy
Running setup.py install for mpmath ... done
Successfully installed mpmath-1.1.0 sympy-1.5.1
You are using pip version 19.0.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
連立方程式を解いてみる
-7x +2y +10 = 0
3x +5y +9 = 0
$ python
Python 3.7.3 (default, Mar 6 2020, 22:34:30)
[Clang 11.0.3 (clang-1103.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sympy
>>> x=sympy.Symbol('x')
>>> y=sympy.Symbol('y')
>>> sympy.solve([-7*x+2*y+10,3*x+5*y+9])
{x: 32/41, y: -93/41}
手でxについて解いてみる
-7x +2y +10 = 0
3x +5y +9 = 0
-35x+10y+50=0
6x+10y+18=0
-41x+0y+32=0
x=32/41
なんかあってそうね!よかったよかった