Python 3 で数学を。

Python 3 とライブラリで数学の問題を解いていきます。統計学や機械学習はときどき。

連立方程式 (Python3, SymPy: solve())

使用するライブラリ

SymPy

Python 3 コード

simultaneous_equations.py

#!/usr/bin/env python3


"""(docstring)
"""


import sympy as sym


def simultaneous_equations():
    """(docstring)
    """
    x, y = sym.symbols('x y')

    # 数式:
    print('連立方程式:')
    print('x + y = 5')
    print('3x + 2y = 11')
    print('')
    #
    # 右辺を左辺に移項 (符号は反転)
    # 3 + y - 5
    # 3x + 2y - 11
    expr1 = x + y - 5
    expr2 = 3*x + 2*y - 11

    res = sym.solve([expr1, expr2])
    # or
    # sym.solve([x + y - 5, 3*x + 2*y - 11], x, y)
    # or
    # sym.solve([x + y - 5, 3*x + 2*y - 11], [x, y])
    # or
    # 最後の引数に、dict=True
    # or
    # その他いろいろ。
    # 詳細は、SymPy 公式の Solvers で。

    print('解答:')
    sym.pprint(res)


if __name__ == '__main__':
    simultaneous_equations()

出力

$ python3 simultaneous_equations.py
連立方程式:
x + y = 5
3x + 2y = 11

解答:
{x: 1, y: 4}

参考文献 (数式を参考)

(良書なんだが、絶版になっているようだ...欲しい場合、アマゾンで中古市場から探す)。

旺文社中学数学解法事典

旺文社中学数学解法事典

中学数学解法事典 (Obunsha study bear encyclopedia)

中学数学解法事典 (Obunsha study bear encyclopedia)

中学数学解法事典 (OBUNSHA Study Bear Encyclopedia)

中学数学解法事典 (OBUNSHA Study Bear Encyclopedia)