sympyで因数分解

  • jupyter導入
  • sympyで因数分解

jupyter

自分の場合、anyenvでpyenv入れてる。

$ pyenv install anaconda3-2.4.0
$ mkdir -p path/to/math-example
$ cd path/to/math-example
$ pyenv local anaconda3-2.4.0
$ conda install jupyter
$ jupyter notebook

2回目以降は

$ cd path/to/math-example && jupyter notebook

note : pyenv

pyenvってinstall -lだかのlist known関係のが無いように見えて、入れるバージョンをググってしまった。

sympyで因数分解

import sympy
x, y = sympy.symbols("x y")

(64 * x ** 3 + 27).factor()
#=> (4 * x + 3) * (16 * x ** 2 - 12 * x +9)

おお。でも数値計算っぽいのになんで #factorが呼べるんだ?

type(3)
#=> int

type(3 * x)
#=> sympy.core.mul.Mul

type(3 * x + 5)
#=> sympy.core.add.Add

なるほど(?) そのうち考えることにするが、なんかそういう型になるから#factor が呼べると想像しておく。

Edited: 2016-01-22 7:00

なんか気持ち悪いと思ったらこっちだよな多分 pythonっぽい記述の
sympy.factor((64 * x ** 3 + 27))

見覚えのある高校数学の教科書っぽい表示

sympy.init_printing()
呼ぶことで

(4*x + 3)*(16*x**2 - 12*x +9)

Screen Shot 2016-01-20 at 14.58.36
こうなる。

ただし、

4 * (x ** 2 + 5 * x) と書くべきところを 4 (x**2 + 5x)のようにうっかり書いてしまうと、

TypeError: 'int' object is not callable

python入門以前だとよくわからないエラーになってしまう。

表示はこうしつつ、コピペした時にはpythonでvalidな形になっててほしい。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中