Twitter APIの仕様変更のため、「いいね」の新規取得を終了いたしました

黒木玄 Gen Kuroki

@genkuroki

  • いいね数 389,756/311,170
  • フォロー 995 フォロワー 14,556 ツイート 293,980
  • 現在地 (^-^)/
  • Web https://genkuroki.github.io/documents/
  • 自己紹介 私については https://twilog.org/genkuroki と https://genkuroki.github.io と https://github.com/genkuroki と https://github.com/genkuroki/public を見て下さい。
並び順 : 新→古 | 古→新

2018年01月16日(火)

ʇɥƃıluooɯ ǝıʇɐs @tsatie

18年1月16日

#JuliaLang だと際際迄 #Poincare Diskが描けそうっていうのでちょっとワクワクしてるけど,まだ #Luxor も使いこなせてないのでゆるりと遊ぼう。誰かやってそうなものだが…ググっても変なのばかり引っかかる。

タグ: JuliaLang Luxor Poincare

posted at 23:57:20

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki 互換性を保つ必要があるので難しいところもあるかもしれないですね.
個人的な意見としては,良い方向に持っていく破壊的な変更はいいと思います.

タグ:

posted at 23:57:00

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer でも、Pythonとかのメジャーどころがそうなっていてくれた方が(例えばデフォルトの乱数をMTの後継のより高性能なものに変えた方が)幸せになれる人は増えると思う。しかし、あれだけユーザーが増えると「変えること」自体が困難なのだと思います。

Juliaの仕様変更の激しさは滅茶苦茶おもろい。

タグ:

posted at 23:53:27

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer 以前ググったときに、Pythonユーザーの中にもPythonでのデフォルトの乱数を(d)SFMTにしないかと提案している人を見付けたのですが、その提案は好意的に受け取ってもらえていなかったです。

タグ:

posted at 23:50:32

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki こうしてやってみるとJuliaのありがたみがわかりますね.

タグ:

posted at 23:49:32

ゴルゴ・サーディーン @golgo_sardine

18年1月16日

@shoji_arisawa いきなりで失礼します。
【#掛算 の順序について厳格に守るべきだと主張します】
と言われるので、これをお聞きしたいと思います。
この添付画像にある解説は、間違いなのでしょうか? pic.twitter.com/OKD5Vemg7a

タグ:

posted at 23:48:20

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer 私もCythonとNumbaが速いことに気付いて少しだけ試してみたのですが、結局仕事の手間が増えそうな選択しだったので、Juliaに戻りました。

Juliaは、最初からソースが利用可能なものの中で最良に近い部品の寄せ集めみたいなものなので、良質の部品を寄せ集める手間が無くなる利点が大きいです。

タグ:

posted at 23:47:41

黒木玄 Gen Kuroki @genkuroki

18年1月16日

Julia言語の型システムをほとんど何も利用していないような……

タグ:

posted at 23:45:08

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 に詳しい人達のコメントはないでしょうか?

twitter.com/kuromoyo/statu...

タグ: Julia言語

posted at 23:44:34

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer 私のパソコンでは、gccのrandが激しく遅いです。質も悪く、乱数生成も遅い。最悪。gccのrandは絶対に使いたくない。dSFMTで検索するとCのソースコードが「本家」で見付かるので、ありがたく使うと速くなりかつ、Juliaと同じ質でモンテカルロシミュレーションできます。最初からdSFMTにしてほしい。

タグ:

posted at 23:43:34

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer Juliaのデフォルトの乱数はdSFMTなので、それよりも質が低い乱数発生器で計算時間を短くするのは無意味です。せめてメルセンヌ・ツイスターの質は欲しいところ。確か、Pythonのデフォルトはメルセンヌ・ツイスター。それをdSFMTに変えれば乱数生成測度が3倍程度になると思う。

タグ:

posted at 23:40:57

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer あれれ?

Cにデフォルトでついてくる乱数はモンテカルロシミュレーションでは使ってはいけないはずです。

使われている乱数の質の確認は非常に大事です。実際に2Dイジングの計算するときには10^11≒2^36.5個もの乱数を発生させることになります。

Xorshiftの周期は短かったかも。

タグ:

posted at 23:38:59

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki PythonのrandomからCのrandに変更したので速くなったのもありますので,乱数生成アルゴリズムを変更するのは妥当な判断だと思われます.qiita.com/SatoshiTerasak... のCython版を・・・となると手間がかかりますね.

タグ:

posted at 23:28:12

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer PythonでもdSFMT(メルセンヌツイスターの後継)を何とかすれば使えるんじゃないかと思うのですが、そうすれば乱数の部分が速くなる可能性があります。このレベルの単純シミュレーションだと乱数生成の部分が結構重いです。

タグ:

posted at 23:24:23

@kuromoyo

18年1月16日

@genkuroki 要点: 多重ディスパッチは実装時点で型と対応する関数の全パターンが明らかでなければならないこと。一方でOO設計者が期待する多態とは実装時点で明らかで無くても型を拡張実装した人間が適切に(?)実装していることを期待すること。
gist.github.com/torao/d6b762eb...

タグ:

posted at 23:22:09

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer まあ、でも、boundscheck(False) とかしたら速くなるよね。Julia言語の側ではわざとそれを入れないことにしました。

タグ:

posted at 23:20:02

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer おお、すげえ!

タグ:

posted at 23:18:49

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki Cython の最適化進めて 1e8 のオーダで4秒まで縮めました.

s[i,j] = -s1 if rand()/RAND_MAX < prob[k+4] else s1
の行を最適化をさせるともっと速くなると思います.

gist.github.com/terasakisatosh...

タグ:

posted at 23:16:56

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer そういう理由でNumbaに好印象を持ちました。しかし、こちらでは動かない。理由がわからない。

タグ:

posted at 22:52:00

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki うーむ Cythonコードも追加してみました.Numbaには勝てなさそうです.gist.github.com/terasakisatosh...

タグ:

posted at 22:45:25

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer リンク先を見ればわかるように、こちらの環境で Cython と Numba は一応使えています。
gist.github.com/genkuroki/3862...

タグ:

posted at 22:05:55

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer #Julia言語 残念、私の環境(Anaconda3(ついさっき最新版に更新した))ではNumba版が動きませんでした。

gist.github.com/genkuroki/8564...

何が原因なのかググってもわかりませんでした。

タグ: Julia言語

