daruma3940の日記

理解や文章に間違い等あればどんなことでもご指摘お願いします

Juliaについての備忘録

Juliaについての備忘録(参考にしないほうがいいです)
^インストール

ーーーーーーwindows
上のツイートに書かれてあるようにjuliapProを使ってインストールした
メールアドレスとパスワードを求められるので入力するとこんなメールが届く。
f:id:daruma3940:20180128105651p:plain
ここでJuliaPro-0.6.2.1 (for Windows)をクリックするとwindows版のインストーラー(700MBぐらい?)を入手できる
後はそれに従ってインストールする(2GBぐらい)
JuliaはPythonと連携を取ることができるが
Julia Proフォルダの中にもPythonが入っていて最初はそれと連携をとろうとしているので
以前から入っていたpythonと連携を取らせるためには
Jupyter Notebook Viewer
を参考に
ENV["PYTHON"]="C:\\hoge\\python.exe"
Pkg.add("PyPlot")
でこれまで用いていたpythonのpathを指定する。

ーーーーーーubuntu
ubuntuもJuliaProを使ってインストールした
JuliaPro-0.6.2.1 (for Linux)をクリックすると冷凍されたファイルが手に入る。
https://juliacomputing.com/docs/JuliaProQuickStartGuide-Linux.pdf
スタートガイドには
install_juliapro.shが必要だと書かれているがこれは
さっきのメールのJuliaPro Installer (for Linux)をクリックするとinstall_juliapro.txtが手に入るのでそれを.shに拡張子を変える

インストールに必要なものもさっきのスタートガイドP.3に指定されているのでそれをインストールする
sudo apt-get update
sudo apt-get -y install gcc
sudo apt-get -y install python2.7-dev
sudo apt-get -y install libzmq5
sudo apt-get -y install hdf5-tools
sudo apt-get -y install default-jdk
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.121-0.b13.el7_3.x86_64

これで install_juliapro.sh <冷凍されたファイルの場所> <解凍する場所> を実行
最初にインストールに必要なものがそろってるかのチェックが行われる。
私の環境ではインストールに必要なものチェックがうまくいってなかった
(
apt list $req_app | grep installed
みたいな操作が行われていたがこれがちゃんと動いてなかった
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
ので
)
インストールに必要なものは揃っているはずだしこのチェック部分をコメントアウトして無理矢理動かした(おいおい)
私の知り合いは install_juliapro.shを使わずその場に解凍して使おうとしたらしいけれどPythonとの連携がうまくいかなかったらしい

jupyterでjuliaを使おうとするのに手間取ってしまった


ここに書いてある方法で解決した
jupyter.exeへのpathを調べるには
ターミナルでwhich jupyterを使えばよい
^書き方
bicycle1885.hatenablog.com
↑のサイトが結構わかりやすい

C++でいうクラスのようなものがないのがちょっと悲しい(あるなら教えて)
typeとimmutableというのがあるがこれはあくまでもデータ型であってメンバ関数を取ることはできない。
それらを受け取って処理する関数を外に作成しろということらしい。

indexが1から始まる(Fortranに合わせているらしい)

^感想
パッケージ追加がパッケージ追加後プリコンパイルしているようでクッソ遅い
計算は早いらしいがjulia自身の起動が遅いので小回りが利かない。


私の書いたプログラムはpythonに比べて早くならなかったので否定的な感想ばかりになってしまったけど
スピン系を扱ってる知り合いはテンソル積が簡単にかけるうえに速度が速いので結構気に入っているらしいです