Sage/PRML-線形回帰 を sage -ipython notebook で実行

目次へ

竹本氏のブログに sage/PRML-線形回帰 がある。大変参考になるものです。

sage -ipython notebook で実行してみた。次の表に注意点を書き留めます。

sage notebook   sage -ipython notebook
plot(sin(2*pi*x),[x, 0, 1]) --> var('x'); plot(sin(2*pi*x),[x, 0, 1])
  x^j   --> x**j
matrix((M+1),(M+1),1) --> identity_matrix(M+1)

sage plot のインライン表示 について

  • sage notebook ではノートブックにグラフィックがインライン表示される。一方 sage -ipython notebook では別の画面に表示される。 グラフを保存し読み込むことでノートブックに表示させようと思うが力不足でまだ成功していない。
  • Displaying plots in inline mode for IPython notebook に答えを見つけました。
    x = var('x')
    plot(sin(x), 0, 2*pi).save('/path/to/directory/file.png')
    from IPython.display import display, Image
    display(Image('/path/to/directory/file.png'))
  • イメージサイズを変更について。
  • sage の plot 関数で figsize を変更して保存すればグラフのサイズを変えられることに気が付いた。
    from IPython.display import Image
    x = var('x')
    plot(sin(x), 0, 2*pi, figsize = 4).save('file2.png')
    display(Image('file2.png'))
  • ImageMagick を使ってイメージのサイズを変更することを思いついた。
    import os
    os.system("convert -resize x400 file.png file3.png") 
    display(Image(filename='file3.png'))
    

まとめ

  • 上記の3点に注意することで sage notebook を sage-ipython notebook に変換することができた。
  • Sage plot をインライン表示するには Image を使う。

目次へ