多項式の展開(sympy.expand)
SymPy で多項式 A と多項式 B の積をつくると、(多項式 A) * (多項式 B) という形で返ってきます。
# SYMPY_EXPAND # In[1] # sympyをインポート import sympy # 文字を定義 sympy.var('a b') # 多項式を定義 f1 = a + 5 * b + 2 f2 = a + 2 * b + 5 # 多項式の積 g = f1 * f2 print(g) # (a + 2*b + 5)*(a + 5*b + 2)
SymPy で多項式を展開したいときは sympy.expand() を使います。
# In[2] # 多項式の展開 g = sympy.expand(f1 * f2) print("f1 × f2 =", g) # f1 × f2 = a**2 + 7*a*b + 7*a + 10*b**2 + 29*b + 10
因数分解(sympy.factor)
SymPy で因数分解するときは sympy.factor() を使います。一例として、$a^2+5a+6$ を因数分解してみましょう。
# SYMPY_FACTORIZATION # In[1] import sympy # 記号を定義 sympy.var('a') # 多項式を定義 f = a ** 2 + 5 * a + 6 # fを因数分解 print(sympy.factor(f)) # (a + 2)*(a + 3)
次は $a^2+7ab+4ac+10b^2+11bc+3c^2$ を因数分解してみます。
# In[2] # 記号を定義 sympy.var('a b c') # 多項式を定義 f = a**2 + 7*a*b + 4*a*c + 10*b**2 + 11 * b*c + 3*c**2 # fを因数分解 print(sympy.factor(f)) # (a + 2*b + c)*(a + 5*b + 3*c)
コメント