Julia100本ノック
Julia vs Python: ビットコインオプションのモンテカルロシミュレーションに引き続き、100 numpy exercisesという、面白いnumpyの練習問題があったのでそれのJulia版を作成しました。
実際には46個しかないのと、numpyの便利関数がなくて挫折したものとかいくつかありますが、pythonistaな方々はオリジナルと比較してJuliaの世界に来ていただければ楽しいのではないかと思います。
この話で得たものをまとめて、JuliaTokyo #1 - connpassで発表してこようと思います。
コードは最後にgistのを貼るとして、発表するための雑感をメモしておきます。
調べるべき所
公式ドキュメントで検索
関連パッケージにないかどうかを調べる(from google)
- 特にStatsBase.jlなどの基本的なパッケージは調べると良い
githubでissueを調べる
Matlabではどう書くかを調べて、その関数名を調べる
Numpyでどう書くかを調べてMatlabに変換する
- NumPy for MATLAB users – Mathesaurus
- 他言語のドキュメント(英語)がわかると、特定の処理を検索するためのワードが分かって良い
numpy, matlabとの比較
matlab, numpyは歴史があるため充実した便利機能が沢山あることを実感
Matlabはおろか、Pythonよりストイックな感じ
- 「Matlabである○○はありませんか?」「No!それ高速に処理できないだろ!」
- “removed pascal(matlabであった関数)”
- 「これあると便利だと思うんだけど」「IMHO 一つのことを複数のやり方でやれるのはどうかと思う」
たまに、独自の関数名をつけてきて辛い
argmax
ならわかるのにindmax
ってなんだよ(2014/06/22追記:argmax
にrenameされそうな動きがあるようです)
code
[2014/06/22追記]
- レポジトリを作りました。最新のものはこちらをどうぞ https://github.com/chezou/julia-100-exercises
- notebookを見えるようにしました。nbview便利すぎる
[2014/06/24追記]
- MLに投稿しました。結構array comprehension使えという話が多く、vectorizeしない方がいいんだよ!というツッコミが新鮮です