黒木玄 Gen Kuroki
- いいね数 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 を見て下さい。
2021年06月08日(火)
@NeuroKiruse @gusthema You can do computations with `begin` and `end`, for example `begin+2` or `end-1`
タグ:
posted at 23:39:32
@gusthema #JuliaLang do has slicing! Although we use "begin" and "end" rather than just omitting.
I am, however, still missing negative indexes 👀
And out of bounds is also an issue.
Tho tbf I CAN build a type with such support myself!
タグ: JuliaLang
posted at 23:13:37
この「色々びっくりした」のニュアンスを言葉で適切に伝えられるとは思わない。
あまりにもびっくりしたので一生忘れないと思う。
私は一松信さんが関係している本(翻訳を含む)のファンで、今でも見つけたら買っている。
タグ:
posted at 23:04:55
#Julia言語 ゲームのルールはこうです。
①パッケージOを誰かが書く。
②それ以後パッケージOを書き換えてはいけない。
③別のパッケージPの中でパッケージOに型やop.を追加せよ。
スクショへの書き込みも書き換えました。 pic.twitter.com/GA5C5LbGDz
タグ: Julia言語
posted at 22:35:41
#Julia言語 件の記事中での expression problem とは「プログラミング言語の設計によっては、AまたはBは実現できても、理想的なCが実現できなくなる」という問題だと思うべきで、object-orientedやfunctionalのような用語に引っ張られるべきではないと思います。 pic.twitter.com/zjAlNbTKEB
タグ: Julia言語
posted at 22:19:15
#Julia言語 スクショへの書き込みでは、赤字で object-oriented, functional と書き込見ましたが、実際には、左側の「A, B, C の3つの場合」のようにニュートラルに考えるべきです。
件の記事でもvisitor pattern は状態Aを状態Bに変えているというように解説されています。 pic.twitter.com/ldZh5Bd9QD
タグ: Julia言語
posted at 22:16:43
非公開
タグ:
posted at xx:xx:xx
#Julia言語 このスレッドのトップで紹介した記事のポイントは「多重ディスパッチならvisitor patternを避けられる」という事実ではないです。
ミスリードしてしまったようなので、件の記事の内容を1枚のスクショに要約しておきます。
eli.thegreenplace.net/2016/the-expre... pic.twitter.com/OOIS9za1cp
タグ: Julia言語
posted at 22:13:26
Data-driven procrastination cont'd: Comparison of the low-dimension Perron-Frobenius operator's predictions against an ensemble of stochastic simulations performed using #JuliaLang's DifferentialEquations.jl package the fantastic @ChrisRackauckas and his colleagues :) pic.twitter.com/1FG4OD2PQ2
タグ: JuliaLang
posted at 22:03:56
「正多面体と素数」色々と天才すぎてヤバい。
前回は次数や係数が全部素数で不思議ですね〜とか言ってたけど、今回それらの素数が Z[√5] で分解できるかどうか調べだした。
あちこち伏線張ってあるけど、最終回までに全部回収できるのかな?
#放送大学 #正多面体と素数 pic.twitter.com/4P2WYOVlCK
posted at 21:59:15
#超算数 面白い資料を発見。
Dalham, Florian. _Institutiones Physicae: In Usum Nobilissimorum Suorum Auditorum Adornatae. . ._. Vienna: Trattner. 1753. books.google.co.uk/books?id=3Fs_A...
・17世紀初頭にイギリスで発明された×記号がすでに使われている。
Multiplicationis signum est ×. pic.twitter.com/lIogYlN1js
タグ: 超算数
posted at 21:47:44
#Julia言語 パッケージRでは、多重ディスパッチを使った「ちーと」も使いながら、visitor patternで function call と variable を扱う機能を追加してあります。
式への訪問者の種類も「文字列変換者」「評価者」にさらに「代入者」が追加されている。
全ソースコード
↓
nbviewer.jupyter.org/github/genkuro... pic.twitter.com/MKdB4BUcnt
タグ: Julia言語
posted at 21:39:46
@sammy_suyama 弊学においでになったときといい,生産的な雑談をしがちでしたよねむしろ.誤った便利さの主張とかについては数年前からよく突っ込んでましたがそれは生産性のない論争とは違いますよね
タグ:
posted at 21:36:58
#Julia言語 添付画像中には、visitor patternで書かれつモジュールQで、「式を文字列に変換する者」と「式の評価者」を式に訪れてもらったときの記録が表示されています。
それらの訪問者たちは式のツリー中で帰納的に作業してくれる。 pic.twitter.com/qAtiqUEdwe
タグ: Julia言語
posted at 21:30:51
須山敦志 Suyama Atsushi @sammy_suyama
なんかベイズ統計の話をうかつにすると刺されるみたいな空気がある的な意見をたまに観測するのですけど、少なくとも僕みたいに課題解決の便利なツールとしてベイズを使用しており、その便利さを単に主張している限りであれば、特に論争みたいなのは起きた記憶がないですね。
タグ:
posted at 21:30:33
#Julia言語 (式への)の訪問者はモジュールQでは2種類定義されています。
片方は「式の値の評価者」で、もう一方は「式を文字列に変換する者」です。
それらの訪問者たちは式にvisitさせると、式のツリーを全探索して、計算の途中と結果の様子の記憶を持ち帰ります。 pic.twitter.com/klVmntlBqM
タグ: Julia言語
posted at 21:26:06
#Julia言語 添付画像①はJulia的に普通のコードで、②はvisitor patternを採用しています。どちらでも、四則演算用のコードをforループを回して生成していることに注目。
「訪問者が式を訪れて記憶(思い出)を得る」というvisitor patternでの函数名などを決めています。 pic.twitter.com/IV7IVxbBWq
タグ: Julia言語
posted at 21:22:43
#Julia言語 visitor patternを理解せざるを得ない立場に追い込まれている人もいるかもしれない。以上で紹介した
nbviewer.jupyter.org/github/genkuro...
でのvisitor patternの実装は多重ディスパッチの「チート」のお陰でかなりシンプルになっています。Juliaで実際に動かせば、理解の役に立つと思います。
タグ: Julia言語
posted at 21:18:58
非公開
タグ:
posted at xx:xx:xx
#Julia言語 visitor pattern で書かれたモジュールQに、function call の機能を追加するコードは添付画像中の赤枠の内側です。大体、コードの量が倍に増える。
ロジックもモジュールO+Pの場合よりもかなり複雑です。
正直、これはかなりつらい。 pic.twitter.com/D3GuK6PtMR
タグ: Julia言語
posted at 21:07:17
#Julia言語 そこで、上で紹介したモジュールOのvisitor pattern版を書いてみました。最初は多重ディスパッチを使わずに書こうとしたのですが、面倒になり過ぎたので、多重ディスパッチを使う「チート」を行い、コードを単純化。
それでも、visitor patternにすると倍くらいコードの量が増えた。 pic.twitter.com/moW6yZB3AZ
タグ: Julia言語
posted at 21:04:06
#Julia言語 メソッドが特定のクラスやオブジェクトの保有物になってしまうクラスベースのオブジェクト指向言語では、以上のようにはうまく行かないと
eli.thegreenplace.net/2016/the-expre...
には書いてあり、そこではvisitor patternの方法が紹介されています。続く
タグ: Julia言語
posted at 21:01:18
#Julia言語
モジュールPの赤枠の内側がfunction callの機能の追加になっています。
そのために、FunctionCall型を定義して、モジュールOの函数にFunctionCall型を扱うメソッドを追加しています。
多重ディスパッチでは特別な工夫無しにこのようにシンプルに書けます。 pic.twitter.com/BDthBFOCYa
タグ: Julia言語
posted at 20:54:16
#Julia言語
まず、Juliaで普通の感覚で書いた定数と四則演算で構成された式を扱うモジュールOを見てみましょう。非常にシンプルです。
基本問題:モジュールOを何も変更せずに、別のモジュールPでこれにfunction callの機能などを追加せよ。
答えに続く pic.twitter.com/0sBtH19Idp
タグ: Julia言語
posted at 20:51:43
#Julia言語 せっかくなので、
eli.thegreenplace.net/2016/the-expre...
にあるコードのJulia版を書いてみました。
全ソースコード
↓
nbviewer.jupyter.org/github/genkuro...
タグ: Julia言語
posted at 20:48:59
#Julia言語 良記事紹介
eli.thegreenplace.net/2016/the-expre...
The Expression Problem and its solutions
Juliaは出て来ませんが、多重ディスパッチが解決策として出て来ます。
定数と足し算で構成された式と評価を扱っている状況に、function callの機能を追加することが例として扱われています。続く
タグ: Julia言語
posted at 20:46:20
@ppp3141592ppp #Julia言語 タプルの順序は辞書式順序です。
github.com/JuliaLang/juli... pic.twitter.com/xUUkV1onRu
タグ: Julia言語
posted at 20:21:15
@cometscome_phys 私の過去の悪さが原因でよくない記事を拡散されてしまっているように思ったのでコメントしました。
誰かもっと注意深い意味のあるベンチマークテストを実行して模範を示してほしいと思いました。
タグ:
posted at 20:10:49
@cometscome_phys #Julia言語 函数の内側に計算結果を確定させる情報がすべて入っている場合にはどこでコンパイル時計算が効いて来るか分からない!
あと、私の環境では、inbounds simd より、LoopVectorization.jl の方が倍程度速いです。
あと、単純すぎる計算のベンチマークテストとして意味がないと思っています。
タグ: Julia言語
posted at 20:09:12
@cometscome_phys #Julia言語 その記事、今見直すとあんまりよろしくないかも。
①私にミスリードされて、LoopVectorization.jl ではなく、inbounds simd を使っている。
②実行前に丸め誤差を除いて理論的に答えが分かっている場合になっている。これは非常によくない。
たぶんこの両方について私が悪い。
続く。
タグ: Julia言語
posted at 20:05:15
#Julia言語
タプルのまま比較できるな
境界条件 書くの楽になるかも
未満の境界は両方のとき。
ふむ pic.twitter.com/TeSadQwMYc
タグ: Julia言語
posted at 17:37:44
#software
Multiple Dispatch in Julia
ift.tt/3imhbM9 pic.twitter.com/ws4Hk5Q0Hh
タグ: software
posted at 16:36:17
@genkuroki 情報ありがとうございます!
追加の sdd pkg でここまで出来るのは、流石 Julia という他ないですね。みんな「如何に Julia で高速かつシンプルに処理を行うか」に情熱をかけていて凄いです(´・ω・`) 昔 C++ から AVX-512 をゴリゴリやっていたのを思い出すと、夢のようですね。
タグ:
posted at 14:13:43
富谷(助教);監修 シン仮面ライダー @TomiyaAkio
twitter.com/TomiyaAkio/sta...
Julia での格子QCDの体験のノートブックです。スマホでもgoogle アカウントだけで楽しめます。
タグ:
posted at 13:58:38
富谷(助教);監修 シン仮面ライダー @TomiyaAkio
フォロワー増えたので自己紹介。理研BNL(アメリカ)でポスドクしてる富谷です。専門は素粒子物理(格子QCD)です。最近は機械学習,量子計算を素粒子物理に活かせないかを研究しています。機械学習の本も書いてます(shorturl.at/alGQ5)。業績はscholar.google.co.jp/citations?user... セミナー依頼お待ちしています
タグ:
posted at 13:56:29
#Julia言語 定数は静的型付けだし、大抵のローカル変数も静的型付け可能。
問題は函数の静的型付けがまだ十分にサポートされていないこと。
それが可能なことについては→ github.com/yuyichao/Funct...
同じ型 A→B を持つ函数の配列で効率的なものを使いたい場合は結構あると思う。 twitter.com/yellowshippo/s...
タグ: Julia言語
posted at 13:38:30
#Julia言語
github.com/JuliaSIMD/Loop...
LoopVectorization.jl
の @ turbo と @ tturbo (スレッド並列版)は適切に使えばさらにクソ速いです。forループだけではなく、ブロードキャストにも使える。
juliasimd.github.io/LoopVectorizat...
メタプログラミング万歳。 twitter.com/miyaran99/stat...
タグ: Julia言語
posted at 13:29:40
The Julia Language @JuliaLanguage
#julialang developers, please take this survey. @JuliaLanguage twitter.com/nassarhuda/sta...
タグ: julialang
posted at 12:52:10
2個目のtestの結果はこんな感じになる
0.000000 seconds
0.000015 seconds (11 allocations: 400 bytes)
0.000002 seconds (1 allocation: 32 bytes)
0.000001 seconds (1 allocation: 32 bytes)
メモリアロケーションが多すぎる #julialang
タグ: julialang
posted at 12:33:12
これ変だ
function test()
g = dzeros(ComplexF64,(3,3,256),workers(),[1,1,1])
g1 = zeros(ComplexF64,3,3,256)
@ time a1 = g1[3,1,1]
@ time a_direct = g[3,1,1]
@ time a_localpartfunc = localpart(g)[3,1,1]
@ time a_localpart = g.localpart[3,1,1]
end
test()
test()
タグ:
posted at 12:32:07
先日、木更津市の龍宮城スパホテル三日月で行われた将棋棋聖戦第一局の舞台にて、勝負スイーツとして、なんとオランダ家のケーキが選ばれました✨
藤井棋聖はガトーショコラ🤎
渡辺名人は苺のショートケーキ🍰とザ・モンブラン🧁
選んで頂いてありがとうございます✨
www.sanspo.com/article/202106...
タグ:
posted at 11:15:17
anaconda3-2021.05にアップデートしたので、JuliaのENV["PYTHON"]のパスをそれに変更してビルドしたんだけど、PyPlot等を呼び出すときにMKL関連のfatal errorが出るようになってしまった。
しばらく調べたけど良い解決策が分からなかったのでとりあえず前のバージョンに戻しておいた。
タグ:
posted at 11:11:10
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
@nassarhuda I have confidence that after JuliaCon 2020, this year's numbers should definitely be higher!
タグ:
posted at 01:39:51