プログラミング/julia の変更点

更新


[[公開メモ]]

* 目次 [#y14e9ee5]

#contents

* 噂の julia をやってみる [#d16d96b0]

julia を Mathematica 代わりに使うと便利なのかどうか、試してみようと思います。

* jupyter 環境を用意する [#yf1b65f6]

jupyter は多言語対応の [[REPL (Read-eval-print loop)>https://yyyank.blogspot.jp/2015/01/web-repl.html]] 環境で、
ブラウザからアクセスできるのでかなり便利。

julia を jupyter から使うとグラフなども見やすく表示できるし、
結果を Gist などに保存して、履歴を管理したり一般に公開することもできる。

** juliabox [#s1ed00de]

まずは自分でインストールするよりも juliabox で試すのが良いみたい。

https://juliabox.com/

&ref(juliabox.png,,25%);

サイト上部の "Log in with XXX" のところからログインしないと何もできないので始め面食らうけれど、
ログインしてしまえばすぐに使える julia on jupyter が手に入ってとても便利。

自前で jupyter & julia を容易するのは思った以上に面倒で、
人の jupyter notebook を再現しようとしてもやれアレが足りない、
これが足りない、となって凹む。

公開する jupyter notebook はなるべく juliabox 標準に合わせるのが吉なのだと思う。

どういう原理で動いているのかとか、どういう制限があるのかとか、まだよく分かってない。。。


** 自分で julia を入れてみる? [#ecc00f6e]

結構いろいろそこそこ大変。

&ref(julia-on-jupyter.png,border,50%);

*** 環境 [#xede4477]

Debian と Ubuntu で試しています。

*** 内容 [#le5b87df]

- [[インストール>プログラミング/julia/インストール]]
- [[jupyterの使い方>プログラミング/julia/jupyterの使い方]]
- [[juliaの文法>プログラミング/julia/juliaの文法]]
- [[グラフの書き方>プログラミング/julia/グラフの書き方]]
- [[Gist との連携>プログラミング/julia/gist との連携]]

* 情報源 [#z2d915b9]

- https://qiita.com/phigasui/items/0f1becf4555d7f1fe728
- https://gist.github.com/t-nissie/261896dfc388da246ce3
- http://bicycle1885.hatenablog.com/archive/category/Julia
- Juliaの関数について : https://qiita.com/phigasui/items/0f1becf4555d7f1fe728
- Julia練習帳 : https://gist.github.com/t-nissie/261896dfc388da246ce3
- りんごがでている - julia : http://bicycle1885.hatenablog.com/archive/category/Julia

* julia on jupyter の使い方 [#l51fd946]

インストール方法と使い方との記事を分けよう(意気込み

- ノートに目次を追加する -> nbextention の Table of Contents を使う

* 各種ライブラリ [#j4790879]

- 線形代数 https://docs.julialang.org/en/release-0.4/stdlib/linalg/
- 数値積分 [[Cubature>https://github.com/stevengj/Cubature.jl]]
-- 使用例: https://gist.github.com/osamutake/69ba5614e96d70b3b1644c240db4ba73
- 関数を最小化するパラメータを求める [[Optima>https://github.com/JuliaNLSolvers/Optim.jl]]

https://github.com/JuliaNLSolvers とか
* Mathematica でやった計算の後追いをやってみた [#ffbc741a]

[[プログラミング/平方根を使わずに距離を求める]]

と同じ計算を julia でやってみます。

#gist(osamutake/9cf0a93ebd9c4b443aa2565ae336791a)

** 雑感 [#yb4375bd]

- plotfunc2d のようなヘルパーを用意することで、julia でもかなり楽に「関数のグラフ」を書ける
- ただ、普通にやったのではグラフ描画時にメッシュ間隔が一定になってしまうため、グラフのクオリティを上げようとすると計算時間が非常に長いことかかってしまう
-- Mathematica は複雑な形状の部分のみメッシュを細かくするような最適化が働くので有利だ~
&attachref(mathematica-mesh-optimization2.png,,50%);
&attachref(julia-constant-mesh.png,,50%);~
Mathematica では「カド」にメッシュ点が来るけれど、何も考えずに julia でやるとメッシュ点が「カド」を外してしまうので、必要以上にメッシュを細かくしないとキレイなグラフにならない。
- それ以外にもいろいろ、まあ、julia でもできなくはない。できなくはないけど、、、Mathematica が使えるなら Mathematica を使うかなあ・・・
- julia の Plots を使っている限り、ちょっと表現力不足を感じる
-- PyPlot を直接呼び出せば違うのかもしれない???
* コメント・質問 [#e54e314b]

#article_kcaptcha

Counter: 7695 (from 2010/06/03), today: 1, yesterday: 3