長くなったら複数ページに分けるかもしれない
Juliaとは
RやMATLABのような科学技術計算向けのプログラミング言語です。
大規模数値計算のための高速化はもちろん、動的な要素だったり色々盛り込んだ言語のようです。
MITの人達が主だって作っています。(Why We Created Julia)
公式サイトのベンチマークを見ると、その爆速度合いが伺えます。(Octaveぇ...)
IJuliaとは
Webブラウザベースで、コーディングや実行結果の確認が出来る環境です。
Markdownも書けたりします。IPython Notebookを拡張しています。
Juliaを使って解析などをしていると、計算結果を図にして確認したり、数式や表等をコメント的に挿入しておきたいことがあるかと思いますので、IJuliaを主な開発環境にしたいと思います。
インストール
IJuliaをセットアップする際、既存ライブラリの際等に悩まされたりするので、いっそのことVM上に構築したいと思います。以下の手順に沿って進める事ができれば、簡単に構築可能かつお使いのマシン内を散らかすこともないかと思うのでオススメします。利用環境は、RubyとBundlerがインストールされた、MacやLinuxを想定しています。
VirtualBoxのインストール
Vagrantのインストール
IJulia on Ubuntuのセットアップ
$ git clone https://github.com/hassaku/vagrant-chef-ijulia.git
$ cd vagrant-chef-ijulia
$ vagrant up
$ vagrant ssh-config --host julia-vagrant >> ~/.ssh/config
$ bundle install --path vendor/bundle
$ bundle exec knife solo prepare julia-vagrant
$ bundle exec berks vendor cookbooks
$ bundle exec knife solo cook julia-vagrant nodes/julia-vagrant.json
動作確認
$ ssh julia-vagrant
...
vagrant@julia-vagrant:~$ ipython notebook --no-browser --ip=0.0.0.0 --port=8888 --profile julia
- ホストマシンのブラウザで0.0.0.0:8888にアクセスする
- New Notebookのボタンを押す
- 以下を入力し、Ctrl + Enterを押し、正弦波のグラフが表示されること
using PyPlot
x = [0:0.01:2*pi]
plot(x, sin(x))
ERROR: could not open file /home/vagrant/.julia/Nettle/src/../deps/deps.jlが出た場合
vagrant@julia-vagrant:~$ julia
julia> Pkg.build("Nettle")
(たぶんつづく...)