posted at 22:01:51

niszet @niszet0

18年1月16日

と言っている間にjuliaを入れた。

タグ:

posted at 21:56:32

niszet @niszet0

18年1月16日

さて、python環境を入れなおすぜ…

タグ:

posted at 21:52:12

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer #Julia言語 こちらの環境でNumba版が動かないのでCondaをバージョンアップ中。バージョンアップしてすべてアップデートもすませてから再挑戦します。

NotImplementedError: make_function ~というエラーが出た。

タグ: Julia言語

posted at 21:47:13

セクスィ・ナカナカピエロ @NakanakaPierrot

18年1月16日

@genkuroki おお、そっちでしたか。ありがとうございました。

タグ:

posted at 21:37:39

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer #Julia言語 おお!

Nambaを使うとJuliaよりも2.4倍程度遅いだけで済んでいるのか。pure Python 3より100倍以上高速化したわけですよね。計算速度面でNumbaには好印象を持っています。

これから同じコードで私も試してみます。

タグ: Julia言語

posted at 21:32:16

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@NakanakaPierrot docs.julialang.org/en/stable/manu...
【Access arrays in memory order, along columns~This convention for ordering arrays is common in many languages like Fortran, Matlab, and R】

#Julia言語 の1次元配列は縦ベクトル相当なので自然にこうなります。私はこちらの方が好み。線形代数と相性がよい。

タグ: Julia言語

posted at 21:29:05

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 続き。「すでに枯れた安定バージョンがあるのだから、破壊的バージョンアップは行わない」という選択肢は存在しない。こういう経験をできる機会は貴重なので、そういう意味でも、v1.0が出る前にJulia言語を使い始める価値は高いと思います。

タグ: Julia言語

posted at 21:24:01

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 続き~、現実には難しいかも。

プログラミング言語の仕様がバージョンアップで破壊的に変わったとき、ユーザー達には通常「バージョンアップしない」という選択肢があるのですが、Julia言語のv1.0へのバージョンアップでは移行先がv1.0なのでそういう逃げ道がありません。続く

タグ: Julia言語

posted at 21:22:22

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 約半年前のv0.5.2からv0.6.0へのバージョンアップのときに大量のdeprecation警告の嵐に遭遇。数ヶ月後にたぶん出るv1.0.0へのバージョンアップでも結構大変なことが起こると思う。私はだからこそ経験値を増すために今すぐ使い始めた方がよいと言っているのですが、~続く

タグ: Julia言語

posted at 21:17:23

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 に関する現在のJulia言語の仕様に対応している日本語書籍はないと思う。しかし、以下のチュートリアルなどを見ればどういう感じのプログラミング言語なのかわかると思います。

nbviewer.jupyter.org/github/bicycle...

nbviewer.jupyter.org/github/bicycle...

nbviewer.jupyter.org/github/bicycle...

twitter.com/D_A_works/stat...

タグ: Julia言語

posted at 21:14:03

∑ @sinsincoscos

18年1月16日

juliaというのをググってみたけどこれ神言語でしょ 春休み触ります

タグ:

posted at 21:10:32

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki Numbaで現実世界の時間で終わるような結果が得られました.n=1e9
で25秒ほど.提示されているJuliaのコードは11秒ほどで処理が終わります.ヌーン悔しい.
gist.github.com/terasakisatosh...

タグ:

posted at 21:08:49

セクスィ・ナカナカピエロ @NakanakaPierrot

18年1月16日

@genkuroki CとFortranの多次元配列の列と行って連続メモリに割り当てる順が逆だったように思うのですが、Juliaの多次元配列はCとFortranのどちらに合わせてるんでしょうか。。。

タグ:

posted at 21:07:23

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

ごみ @WastIndustrial

18年1月16日

サブ垢のTLがjuliaの話題で埋め尽くされている......

タグ:

posted at 20:55:10

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@missing_problem おお!素晴らしいです!私もうれしいです!

タグ:

posted at 20:43:26

adhara_mathphys @adhara_mathphys

18年1月16日

私のPCはPythonの2と3が混在しており、それに関連してJuliaのライブラリの一部が動かないことがありました。ライブラリを動かすためにはPython3が呼ばれる必要がありました、そのために環境変数としてENV["python"]としてPython3へのフルパスを指定しました。

タグ:

posted at 20:42:12

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語

stackoverflow.com/questions/4020...
Abstract types and inheritance in Julia
【This is exactly what I was wondering, thanks! If B and C share the same type of information but not the exact same field names then how to I implement a common method? You've cleared this up.】

タグ: Julia言語

posted at 20:34:43

非公開

タグ:

posted at xx:xx:xx

Kota @theruleisobeyed

18年1月16日

@hiding_koukyo pythonしか使わんから気がつかなかったけど確かにその3つやね知らんかった。いつものエクスプローラーみたいなファイル選択画面じゃなくしたのが新鮮

タグ:

posted at 20:28:29

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer #Julia言語 とNumbaは親戚なので、型をある程度気にしないとまずそう。

タグ: Julia言語

posted at 20:28:13

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer #Julia言語 実際には10^11個の点を更新しなければ2D Isingの臨界点での適切なサンプルを抽出できない感じなので結構大変。

nbviewer.jupyter.org/gist/genkuroki...

のうしろの方では、10^6点更新に1面ずつ記録を残して10^5面分をファイルに保存する計算をしています。10^5×100^2=10^9で8bit整数だったので8GB.

タグ: Julia言語

posted at 20:27:14

こうきょ @hiding_koukyo

18年1月16日

@ktktltsmtgrss jupyterはjulia,python ,Rの頭文字取ってるわけだからこの3つは基本だよ!

タグ:

posted at 20:22:57

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki Python3として書いていますが2系でもOKです。Numbaかけるとコンパイルエラーするのでチャレンジして見ます。

タグ:

posted at 20:20:38

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@MathSorcerer #Julia言語 ごまふあざらしさん、どうもありがとう!

おお!ピュアPythonだ。Python 2.7の方ですか?

10^9点更新に換算すると3100秒くらいですね。
Juliaだと8.3秒なので370倍くらい違うのかな。

Numbaを使うとメッチャ高速化すると思うのですがどうでしょうかね?

twitter.com/MathSorcerer/s...

タグ: Julia言語

posted at 20:17:21

Kota @theruleisobeyed

18年1月16日

