Itsukaraの日記

最新IT技術を勉強・実践中。最近はDeep Learningに注力。

数式処理システムSageを使ってみました

現在、訳あって無線工学の勉強をしており、教科書に書かれた空中線整合条件(インピーダンスマッチング)を確認しようと、下記式が最大になるRの値を求めるため、手で微分して、微分された式が0になるRの値を求めようとしたのですが、結構面倒で挫折しました。
f:id:Itsukara:20171001122833p:plain

数式処理は、数式処理システムに任せれば良いと思い、Maximaをインストールして試したのですが、解(R=Z)は求まるものの、表示で括弧が抜けており、今一つ。
f:id:Itsukara:20171001123103p:plain

括弧を表示する方法をWebで調べると、幾つか解決方法が載っていたのですが、どれも今一つ。

原因は、MaximaGUIが直接使われることが少なくなっているためでした。少し前までは、TeXmacsがGUIとして使われていたようです。しかし、MaximaとTexmacsの連携も不安定で、バージョンがうまく合わないとうまく繋がらない模様(実際、繋がらなくて困りました)。

もう少し調べたところ、現在は、Maiximaを取り込んだSageが主流として使われている模様。

Sageは、仮想アプライアンスとして提供されるため、Virtual Boxさえあれば直ぐに起動でき、IPython形式のNotebookで色々と試せました。直ぐに使えて便利です。下記は試した結果で、括弧がちゃんと表示されています。
f:id:Itsukara:20171005233950p:plain

なお、Sageの仮想アプライアンス英語キーボードで設定されているため、当初、記号がうまく入力できず困ったのですが、これは、Windowsのブラウザでhttp://localhost:8000にアクセスしてSageを利用することで簡単に解決できました。

Sage、名前は今一つですが、中身は素晴らしいですね。

Sageの紹介は下記を参照ください。
http://doc.sagemath.org/
「Japanese」の文書を選べば、日本語の説明が見れます。