【Python】Symbol,factor,expandで因数分解と展開

あれこれ学ぶ

今回は因数分解と展開を行います。学生の頃から多項式が苦手なので、プログラムが勝手に計算してくれるなら便利ですがどのように実行するのでしょうか。

前回は分数とルートを使った計算を行いました。

記号の定義

今回もJupyter Notebookを使用します。

まず、\(x^{2}\)のように、xをxのまま扱えるようにする必要があります。sympyのSymbol(複数のときはsymbolsと頭文字が小文字になるので注意)を使用します。

from sympy import symbols,factor,expand
x,y = symbols('x,y')
print(x)
print(y)
>>x
>>y

xやyで何も定義をしていなければprint()しても本来はエラーが表示されますが、これで記号として扱えるようになります。

因数分解

次の式を因数分解していきます。先にimportしていたfactor()を使用します。

$$x^{2}-4$$

$$x^{2}-3$$

$$x^{3}-y^{3}$$

factor(x**2 -4)
factor(x**2 -3)
factor(x**3-y**3)

これ以上は因数分解できないと判断されたものはそのままの形で表示されるようです。

factor(x**2*y + x**2 - y -1)
factor(6*x**2 -13*x -15)

このようなややこしい因数分解もかんたんに行うことができます。

展開

展開のときはexpand()を使用します。よく見かける公式を展開します。

$$(a+b)^{2}$$

$$(a-b)^{2}$$

$$(a-b)^{3}$$

expand((x+y)**2)
expand((x-y)**2)
expand((x-y)**3)
Amazon.co.jp: 生き抜くための高校数学: 高校数学の全範囲の基礎が完璧にわかる本 : 芳沢光雄: Japanese Books
Amazon.co.jp: 生き抜くための高校数学: 高校数学の全範囲の基礎が完璧にわかる本 : 芳沢光雄: Japanese Books
Amazon.co.jp: Pythonからはじめる数学入門 : Amit Saha, 黒川 利明: Japanese Books
Amazon.co.jp: Pythonからはじめる数学入門 : Amit Saha, 黒川 利明: Japanese Books
タイトルとURLをコピーしました