@hiding_koukyo 俺の知らないjupyterだ

タグ:

posted at 20:12:21

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

JuliaのハローワールドはPythonにとってヘビーですな.

タグ:

posted at 20:05:51

Yuki Nagai @cometscome_phys

18年1月16日

周期境界条件があるときにベクトルポテンシャルに周期性をつけられないので、端っこではゲージ変換をして右と左をつなげることになる

タグ:

posted at 19:57:52

Yuki Nagai @cometscome_phys

18年1月16日

書いている過程で素朴にやると遅くなる箇所を発見した。ベクトルに疎行列をかける場合 (v = Ax)、A_mul_B!(v,A,x)は非常に速いがv=A*xはGCも大量発生して重い
#Julia言語

タグ: Julia言語

posted at 19:55:50

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki 周期境界条件の部分を修正しました.これは恥ずかしい. pic.twitter.com/7fyRbrFcBi

タグ:

posted at 19:47:39

Akinori Ito @akinori_ito

18年1月16日

実用的にはMXNetがJulia用のライブラリを提供してるはず

タグ:

posted at 19:41:43

Yuki Nagai @cometscome_phys

18年1月16日

Julia 0.6で、磁場中のs波超伝導体の磁束格子解をChebyshev多項式展開法で自己無撞着に求めるコードを書いてみた。ゲージ変換で周期系をなめらかにつなぐことが大事
nbviewer.jupyter.org/github/cometsc...

github.com/cometscome/Vor...

タグ:

posted at 19:39:31

ASA㏋IKO @asahiko

18年1月16日

っていうかそもそも IPython が Jupyter になるにあたって、Julia, Python, R の3つから名づけたらしい。まじか。
twitter.com/asahiko/status...

タグ:

posted at 19:21:06

