黒木玄 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年03月24日(水)
#Julia言語 私も Yoshida6 をいつも使っている。
他にも色々試してみて「Yoshida6、わるくねえ❤️」という感じ。 twitter.com/kikumaco/statu...
タグ: Julia言語
posted at 00:02:55
#Julia言語 みんな大好きらしい Yoshida6 をDifferentialEquations.jl で使う3つの方法が、既出の
nbviewer.jupyter.org/gist/genkuroki...
にあります。
SecondOrderODEProblem
DynamicalODEProblem
HamiltonianProblem
の3つの問題で、数値計算がうまく行く例を作るためにYoshida6を使っています。
タグ: Julia言語
posted at 00:07:00
#Julia言語 ②にあたることは所謂OOPでの常套手段。そのとき問題になるのは①の側で、②を享受できるメリットを潰さずに、①も享受できるようにしたい。
その1つの答えがJuliaの多重ディスパッチであるというような話が以下のリンク先にあります。去年の12月。結構最近。
discourse.julialang.org/t/is-julias-wa...
タグ: Julia言語
posted at 00:34:28
#Julia言語 「タブ補完」の問題については以下のリンク先のプルリクエストを参照。
github.com/JuliaLang/juli...
タグ: Julia言語
posted at 03:14:30
#Julia言語 以下のリンク先の発言は、(数値)線形代数の実装を効率化するためには、シングルディスパッチのOOPスタイルでは無理で、Juliaスタイルの計算効率を上げるスタイルの多重ディスパッチが必要なのではないかという意見。
Juliaには対称三重対角行列の型もある(笑)
discourse.julialang.org/t/is-julias-wa...
タグ: Julia言語
posted at 03:51:38
#Julia言語 以下のリンク先の発言にあるリスト
①特殊な行列の間の二項演算の効率的な実装には二重ディスパッチが有用。
②異なる型の数値の間の演算。以前私も解説して、最近もどこかで話題になったpromotionの話。
③文脈依存での各種オブジェクトの表示
discourse.julialang.org/t/is-julias-wa...
タグ: Julia言語
posted at 04:01:38
#Julia言語 以下のリンク先には、多重ディスパッチの少なくとも3つあるキラーユースケースで最も重要なのが線形代数だと書いてあった!
私が職業的にJuliaについて最も感心したのは線形代数の実装の仕方。一般ユーザー側からはまるで線形代数の教科書通りに見える。
discourse.julialang.org/t/why-specify-...
タグ: Julia言語
posted at 04:06:54
#Julia言語 もちろん、そこではJET.jlも引用されている。
discourse.julialang.org/t/why-specify-...
JET.jl↓
github.com/aviatesk/JET.jl
タグ: Julia言語
posted at 04:13:42
#Julia言語
C++の開発で知られるBjarne Stroustrupさんは、f(x,y)の最初の引数を特別扱いしてx.f(y)と書くスタイルをろくでもないものとした上で、「浅い理解」だが「ひどくファッショナブル」でしたと言っているんですね。
discourse.julialang.org/t/is-julias-wa...
↓
www.open-std.org/jtc1/sc22/wg21...
↓ pic.twitter.com/maRIFp92Kf
タグ: Julia言語
posted at 04:24:10
#Julia言語
「Juliaではたとえコミュ障でも他人が作ったパッケージの機能を自分のコードで利用できる仕組みになっている」とまとめられる感じ?
discourse.julialang.org/t/is-julias-wa...
タグ: Julia言語
posted at 04:40:52
#Julia言語
多重ディスパッチの仕組みのみを使ったtraitの実現(いわゆるHoly trait)は、ほぼ「何でもあり」になる仕組み。
そういうより一般的で高機能な仕組みを使って「インターフェース」が実現できて何が悪いのか、私も理解できなかった。
discourse.julialang.org/t/is-julias-wa...
タグ: Julia言語
posted at 05:02:36
The free software foundation is just a group of people who call themselves that. They're not the only ones who get to say what software freedom is about.
タグ:
posted at 09:18:23
掛け算の順序が違うと✖
教えた通りに式を解答するまで
〇を与えない教育を続ける学校が
「答えにたどり着くまでの方法は一つではない」
「たくさん試行錯誤するこどもになってほしい」
と入学説明会で話す
意味が分からない
こどもはそもそも柔軟で
好奇心のままに
試行錯誤する存在なんですよ
タグ:
posted at 11:46:45
#Julia言語 初期化されていない配列を作ってくれるsimilarの使い方をまだよく理解していなかった。
Array{Float64}(undef, 4, 3, 2)
と
similar(Array{Float64}, 4, 3, 2)
はほぼ等価。v1.7.0-DEV.706では後者の方が微小に小さなネイティブコードになった。
docs.julialang.org/en/v1/base/arr...
タグ: Julia言語
posted at 13:24:16
#Julia言語 初期化されていない配列の作成はsimilarで統一的に書いた方がよいということなのかしら?
Int64の配列Aと同じサイズのFloat64の初期化されていない配列Bを作りたければ、
A = (1:4)' .+ 10(1:5)
B = similar(A, Float64)
docs.julialang.org/en/v1/base/arr...
タグ: Julia言語
posted at 13:24:16
#Julia言語 Foo{T, U} のようなパラメトリック型に関してよく使われているコードのパターン↓
docs.julialang.org/en/v1/manual/m...
型昇格の話
docs.julialang.org/en/v1/manual/m...
や
所謂Holy traiteの話(trait-based dispatch)
docs.julialang.org/en/v1/manual/m...
もそこにある。
タグ: Julia言語
posted at 13:36:10
#Julia言語 添付画像の 1 Python の例は
discourse.julialang.org/t/is-julias-wa...
より
Pythonだと
from fractions import Fraction
Fraction(1, 10) * 1j + Fraction(2, 10) * 1j
→0.30000000000000004j
Juliaなら
1//10 * 1im + 2//10 * 1im
→0//1 + 3//10*im
この辺はJuliaスタイルの良い点。 pic.twitter.com/3meQlKwCQf
タグ: Julia言語
posted at 13:46:20
#Julia言語
ODEProblem: du/dt = f(u, t)
HamiltonianProblem: 正準方程式
では、後者は特別な構造を持っています。その構造を使えばデフォルトのソルバを前者より「よいもの」にできる可能性があり、実際にどうなっているのか確認していませんが、きっとそうなっているのだと思いました。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 14:05:59
#Julia言語 関連
solve : problem → solution の形式にコードを整理せずに、問題を記述するパラメータをグローバル変数にべた書きして、問題を解く函数の中でそのグローバル変数達をナマで使用するスタイルはそろそろ止めた方がよいと思う。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 14:15:16
#Julia言語 「問題を記述するために必要なデータを1つの変数にまとめておく」「その変数を毎回函数に引数として渡すようにする」とするのは実際にやってみると大して手間を増やしません。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 14:17:49
#Julia言語 C++の開発者も、f(x,y) の最初の引数だけを特別扱いして x.f(y) と書くスタイルは失敗で、浅い考え方だったと言っている。
昔は x.f(y) スタイルを考えることはとてもファッショナブルだったらしい😅
www.open-std.org/jtc1/sc22/wg21... twitter.com/genkuroki/stat... pic.twitter.com/r7ieyqpEwx
タグ: Julia言語
posted at 14:32:33
@rdhernand Sort of. I implemented the real matrix square root and logarithm for #julialang but didn't consider all the ways Infs, NaNs, and really large and small numbers can screw everything up. Which led to this PR where I needed a lot of hand-holding to fix it. github.com/JuliaLang/juli...
タグ: julialang
posted at 14:37:28
悪ふざけ論文のネタ:
* f(a,b,c,…)の中の個人aを特別扱いして、a.f(b,c,…) のように書き、函数fをaの所有物とするアイデアは極めて資本主義的。
* それに対抗する解放運動として多重ディスパッチが提案されて来たが、ことごとく資本主義に敗北して来た。
* 解放運動にとってJuliaは(略) twitter.com/genkuroki/stat...
タグ:
posted at 14:42:08
axiom of equality を「平等の公理」だと誤解させて(本当は「等号の公理」)、さらに axiom of choice を「(産むか産まないかの)選択(を認める)公理」と読ませることに成功したパロディ論文は有名。
physics.nyu.edu/faculty/sokal/...
他にも滅茶苦茶で笑えるのですが、アクセプトされて大騒ぎになった。
タグ:
posted at 14:48:02
あとあの『カイジ』の福本伸行さん。『カイジ』はわし好みじゃないですか、そんな感じしませんか。絵はちばてつやを記号にしたみたいな感じで、そんなにうまくないけど。あれはいいんですよ。去年燃えたのはあれですね。本屋に走っていったのは久々ですね。
(ユリイカ 1997年4月号)
タグ:
posted at 15:06:34
先ほど、MITのAmanda Ghassaei氏による Origami Simulator がアップデートされました。
origamisimulator.org
今回の更新で、当研究室M2の佐々木君が研究開発してきた「曲線折り対応」の機能が組み込まれました。
(私の作品例もいくつか Example に追加してもらっちゃいまいた) pic.twitter.com/mbLFgfwf8r
タグ:
posted at 15:54:11
佐々木君の研究成果はこちらにまとめられています。
www.cgg.cs.tsukuba.ac.jp/~sasaki_k/
開発した成果は GitHub で共有し、こちらからのプルリクエストに基づいてコードをマージしてもらいました。
研究室の学生が海外の研究者とダイナミックに協働できる、素晴らしい時代になったなぁと思っているところです。
タグ:
posted at 15:58:07
Origami Simulator の解説のところにも、佐々木君の名前を入れてもらっています。
これで、これまでの研究開発も一区切り。
卒業式の前日に、よい知らせをいただきました。 pic.twitter.com/r7MAtotQNp
タグ:
posted at 16:00:06
独走状態の #宮城県 ですが、さらに後続を突き放す。しばらくは閉じこもって過ごすしかなさげ。
#仙台市 の市民利用施設は、4/11まで休止だそうです。 #新型コロナウイルス
>【速報】新型コロナ 宮城171人、最多を更新 仙台は131人 | 河北新報オンラインニュース
kahoku.news/articles/20210...
posted at 17:43:28
別ファイルをincludeして最小二乗法を動かしているんだけど、moduleに包んでPythonっぽく動かそうとした方が包まれていない方よりもめちゃくちゃ速いのなんでだ???
タグ:
posted at 17:48:47
大学入試や東日本大震災10年、2/13の福島沖地震などでの #宮城県 外からの来訪増加やGoToEatなどの影響では、と。
感染ルートは相変わらず飲食店やカラオケが多い模様。 #新型コロナウイルス
>宮城でコロナなぜ拡大? 専門家「多様な要因が複合的に作用」 | 河北新報
kahoku.news/articles/20210...
posted at 17:49:04
#宮城県 の独走ぶりですが、昨日の数値でこんな感じ。
沖縄県はまぁまぁがんばってるけど、東京都なんかすでにダブルスコアだからね。相手になりませんな。
そしてよく見ると、山形県が猛追してきている。 #新型コロナウイルス
www3.nhk.or.jp/news/special/c... pic.twitter.com/dSWxMq1oI3
posted at 17:55:15
暇だからoj-templateのpython版を改造してjulia版作ってみたんだけどprepare.config.tomlを設定してもoj-prepareが.jlを出力してくれない。
タグ:
posted at 17:55:56
動くのを優先して作ったJuliaのコードのデバッグが終わったので、次は高速化を施したら、4倍くらい速くなった。一度デバッグしておくと値が変わらないように高速化できて楽。アットtime使いながらメモリアロケーションを減らし続けた
タグ:
posted at 18:43:23
New post: Benchmarking and Profiling Julia Code - www.juliabloggers.com/benchmarking-a... #julialang
タグ: julialang
posted at 19:25:50
非公開
タグ:
posted at xx:xx:xx
Certificación Introduction to Julia (for programmers), online y gratuita!!!, otorgada por el Julia Academy, aprenderás los aspectos básicos del lenguaje de programación Julia
youtu.be/3yfNKUURiVQ
#julialang #programacion #datascience #estadistica #lenguajedeprogramacion
タグ: datascience estadistica julialang lenguajedeprogramacion programacion
posted at 21:20:07
Benchmarking and Profiling Julia Code www.juliabloggers.com/benchmarking-a... #juliabloggers
タグ: juliabloggers
posted at 22:12:21
Juliaで関数の部分適用をやろうとしたメモです。
gist.github.com/hnakano863/4c8...
#Julia言語 #julialang
posted at 22:16:49
非公開
タグ:
posted at xx:xx:xx
This composite was taken by photographer Bill Church over the course of 12 minutes: 35 photos imaging a storm approaching in Utah [author's Flickr: buff.ly/2PgO0gW] pic.twitter.com/zKUe6p4APy
タグ:
posted at 22:30:38
なぜ裁かれなかったのかは、「731部隊と「戦犯免責」」をどうぞ。米国は、細菌戦データの提供と引き換えに部隊幹部の「免責」を行ないました。yu77799.g1.xrea.com/731/menseki.html twitter.com/KBandou1/statu...
タグ:
posted at 22:36:22
@redrapids Unicode inputs in the #julialang code. Is so good for math kkkk pic.twitter.com/hh7VvYr0v0
タグ: julialang
posted at 22:58:30
非公開
タグ:
posted at xx:xx:xx
#Julia言語
github.com/JuliaSIMD/Loop...
の @ avxt マクロを使うとブロードキャストも並列化できるんですね。
私の環境での結果については添付画像を参照。
何も無し → 8.4 ms
@ avx → 3.0 ms
@ avxt → 0.85 ms
なんと10倍近く速くなった!
discourse.julialang.org/t/multithreade...
discourse.julialang.org/t/ann-loopvect... pic.twitter.com/H9dsucygLn
タグ: Julia言語
posted at 23:23:37
数学C復活という話をよく見るけど,基本的に別物では?行列が正式に復活したわけでもないですし.実は世の中の大学のセンセイは,高校生が行列を習っていないことに気がついていない場合も多いです.まぁ,こちらだって,他の教科がどう変化したか知らないし...
タグ:
posted at 23:46:09
非公開
タグ:
posted at xx:xx:xx