Julia - install, package, and emacs
Juliaを始めることにした(=つまりJuliaが使われることに賭けることにした) -
Macにインストール
Mac版の単体Julia 0.4.2をインストール。
これまでのpythonの仕事環境としては、ターミナル上でemacs開いて書いて、実行するという古いスタイルなので、慣れ親しんだこのスタイル+Jupyterで仕様する。
bin本体は/Applications/Julia-0.4.2.app/Contents/Resources/julia/bin/julia
PATHに追加する。
~/juliatest> julia test.jl
これで動くようになった。
ソース頭に
#!/Applications/Julia-0.4.2.app/Contents/Resources/julia/bin/julia
とかけば、そのまま実行可能になる。
emacs環境をいれる
Juliaのemacs環境はjulia-mode.elとESSがあるみたいだ。ESSはうまくいかなかったので、前者をいれる。julia-mode.elをgithubからgetして、.emacs.d/site-lisp/にいれて、.emacsに以下を書く
(load “/Users/name/.emacs.d/site-lisp/julia-mode.el” nil t)
(autoload ‘julia-mode “julia-mode” “Emacs mode for Julia” t)
(add-to-list 'auto-mode-alist ’(“\.jl\’” . julia-mode))
これでつかえるようになった。
Package管理
Packageは専用マネージャーみたいのがある
julia> Pkg.init()
こんな感じでaddするようだ
julia> Pkg.add(“Gadfly”)
消す時は
julia> Pkg.rm(“Gadfly”)
何がinstallされているか確認する時は
julia> Pkg.status()
これらは.julia内にどんどんinstallされていく
はまった幾つか
複素行列の転置(transpose)。Juliaでは行列の転置を' (プライム)で省略してかけるが、複素行列の場合、単なる転置ではなく、複素共役転置になる。
Juliaではindexは1から始まる。pythonとか多くの言語では0から始まるので、importするとき面倒くさい。離散フーリエ変換関係でよくでる配列の変換はたとえば以下。