ごまふあざらし(GomahuAzaras @MathSorcerer

18年1月16日

@genkuroki うちのゴマがピュアなPythonで実装しました.取り急ぎUPします. pic.twitter.com/AU5ZmXNT8p

タグ:

posted at 19:20:18

ASA㏋IKO @asahiko

18年1月16日

Juliaって初めて聞いたけど今度なんとなく調べてみよう。Jupyter notebookでも使えるらしい。そりゃあ便利だ。

タグ:

posted at 19:18:22

ふぉく(サマンサ) @D_A_works

18年1月16日

JuliaでHello World (2D Ising modelではなく通常のHello World)をやるのにいい参考書ってありますか?

タグ:

posted at 18:59:35

ワトソン @wtsnjp

18年1月16日

LaTeX でも Beamer を使ってスライドを作る時だけは「文書の構造化」については綺麗さっぱり忘れた状態で書くようにしています. twitter.com/sangyoh_sus/st...

タグ:

posted at 18:58:24

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 は「糊」としても結構使えると思う。特にC、Fortran、Pythonと相性がよい。個人的にはもっとRとも相性がよくなって欲しいです。

例えばJulia言語で自分で書いた統計関係のプログラムがおかしな結果を出していないかどうかを確認するときに、Julia言語からRを呼び出せることは便利です。

タグ: Julia言語

posted at 18:57:45

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 からFortranを使う方法の解説をもう一つ見付けた。2年前の記事。

Julia - fortran 90をwrap (bind) する - divrot in an infinitesimal box divrot.hatenablog.com/entry/2016/01/...

タグ: Julia言語

posted at 18:53:50

斉藤ひでみ・現職教師(西村祐二) @kimamanigo0815

18年1月16日

校長にも部活動を休ませてほしいと訴えた。しかし「部活動を担当してこそ一人前の教諭だ」という答え。体調を崩し、「夢にまでみた教員ですが気力も体力も限界です。もう、辞めるときが来たのかもしれません」

本日19時から。。

先生、部活やめるってよ | NHKニュース www3.nhk.or.jp/news/html/2018...

タグ:

posted at 18:20:37

(「・ω・)「ガオー @bicycle1885

18年1月16日

@Ag_smith Juliaを起動しましょう!

タグ:

posted at 18:19:20

内田良:新刊『だれが校則を決めるのか』  @RyoUchida_RIRIS

18年1月16日

NHKさん,スゴいタイトルで部活動に攻めてきた…

「当時の日記には『部活で勝てないとダメ教師と言われる』『しんどい。しんどい』こうつづられていました」
(夜のどこかの時間帯で放送されると思います)

▼先生、部活やめるってよ | NHKニュース www3.nhk.or.jp/news/html/2018... pic.twitter.com/CJCpTt6QX7

タグ:

posted at 18:18:03

Yoshitaka Moriwaki @Ag_smith

18年1月16日

tmux 2.6 on Ubuntu on Windows 10 on Mac OS できた pic.twitter.com/HrHYwcOQX8

タグ:

posted at 18:09:31

非公開

タグ:

posted at xx:xx:xx

新帯秀樹 Hideki Shintai @hs_heddy

18年1月16日

Julia - fortran 90をwrap (bind) する - divrot in an infinitesimal box divrot.hatenablog.com/entry/2016/01/...

タグ:

posted at 17:46:10

Croce/クローチェ @croce1

18年1月16日

Julia言語のHello world (2D Ising model)、難しそうw

タグ:

posted at 17:41:47

黒木玄 Gen Kuroki @genkuroki

18年1月16日

私が #Julia言語 の Hello world (2D Ising model)で作ったアニメーションも貼り付けておきます。 pic.twitter.com/3XuTnKdLaI

タグ: Julia言語

posted at 17:40:10

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 単純なモンテカルロ法の例として、円周率のモンテカルロ計算がよく使われていますが、それとの比較で2次元イジング模型のモンテカルロ計算の方が数学的な内容は圧倒的に深いです。せっかくコンピューターに計算させるなら、数学的にも価値ある計算の方がよいと思う。

タグ: Julia言語

posted at 17:35:58

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 「2次元イジング模型のメトロポリス法によるモンテカルロシミュレーション」は高速計算に使いたいプログラミング言語における Hello world として流行させる価値があると思う。物理的に意味がある例であり、ベイズ推定でも使われるMCMC法の特別な場合でもあり、実質十数行で書けます。

タグ: Julia言語

posted at 17:33:33

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 以上でJulia言語版 Hello world の話はおしまい。

タグ: Julia言語

posted at 17:27:37

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 100×100のイジングのメトロポリス更新で作った10万サイズのサンプルをファイルに保存したら、8GBの巨大ファイルができてしまったことは秘密(笑)。

8bit整数を最初から使うべきだったのですが、メインのルーチンのコードは一切変更する必要はありませんでした。

タグ: Julia言語

posted at 17:26:41

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 では、型を明示的に宣言しまくってコードを書くこともできます。

しかし、それをやってしまうと、64bit整数で動かしていたコードを8bit整数で何の変更も無しに使いまわしするというようなことができなくなって、無駄な手間が増えます。

タグ: Julia言語

posted at 17:22:04

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 は型を明示的に宣言しなくても、函数の引数の型から出発して自動的に他のもろもろの型を推定し、その推定結果に基いて函数をその場でネイティブコードにコンパイルして実行してくれます。どういうネイティブコードにコンパイルしてくれるかも全部見ることができます。

気楽に使える。

タグ: Julia言語

posted at 17:20:29

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 例えば

nbviewer.jupyter.org/gist/genkuroki...

では、「sが整数±1を格納するm×n配列であること」を仮定してプログラムが書かれているのですが、そのとき、±1を64bit整数にした場合にも、メモリの節約のために±1を8bit整数にした場合にも同じように高速に計算してくれます。

タグ: Julia言語

posted at 17:16:57

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 変数に型が付いているのではなく、変数が格納しているモノに型がついている感じ。

函数の引数に型宣言が無くても、引数に具体的な数値が代入されて型が決まると、そこから芋づる式に残りの変数が格納しているモノの型が決まって行くように書くのがJulia言語のスタイルです。

タグ: Julia言語

posted at 17:13:07

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 訂正:In [1]と書いたが、実際にはIn [2]です。

nbviewer.jupyter.org/gist/genkuroki...

を見ると、Juliaで書かれたコードのどこにも明示的な型宣言がないことに気付くはず。しかし、しっかりした型システムがJuliaにはあります。函数の引数の型が決まると型推論によって他のモノの型が決まる仕組み。

タグ: Julia言語

posted at 17:10:23

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 Cなどでテストする場合以外には、最初「10^9個の点の更新」で試さずに、「10^6個の点の更新」くらいで試してみた方がいいと思う。私はこれをCで書く気にはなれない。その理由はCでやるときには擬似乱数発生器のソースをダウンロードして使わないとJuliaに速度競争で確実に負けるから。

タグ: Julia言語

posted at 17:03:18

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 私のテストコードのアルゴリズムを変えずにそのまま他言語に移植して、

・移植されたコードの行数が何行になったか
・どういうCPUで計算時間がどれくらいだったか

を知りたいです。In [1]は空行とコメント行を除くとちょうど20行です。実行時間は8.3秒ですね。

タグ: Julia言語

posted at 17:00:12

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 最近では2次元イジング模型のメトロポリス法が「Hello world」扱いらしいので私が書いたテストコードも貼り付けておきます。

nbviewer.jupyter.org/gist/genkuroki...
2D Ising Metropolis (Gen Kuroki, 2017-01-09)

10^9点の更新に8秒。最適化はもっとできます。自由な複製、改変、配布可。

タグ: Julia言語

posted at 16:55:23

な4-428 @heads428

18年1月16日

C使いでJulia分からんという人はD使うと多分Juliaも分ると思う

タグ:

posted at 16:47:48

な4-428 @heads428

18年1月16日

D使いがjulia人気に嫉妬するの巻

タグ:

posted at 16:47:19

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 補足コメント。Julia言語でArray{Float64,3}をベクトルの2次元配列扱いした場合とArray{Array{Flaot64,1},2}の場合を比較すると、前者の方が速いです。とあるテストで前者は1秒未満で計算できるのに、後者だと1.5秒以上必要でした。
nbviewer.jupyter.org/gist/genkuroki...

twitter.com/kuromoyo/statu...

タグ: Julia言語

posted at 16:47:10

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 末尾再帰最適化についてはリポジトリを検索すればどういうことになっているかがわかります。疑問があったらリポジトリを検索することが基本。

github.com/JuliaLang/juli...

JeffBezansonさんのコメントだけをひろって読むだけで十分だと思う。

twitter.com/kuromoyo/statu...

タグ: Julia言語

posted at 16:36:32

新帯秀樹 Hideki Shintai @hs_heddy

18年1月16日

julia v0.6.2 で CUDA9.1 を使う。 qiita.com/SFyomi/items/7...

タグ:

posted at 16:30:20

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語

たぶん、Julia言語の基礎(multiplie dispatchとそれを支える型システム)を理解していないからそういうことになっていると思うので、最終的に何をやりたいかがわかるような簡単なJuliaのコードを公開すれば、詳しい人達からコメントがもらえると思う。

twitter.com/kuromoyo/statu...

タグ: Julia言語

posted at 16:29:37

新帯秀樹 Hideki Shintai @hs_heddy

18年1月16日

Jupyter 上の IJulia 経由の Fortran 呼び出しで図を描く - fortran66のブログ fortran66.hatenablog.com/entry/2017/08/...

タグ:

posted at 16:26:58

新帯秀樹 Hideki Shintai @hs_heddy

18年1月16日

Juliaのコードを更に高速化する方法 - MyEnigma myenigma.hatenablog.com/entry/2017/08/...

タグ:

posted at 16:26:10

ろーず @bloomtherose

18年1月16日

最近Julia来てるらしいけど、何系の言語なの?

タグ:

posted at 16:08:39

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

おのっち @onotthi

18年1月16日

@GreatDemon1701 あ、そうか単位制があるか、ありがとうございます!
すると
数Ⅱを選択しないことにした生徒・学生・社会人の方々が結城氏の設問に触れても解けないので、「数Ⅱの知識を持ち合わせていなければ解くことはできないよ」とあらかじめ設問に記述しておいてくれ
このような主張を若園氏はされたのですね?

タグ:

posted at 15:51:13

セルフ執事 @SF_yomi

18年1月16日

やーーーーーと使い方判った。
とりあえず、julia0.6.2 で CUDA を動かす.一報です。
あとあと加筆修正して行きます。

qiita.com/SFyomi/items/7...
#Julia言語

タグ: Julia言語

posted at 15:41:16

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

(「・ω・)「ガオー @bicycle1885

18年1月16日

継承がないことを言ってるのかな。でも継承がOOPに必須というわけではないし。

タグ:

posted at 14:27:30

(「・ω・)「ガオー @bicycle1885

18年1月16日

Juliaがオブジェクト指向じゃないというのはどういう意味かよく分からない。

タグ:

posted at 14:23:45

セルフ執事 @SF_yomi

18年1月16日

はい了解しました。書きます。 twitter.com/genkuroki/stat...

タグ:

posted at 13:38:23

黒木玄 Gen Kuroki @genkuroki

18年1月16日

あれだけの仕様変更にも関わらず、 #Julia言語 で書かれた巨大パッケージが健康を保っていたりするんですね。たとえばDifferentialEquations.jlはものすごく巨大なパッケージです。一人で全体の解説をするのは無理なサイズ。

github.com/JuliaDiffEq/Di...

タグ: Julia言語

posted at 13:02:00

黒木玄 Gen Kuroki @genkuroki

18年1月16日

「仕様が数ヶ月後に変わるかもしれない未完成の言語」の「仕様が」の「が」を抜けていた。

タグ:

posted at 12:59:08

黒木玄 Gen Kuroki @genkuroki

18年1月16日

普通はやらないようなことについて「どうして行われていないのだ?」と不満を述べるのはちょっとおかしい。v1.0が出てから数年後に言うべきことをv0.6.2の現在の段階で言われても困る。

で、その現在の未完成品を実際にいじってみると非常に面白いわけですよ。MITの講義も面白いし。

タグ:

posted at 12:58:15

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 はまだv1.0でさえなく、今までずっと仕様変更を伴う改良が行われて来ました。「銭がからむ仕事でそれなりの規模のシステムを作って運用する」というようなことを、仕様数ヶ月後に変わるかもしれない未完成の言語でやる人がいたら普通はびっくりするでしょう。v1.0が出たら変わると思う。

タグ: Julia言語

posted at 12:55:13

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 まあ、Jupyter = JUlia + PYThon + R (eはどこに行った?)らしいので、特別に視界が狭い人達以外にとってはそれらが敵対的な関係になっていないことは明らかだと思う。

現時点では

Julia 数値計算
Python 機械学習
R 統計

で使い分ければ全然問題ないと思う。現時点では。

タグ: Julia言語

posted at 12:51:54

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 勢はPython勢やR勢とはとても親和的で、PythonやRにすでにある資源をうまく利用したいと思っている人達が多いような印象があります。

しかし、OctaveやscilabをJuliaが駆逐してしまうことは十分にありえると思う。matlab系に慣れている人はJuliaはすぐに電卓代わりに使える。

タグ: Julia言語

posted at 12:47:07

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

@etsukoitou fortran66.hatenablog.com/entry/2017/08/...
にFortranで書かれた函数を #Julia言語 から呼び出して、Julia言語でグラフを表示させる例があります。

タグ: Julia言語

posted at 12:38:04

bloody snow @bloody_snow

18年1月16日

今更ながらJuliaをやってみるか

タグ:

posted at 12:36:03

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 でCやFortranの既存の資源を利用する方法については

docs.julialang.org/en/stable/manu...
Calling C and Fortran Code

に説明があります。Fortranでやってみた実例が次の場所にある:

fortran66.hatenablog.com/entry/2017/08/...

Cの例は

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 12:35:40

bloody snow @bloody_snow

18年1月16日

よし、Julia触ってみるか

タグ:

posted at 12:31:04

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 なのに遅いなと思ったら以下を見て下さい。

nbviewer.jupyter.org/gist/genkuroki...
Julia言語で計算が遅くなった場合の解決法

docs.julialang.org/en/stable/manu...
myenigma.hatenablog.com/entry/2017/08/...
Juliaのコードを更に高速化する方法

タグ: Julia言語

posted at 12:31:03

(「・ω・)「ガオー @bicycle1885

18年1月16日

「ワシがJuliaを始めた頃はのう,文字列のエンコードによってデータ型が分かれとったんじゃ。」
「またおじいちゃんそんなこと言って。そんなわけないでしょ。」
「ふぉふぉふぉ,本当じゃよ。」

タグ:

posted at 12:16:21

セルフ執事 @SF_yomi

18年1月16日

julia で CUDA が動いたんだが、なにか良いサンプル無いだろうか?
僕程度でも簡単にやってみれるレベルの奴。

タグ:

posted at 12:00:19

でえもん @GreatDemon1701

18年1月16日

@onotthi 多数派と思われる全日制の普通科ではあまりないと思います。神奈川県の例では単位制の総合学科だと数学Iしか取らないで卒業していく生徒がかなりいますよ。そのような学校のカリキュラム表をご覧になるとよいと思います。

タグ:

posted at 11:57:27

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 具体物の型として、

Function{DomainType, CodmainType}

のような型が欲しい。

struct Hyperfunction{T<:AbstractFloat}
F::Function{Complex{T}, Complex{T}}
G::Function{Complex{T}, Complex{T}}
end

のように書きたい。

タグ: Julia言語

posted at 11:49:21

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 例えば、 f(x::Float64) = exp(im*x) における「x::Float64」は「変数xの型はFloat64型である」という宣言ではなく、「xの中身がFloat64の場合には」という意味だと思った方がわかりやすいと思う。

タグ: Julia言語

posted at 11:42:09

黒木玄 Gen Kuroki @genkuroki

18年1月16日

私の不十分な理解の範囲内では、

#Julia言語 では変数自身には型がなくて、
変数に格納されているモノの方に型がついている

と思った方がよい感じ。これは数学においては結構普通の流儀だと思う。私はスカラー変数もベクトル変数も全部同じように書きます。

タグ: Julia言語

posted at 11:39:29

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 「using パッケージの名前」を実行すると、パッケージをインストールしてくださいと指示が出ることがあります。その場合にはその指示に従えば、そのパッケージを使用できるようになります。

タグ: Julia言語

posted at 11:08:56

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 個人的にはPython環境も整えてJupyter notebookからJuliaを使うとさらに使用時の「気楽さ」が増すのでおすすめなのですが、公式バイナリを

julialang.org/downloads/

からダウンロードして試してみるだけでも結構楽しめると思います。

タグ: Julia言語

posted at 11:07:01

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 の気楽さの例

数値積分も超気楽にできます。 pic.twitter.com/Ld2tSi85Cl

タグ: Julia言語

posted at 11:04:52

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 の気楽さの例

公式バイナリ+Plots+SpecialFunction で
リーマンゼータの絶対値のクリティカルライン上での値のプロット pic.twitter.com/kxFDqXAtS6

タグ: Julia言語

posted at 10:52:27

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 さらに上の方でJulia言語はリーマンゼータも気軽に使えるようになっていることを知った人は「Julia言語がどのようにリーマンゼータを実装しているのか」が気になると思います。どのファイルにリーマンゼータのコードが書いてあるかは**公式バイナリだけ**で簡単にわかります。 pic.twitter.com/V7tdRYQ3rk

タグ: Julia言語

posted at 10:36:48

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 プログラミング言語に詳しいことを自負していてさらに「どのようなプログラミング言語であっても行列の対角化はできます」のように思った人は何もわかっていない人なので注意した方がよいと思う。

タグ: Julia言語

posted at 10:33:18

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 の気楽さの例

添付画像のように行列の対角化と対角化に使われる(固有ベクトルを横に並べた)可逆行列が、公式バイナリを立ち上げて、ちょちょっと入力するだけで可能です。特別なパッケージの読み込みは必要ない。 pic.twitter.com/bSQMSVULlj

タグ: Julia言語

posted at 10:31:38

こうきょ @hiding_koukyo

18年1月16日

jupyter魔改造したった pic.twitter.com/9wN3osScBP

タグ:

posted at 10:28:49

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 の気楽さの例:

公式バイナリを立ち上げて、zeta(0.5)と入力したら、using SpecialFunctionsしてねとメッセージが出たので、それに従うだけで zeta(0.5) を計算できました。こんな感じで、「もしかしてリーマンのゼータ函数にも対応している?」と思って試した人はむくわれることになる。 pic.twitter.com/Bgg60i6uMl

タグ: Julia言語

posted at 10:26:32

黒木玄 Gen Kuroki @genkuroki

18年1月16日

twitter.com/cometscome_phy...

私も非常によくわかります。

Julia言語の「気楽さ」はとてもありがたい。

整数値と浮動小数点数値を厳密に区別しながら、コードを函数の中に入れるだけで特別なおまじない抜きに高速で計算してくれる。私のプログラミング能力だとCで書くより確実に速いことが実証済み。

タグ:

posted at 10:23:46

おのっち @onotthi

18年1月16日

@GreatDemon1701 確かに必修ではありませんが、卒業までに少なくとも74単位を要するので、必修単位のみでは高校の卒業要件を満たしません。
74単位を満たしつつ数Ⅱを教えないカリキュラムを行う高校を私は知らなくて申し訳ないのですが、そのような高校はご存じですか?
どんなカリキュラムなのか、研究したいのです。

タグ:

posted at 10:16:25

黒木玄 Gen Kuroki @genkuroki

18年1月16日

私は個人的に #Julia言語 に興味を持った人には、MITの講義録を見ることを強くすすめています。

2017→ github.com/stevengj/18S09...
2018→ github.com/stevengj/18S096

これの内容が(Julia言語とは無関係に)非常に面白いです。そして、Julia言語が無ければこういう講義は難しかったと思います。

タグ: Julia言語

posted at 10:02:01

黒木玄 Gen Kuroki @genkuroki

18年1月16日

Jupyter を使うだけなら IJulia パッケージだけ入れればよいのですが、#Julia言語 から Python ライブラリを利用したくなることは多いはず。 Julia から使う python.exe を指定して、PyCall パッケージもインストールしておきたいです。PyPlot パッケージを入れれば PyCall パッケージも自動的に入る。

タグ: Julia言語

posted at 09:44:16

黒木玄 Gen Kuroki @genkuroki

18年1月16日

私が #Julia言語 をWindowsにインストールしたときの記録
nbviewer.jupyter.org/gist/genkuroki...

1. Anaconda3をインストール
2. 環境変数JUPYTERを設定
3. Juliaをインストール
4. juliaを記号して IJulia パッケージと PyPlot パッケージをインストール

詳しくは上のリンク先を見て下さい。

タグ: Julia言語

posted at 09:41:50

結城浩 / Hiroshi Yuki @hyuki

18年1月16日

@GreatDemon1701 なるほど。そちらに主眼があったのですね。私は「三角比」と書くか「三角関数」と書くかを迷ったので、そちらかと思いました。おおもとはセンター試験に出てきたラジアンが出発だったので、「センター試験のあの問題を受けてる人は教科書で読んでいるはずだよ」という気持ちで書きました。リプ感謝。

タグ:

posted at 09:02:50

でえもん @GreatDemon1701

18年1月16日

@onotthi 高校に入ったことがある人、というつもりです。

タグ:

posted at 08:59:57

非公開

タグ:

posted at xx:xx:xx

おのっち @onotthi

18年1月16日

@GreatDemon1701 楽しみに拝見していたのですが、全員というのは誰を指すのですか?

タグ:

posted at 08:44:31

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

でえもん @GreatDemon1701

18年1月16日

@hyuki 「高校で」という話でしたので、全員が学ぶわけではないということも触れた方がよいかなと思った次第です。他は余計でしたね。

タグ:

posted at 08:22:53

さのたけと @taketo1024

18年1月16日

@motcho_tw 僕はそう理解してます。定数倍する関数と見ても良いと思います。 rad ってつけるのは人間に「これは角度について議論してます」って示すためのもので論理的にはなくてもいいものだと思います。

タグ:

posted at 08:21:07

Clara Kreft @808Towns

18年1月16日

ピタゴラスの定理を朝ご飯の前に説明する pic.twitter.com/TdOCt5Kx7q

タグ:

posted at 08:15:28

結城浩 / Hiroshi Yuki @hyuki

18年1月16日

@GreatDemon1701 リプありがとうございます。
すみませんが、ツイートの主旨がよくわかりませんでした。

質問「ラジアンなんてどこで学ぶのですか?」

への回答として、

回答「高校で三角関数を学ぶとき、最初に出てきます。数学の教科書に出てきます」

よりもよい表現のご提案ということでしょうか?

タグ:

posted at 08:03:23

Yuki Nagai @cometscome_phys

18年1月16日

2014年の記事だけどすごくわかる「私がJuliaを推す理由」 d.hatena.ne.jp/isobe1978/2014...

タグ:

posted at 07:59:13

でえもん @GreatDemon1701

18年1月16日

@hyuki 「y=sin xのグラフを描こうとするとき、縦軸はいいとして、横軸はどうするのか。適当に90°をとっていいか。」という話から、角度を円弧の長さで測る必要性につなげ、一周すると2πなんだという説明をします。教科書では先に定義が出てきます。

タグ:

posted at 07:53:40

でえもん @GreatDemon1701

18年1月16日

@hyuki 文字通りであればその通りですが、「三角関数」という名称の単元は数学IIですから、初めてsin,cos,tanを学ぶ「三角比」という単元は数学Iで、そこにラジアンは登場しません。必履修は数学Iだけなので高校生全員が学んでいるわけではありません。

タグ:

posted at 07:41:03

RRR @badadder

18年1月16日

Windows用Clangは仕様が変で、使い方の習得に余計なコストがかかる一方、

- 最新版のビルド済バイナリが最速で手に入る
- Linuxの知識が不要

というメリットもある。
このあたりが解っていれば選択肢にはなり得る。使い方は↓。

twitter.com/badadder/statu...

タグ:

posted at 07:24:03

RRR @badadder

18年1月16日

補足。

この話、純粋に"Windows上でClangを使う"だけならMSYS2ではなくWindows Subsystem for Linuxでもよい。WSLはWindowsの機能の一環なので更新の継続性も期待できる(かも)。
Windows上で動作するバイナリを作りたいならMSYS2.

タグ:

posted at 07:11:17

Lain Matsuoka/松岡 玲音 @lain_m21

18年1月16日

ちなみに私の周りでもJuliaを使ってる人は数えられるほどしかいない。たぶん数値計算系のラボに行けばもう少し増えるかな?機械学習系はほぼ全員Python。ロボットもやる人はC++も、って感じ、

タグ:

posted at 06:55:14

Lain Matsuoka/松岡 玲音 @lain_m21

18年1月16日

JuliaはMITの人たちが開発している言語なのでみんな使いましょう(ここで露骨な母校アピール

タグ:

posted at 06:51:24

春 @sunbluesome

18年1月16日

ようやくJuliaで乱数ジェネレータの状態を保存できた。
MCMC捗る。

タグ:

posted at 04:51:12

てらモス @termoshtt

18年1月16日

雑メモ:
既存資産をJuliaから呼び出す · Issue #2 · termoshtt/termoshtt.github.io github.com/termoshtt/term...

タグ:

posted at 03:16:04

てらモス @termoshtt

18年1月16日

「既存のFortran資産もJuliaから使えます!」
って煽っていくスタイル

タグ:

posted at 02:48:26

てらモス @termoshtt

18年1月16日

"When calling a Fortran function, all inputs must be passed by reference,"
書いてた(´・ω・`)
docs.julialang.org/en/stable/manu...

タグ:

posted at 02:47:33

てらモス @termoshtt

18年1月16日

julia> path = ccall((:getenv, "libc"), Cstring, (Cstring,), "SHELL")
なるなる(`・ω・´)
docs.julialang.org/en/stable/manu...

タグ:

posted at 02:44:03

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 補足:optimize函数はベクトルvを引数とする1変数函数も受け取るので高次元空間上の函数の最小化も実行できます。ただし、ローカルミニマムがあると苦しいことになる。

ローカルミニマムがある場合には github.com/robertfeldt/Bl... が使えたりするかも(試していない)。

タグ: Julia言語

posted at 02:29:37

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 例えば、Optim.jlパッケージのoptimize函数が受け取る最小化したい函数は1変数函数に限ります。しかし、最適化したい函数がさらにパラメーターを持たせたいことは多いので、比較的容易に大域変数を含む函数を使うということをやってしまう。

数値計算ではfunction-like objは必須に近い。

タグ: Julia言語

posted at 02:27:03

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 aが大域変数のとき、f(x)=g(a,x)として、1変数函数のみを受け取る函数 foo(f) を実行すると「大域変数を含む函数は遅くなる」ので計算が遅くなります。それを防ぐにはfunction-like objectを使えばよい。1変数函数のみを受け取る函数は結構ある。

nbviewer.jupyter.org/gist/genkuroki...

タグ: Julia言語

posted at 02:23:45

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語

Function{Complex{Float64}, Complex{Float64}} のような型が欲しい。

タグ: Julia言語

posted at 02:18:38

(「・ω・)「ガオー @bicycle1885

18年1月16日

fastmathつけると対数関数とかも速くなるんやな。

タグ:

posted at 02:18:26

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

RRR @badadder

18年1月16日

Windows上でClangを使いたいなら

× Windows用Clangをインストール
○ MSYS2をインストールして、そこからpacmanでdev-baseとMinGWとClangをインストール

現状(5.0.1)のWindows用ClangはMSVC互換にしようとして変な仕様になっている。手間はかかるがMSYS上に作った方が良い。

と結論。(個人的に)

タグ:

posted at 02:09:54

koh_t @koh_t

18年1月16日

バグってきれいな図ができた pic.twitter.com/JDTm3eSa0k

タグ:

posted at 02:09:09

ゆうな @kawauSOgood

18年1月16日

みんなしてなんなの、Juliaのどこがいいの?!

…って思って調べてみたらなんだこの都合よすぎる女!!!
数式書きやすいし爆速!!!こりゃ〜みこすりはんだべ

タグ:

posted at 02:01:31

ceptree @ceptree

18年1月16日

Julia、やはり元MATLABユーザーからしたら、デフォルトで多次元配列の演算をでき、なおかつ速いというのは、それだけで十二分に魅力がある。プロットまわりさえ整えば、手軽に数値計算をする時はJuliaとなりそう。

タグ:

posted at 01:55:46

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 訂正:あ! 3.0+4.0im と打ち込んだつもりが、 3,0+4.0im になってしまっていますね。訂正しながら読んで下さい。

タグ: Julia言語

posted at 01:54:12

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 のv0.6の型システムの解説については

qiita.com/antimon2/items...

が読み易いです。

タグ: Julia言語

posted at 01:50:19

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 おまじないを何も唱えなくても最初から複素函数を自由に使えるのは助かる。

タグ: Julia言語

posted at 01:41:27

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 安直ではないより適切な型指定の方法をマスターするためには色々覚えなければいけない。

佐藤超函数の場合にはa,b,cにあたるものが函数F,Gになります。函数Fの型は # F になります(# の後の空白は除く)。だから、後で内容を自由に変更できなくなる。詳しくはノートブックの方を参照。

タグ: Julia言語

posted at 01:38:59

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 パラメーター a, b, c を持つ函数が欲しくて、後で a, b, c を変更したければ、安直には

mutable struct Foo{A,B,C}
a::A
b::B
c::C
end
function (f:Foo)(x)
f.a, f.b, f.c, x を使って計算するコード
end
f = Foo(1, 2.0, 3,0+4.0im)

のようにして作れます。

タグ: Julia言語

posted at 01:36:13

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 <:Functionのような書き方を理解できない段階の人は

struct Hyperfunction{T, S}
F::T
G::S
end
Hyperfunction(F) = Hyperfunction(F,F)
(f::Hyperfunction)(x) = f.F(x + im*eps()) - f.G(x - im*eps())

としても大丈夫なので、そう難しい処方箋ではないと思います。

タグ: Julia言語

posted at 01:30:45

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 このようにして、

delta = Hyperfunction(F,F)

と定義すると、T, S の型が具体的な函数 F の型 # F になります(# の後の空白は除く)。Functionのような抽象的な型ではなく、具体的な函数の型が使われることが本質的。Julia言語が具体的な型を認識できる場合に速くなります。

タグ: Julia言語

posted at 01:29:11

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 続き。5倍高速化される定義はこうです。

struct Hyperfunction{T<:Function, S<:Function}
F::T
G::S
end
Hyperfunction(F) = Hyperfunction(F,F)
(f::Hyperfunction)(x) = f.F(x + im*eps()) - f.G(x - im*eps())

「型パラメーターT,S付きの型」を使っています。続く

タグ: Julia言語

posted at 01:26:49

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 実際には Hyperfunction_naive ではなく、別のもっと効率よく計算してくれる Hyperfunction を定義して使っているので、以上で紹介したコードはその辺の区別が曖昧でかつ混乱しています。Hyperfunction_naive の定義を次に紹介する Hyperfunction に変えるだけで5倍速くなります。続く

タグ: Julia言語

posted at 01:25:06

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 もう一つの例。

F2(z) = -sqrt(-z)/(2im)
f2 = Hyperfunction(F2)

と平方根の複素函数(ブランチカットが入る)で佐藤超函数 f2 を作ったとしましょう。そのプロットは添付画像の通り。

おお!0以上で平方根と一致する(超)函数が得られました。

こんな感じで佐藤超函数で遊べます。 pic.twitter.com/dwY7sXDGNF

タグ: Julia言語

posted at 01:22:57

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 続き

struct Hyperfunction_naive
F::Function
G::Function
end
(f:;Hyperfunction)(x) = f.F(x+im*eps()) - f.G(x-im*ips())

となる。例えば、

F(z)=-1/(2π*im*z)
delta=Hyperfunction(F,F)

でDirac δが得られます。添付画像はこれのプロット。おお!確かにδ函数だ!(笑) pic.twitter.com/Yyj0fss2LI

タグ: Julia言語

posted at 01:19:48

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語 1変数佐藤超函数は極めて易しくて、形式的には、上半平面上の正則函数Fと下半平面上の正則函数Gによって、実軸上の佐藤超函数fは

f(x) = F(x+iε) - G(x-iε)

と定義されます。ここでεは正の無限小です。これをJuliaで素直に実装すると、続く

タグ: Julia言語

posted at 01:15:09

黒木玄 Gen Kuroki @genkuroki

18年1月16日

#Julia言語

nbviewer.jupyter.org/gist/genkuroki...
なんちゃってhyperfunctions Part 2

函数を内容物として持つfunction-like objectの挙動について知りたくて、佐藤超函数のなんちゃってJulia実装で遊んでいます。続く

タグ: Julia言語

posted at 01:11:57

matheca @paulerdosh

18年1月16日

うちの107で亡くなった祖母もテクノロジーの発展で便利になった事を否定的に語る大人を批判していた。あれは健常者の奢りだと。 twitter.com/tanakh/status/...

タグ:

posted at 01:05:25

Yuki Nagai @cometscome_phys

18年1月16日

Julia、MITにいた時に共同研究者が使ってたのを見て使いやすそうだったので始めた

タグ:

posted at 01:04:51

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

このMITの講義で使われているJupyter notebook (#Julia言語 カーネル) が非常に面白いんです。直接話を聴いているMITの学生さん達はもっと面白いと思っているに違いない。

面白いことは若い人たちに強い影響を与えます。私はそういう経路で世の中が変わって行くと良いと思っています。

タグ:

posted at 01:00:33

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

18年1月16日

個人的にはすでに #Julia言語 で次のリンク先のような講義がMITで行われていることに注目するべきだと思っています。面白いです。Julia言語を使っていますが、基本的に普遍的な考え方を解説しようとしています。

github.com/stevengj/18S09...

タグ: Julia言語

posted at 00:49:09

(「・ω・)「ガオー @bicycle1885

18年1月16日

JuliaにはMATLABをケアして欲しいと思っております。

タグ:

posted at 00:37:57

koh_t @koh_t

18年1月16日

JuliaのJITコンパイラなLLVMで爆速は、PythonのNumbaで出来るじゃないですかっていう話、そういうNumbaとか書きたくないんです!何も考えずにfor文書きたいんですっていう需要の気持ちがわかっていないと思う。(最近のNumbaは改善したらしいけども

タグ:

posted at 00:32:08

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

みゅーもり @myuuuuun

18年1月16日

Juliaが大流行している

タグ:

posted at 00:14:07

Dento @Wenjson

18年1月16日

米国大学の研究者の先輩がJuliaがっつり使ってると言ってたなぁ。
民間企業の転職の可能性考えるとPython がよさげだが、そんなことはどうでもよいか。 twitter.com/wnk_datasci/st...

タグ:

posted at 00:13:12

非公開

タグ:

posted at xx:xx:xx

わさを @WasaOhMyDoggo

18年1月16日

私は数理モデルを解析的/数値的にいじる研究もしているので、現時点でもJuliaを扱う動機があります。Juliaをやっていくぞ💪😤

タグ:

posted at 00:08:10

@genkurokiホーム
スポンサーリンク
▲ページの先頭に戻る
ツイート  タグ  ユーザー

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

掛算 統計 超算数 Julia言語 数楽 JuliaLang 十分 と教 モルグリコ 掛け算

※タグはスペースで区切ってください

送信中

送信に失敗しました

タグを編集しました