つれづれなる備忘録

日々の発見をあるがままに綴る

SymPyの使い方2 ~ いろいろな出力表示方法

 前回Google ColabにインストールされているPythonモジュールのSymPyについて紹介したが、使い方の続きとして今回は出力の表示方法を中心に紹介したい。

atatat.hatenablog.com

なお記事タイトルを「Google ColabでPython ~ SymPyの使い方2」というようにしようと思っていたが、Google Colabの機能の話かPythonモジュールの使い方の話か後で見返したときにわかりにくくなるのでタイトル名のつけ方を変えることにした。

1. 有理数の表示

 SymPyではシンボルと数値の他に有理数を扱うことができる。有理数として定義をするにはRational(分子,分母)を用いる。例えば

Rational(1,3)
>1/3

1/3という有理数として定義できていることがわかる。なおRational()を用いずに単純に1/3と入力すると1÷3が実行されて0.3333という浮動小数点表示される。また有理数で定義された変数に対して演算を行うと有理数または整数で答えが返ってくる。例えば

a=Rational(1,3)
a*2
>2/3
a*3
>1

2. 数値表示および任意精度表示

有理数などを浮動小数点表示で確認したい場合はevalf()を用いる。例えば有理数1/3を評価して小数点表示するには

Rational(1,3).eval()
>0.333333333333333

となる。有理数だけでなく平方根やπなどの定数にも適用できる。evalf()の引数は表示桁数を指定する

pi.evalf(20)
>3.1415926535897932385

3. 出力表示の変更

 SymPyの実行結果を通常のテキスト表示(pythonのデフォルト表示)ではなく、LaTeX表示にしたい場合はinit_printing()を実行する。

init_printing()

以下にinit_printing()の実行前後の出力表示を比較した。

"init_printing()実行前後の表示比較"
init_printing()実行前後の表示比較

LaTeX表記で数式が綺麗に表示されていることが確認できる。元のテキスト表示に戻したい場合は

init_printing(False)

とすると表示が元に戻る。

4. まとめ

 今回はSymPyの表示方法に関して、有理数の表示(定義)、有理数等から浮動小数点表示(評価)、任意精度表示、最後に出力結果のLaTeX表示する方法について紹介した。