黒木玄 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月06日(日)
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
Recently, I’ve been re-writing all of my #julialang hard-coded dynamics with #SciML’s ModelingToolkit.jl!
Common models used within astrodynamics are available (or will soon be added) to AstrodynamicalModels.jl 🚀
github.com/cadojo/Astrody...
posted at 02:01:42
NASA has made a sub-scale RC plane for flight control research, and Chakraborty et al published polynomial approximations for this aircraft’s longitudinal dynamics
This polynomial approximation is available within #julialang at PolynomialGTM.jl ✈️
github.com/cadojo/Polynom...
タグ: julialang
posted at 02:01:42
I should add — both of these #modelingtoolkit extensions will be available in Julia’s General package registry in 3 days or less!
タグ: modelingtoolkit
posted at 02:18:31
非公開
タグ:
posted at xx:xx:xx
New post: From Julia to Rust - www.juliabloggers.com/from-julia-to-... #julialang
タグ: julialang
posted at 03:45:23
Ali AlSaibie | علي ا @AliAlSaibie
Why pseudo-code when you can code.
#JuliaLang
alsaibie.github.io/me319/prelabse... pic.twitter.com/apYBanpfAC
タグ: JuliaLang
posted at 04:44:27
Check out "Dispatching Design Patterns"
presented by Aaron Christianson at JuliaCon 2020
www.youtube.com/watch?v=n-E-1-...
#JuliaLang #Coding #Opensource
タグ: Coding JuliaLang Opensource
posted at 05:11:00
非公開
タグ:
posted at xx:xx:xx
From Julia to Rust miguelraz.github.io/blog/juliatoru... #hackernews
タグ: hackernews
posted at 05:54:26
From Julia to Rust miguelraz.github.io/blog/juliatoru... #hackernews
タグ: hackernews
posted at 06:04:26
@akinori_ito @genkuroki この単純な加算だとCで1時間半、kahan summationを使うと7時間、単純な加算でCUDAを使うと5分(RTX3090)でした ^^;
タグ:
posted at 07:15:08
@kenic @akinori_ito コードを公開していただけると嬉しい人達が沢山いると思いました。
誰か #Julia言語 でも並列版とCUDA版を書くべき。
30未満から30以上への境目の正確な判定にFloat64の単純和だと失敗しているみたいです。公式 1+1/2+1/3+…+1/n = ψ(n) + γ を使って確認してみました。このチートだと計算は一瞬。
タグ: Julia言語
posted at 07:37:33
@kenic @akinori_ito ここで ψ(x) はdigamma函数(統計で必須の基本特殊函数の1つ)で γ = -ψ(1) はオイラー定数 0.5772… です。
digamma函数について知らなくてもEuler-Maclaurinの和公式を知っていれば足ります。
タグ:
posted at 07:41:33
顔をなでられている黒ウサギのように見える動画。実際にはカラスの一種が頭をなでられているが、撮影の角度も含めて目の錯覚が起きやすい状況。米国ミズーリ州南部にある鳥類の保護区で撮影。カラスは18歳で Mischief (いたずら)という名前がついているとのこと。 via @ABC pic.twitter.com/xriAtEMp5E
タグ:
posted at 07:43:16
@kenic @akinori_ito で、質問なのですが、kahan summationだと H_n = 1+1/2+…+1/n ≥ 30 となる最小のnは幾つになりましたか?
公式 H_n = ψ(n+1) + γ (上に書いた公式は誤り、こちらが正しい)とMPFRを使って計算したら、n = 6000022499693 になりました。
github.com/genkuroki/publ...
タグ:
posted at 07:47:28
@genkuroki @akinori_ito 6000022499693で30を超えました。同じですね!
twitter.com/kenic/status/1...
タグ:
posted at 07:51:39
Someone was wrong about my work on the internet, so I dug up a bunch of references to correct them, but by the time I got there they had already deleted their comment and now I don't know what to do.
タグ:
posted at 07:52:52
@kenic @akinori_ito おお!答え合わせに成功!
Kahan summationがめっちゃ正確であることのデモンストレーションにもなっていますね!
一応、特殊函数経由での計算もFloat64でやってみましたが、min{ n | H_n ≧ x} の正確な計算では、x=33までは成功して、x=34で失敗することがわかりました。精度の限界。 pic.twitter.com/EJ8VmkOlNg
タグ:
posted at 08:26:20
富谷(助教);監修 シン仮面ライダー @TomiyaAkio
@___c_h_i_c_a___ 図を書いてみると、tanh とatan でも勾配は似た感じになりそうです。若干atan の方が勾配が0でない領域が大きそうですが。 pic.twitter.com/LL6jAiPVA0
タグ:
posted at 09:04:30
@kenic @akinori_ito Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
でH_n≧21となる最小のn(=740461601)を求めるのにかかった時間は
Julia: 0.65 s
gcc: 0.67 s
程度で同じくらいでした。Juliaは通常gccと同じ程度には速いです。21を30にした場合の n=6_000_022_499_693は
やはり1時間半程度
で計算できそうですね。 pic.twitter.com/I1C7Tl55y7
タグ:
posted at 09:10:04
@kenic @akinori_ito スクショだと再検証が無駄に面倒になるので、ソースコードにリンク。
github.com/genkuroki/publ...
gccでコンパイルした函数をJuliaで使っています。
Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
の環境で #Julia言語 を使っても、1+1/2+…+1/nが30を超えるまで計算するのに1時間半程度のはず。
タグ: Julia言語
posted at 09:12:51
#Julia言語
github.com/genkuroki/publ...
Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
の環境で、1+1/2+…+1/nが21を超えるn=740461601を超えるまでJuliaで計算するのに0.65秒なので、30を超えるまで計算するのにかかる時間は
1時間半程度
になりそうです。
twitter.com/dannchu/status...
タグ: Julia言語
posted at 09:19:44
@kenic @akinori_ito #Julia言語 でKahan総和の場合を書いてみました。
1+1/2+…+1/nが21を超える最小のnまで計算するのに、
単純和: 0.65 s
Kahan: 1.3 s
でほぼ半分の計算速度になりました。これなら、30の場合も Intel + Julia で3時間程度。
ソースコード↓
github.com/genkuroki/publ...
github.com/genkuroki/publ... pic.twitter.com/WyIeMl6lUf
タグ: Julia言語
posted at 10:04:18
#Julia言語 Kahan法を使わないと正確なnを求めることができないのですが、Kahan法を書いてみたら、約半分のスピードになりました。
Intel + Juliaで30の場合は3時間程度で正確に計算できるはずです。
github.com/genkuroki/publ...
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 10:05:56
非公開
タグ:
posted at xx:xx:xx
昔→1日10時間ぐらいパソコン動かして5年
今
↓
普通のIntelパソコンでCなどを使わずに #Julia言語 のようなお手軽プログラミング言語で、正確でなくてもよいなら
1時間半
Kahan総和なら
3時間
twitter.com/dannchu/status...
タグ: Julia言語
posted at 10:08:57
チカかたこりGORIGORI @___c_h_i_c_a___
@TomiyaAkio わざわざ図までありがとうございます!
とみやさんはJulia派なんですね笑
こうやって見るとやはりとてもよく似ていますね...
arctanはS字がフラットで識別が良いという話は見つけましたが,私の論文の文脈とはあまり関係なさそうでした...
これはこれで興味深い話に思えますが
theurbanengine.com/blog//arctan
タグ:
posted at 10:09:25
だれか、 #Julia言語 で並列版やCUDA版を書いて!
1+1/2+…+1/n を 30 を超えるまで計算するだけです。
Kahan法がbetterなのですが、私が書いたコードは
github.com/genkuroki/publ...
にあります。
タグ: Julia言語
posted at 10:11:25
IntelパソコンのJuliaで1時間半(正確さを重視するなら3時間)でした。並列化もGPUも使わずに!
twitter.com/qwerasdf1944/s...
タグ:
posted at 10:13:04
富谷(助教);監修 シン仮面ライダー @TomiyaAkio
@___c_h_i_c_a___ 仕事ではどっちもつかってますけど、最近は勉強のためにもちょっとしたことはJulia で書くようにしています。
このあたりは、いくつか試してみて選んだという所だと思います。
タグ:
posted at 10:14:50
#Julia言語 は大学院生のお兄さん達が草の根で作り始めたプログラミング言語なのですが、そこに十代の少年も開発に参加して来た。
こういうのって胸熱の展開だと思います。
github.com/JuliaLang/juli... pic.twitter.com/j0keJpVVSI
タグ: Julia言語
posted at 10:30:39
チカかたこりGORIGORI @___c_h_i_c_a___
せっかくJuliaに触れる機会が来たのでぱしょんこに入れようと思ったけどちょっと大変だ...
切羽詰まりが解決したらにしようかな
タグ:
posted at 11:16:45
理解が大雑把で過ぎます。学習指導要領は学校教法施行規則(省令)に規定される告示でありそもそも法的位置付けは法令ではないが、最高裁判例で法的基準性が高いことが確認されている。しかし学習指導要領解説は法令上の位置づけはなくコンメンタールではもちろんない。法と省令の関係とは全く異なる。 twitter.com/flute23432/sta...
タグ:
posted at 12:14:01
#Julia言語 無事終了
約1689秒=約28分
1から6*10¹²まで逆数を並列化で足し上げて、そこから先は順番に足して行って30を超えるまで計算。
30を超えるのはn=6000022499693のときで、これは別の方法で得た結果と一致する。
和をKahan法で計算しないと結果が不正確になる。
github.com/genkuroki/publ... pic.twitter.com/FVEKwtbgeq
タグ: Julia言語
posted at 13:35:55
#Julia言語
昔:1日10時間くらいで5年間
↓
今:Intelラップトップパソコンで30分弱
しかもKahan法で答えも正確な値が求まっている。
CPU: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
6コア12スレッド
ソースコード
↓
github.com/genkuroki/publ...
タグ: Julia言語
posted at 13:39:45
#Julia言語 パソコン自体の計算が速くなっているだけではなく、Juliaのような気楽に書けて速いプログラミング言語が登場したおかげで、並列化のコードも気楽に書けるようになっている。コードを書くために必要な時間も大幅に減っていると思われる。
使ってコードは添付画像の通り。 pic.twitter.com/Y5ZmciR83l
タグ: Julia言語
posted at 13:45:38
#Julia言語
Kahan法を使って総和計算の誤差を削減。
inv(n) = 1/n 以外の任意の函数 f(n) の和にも対応している。
複数の浮動小数点型にも対応している。
スレッド並列化も行っている。
現代的なプログラミング言語では、これらすべてをたったこれだけのシンプルなコードで記述可能。 pic.twitter.com/JzqCHOzMFl
タグ: Julia言語
posted at 14:00:19
#Julia言語 30を超えるまで計算しているのだが、添付画像中の超えた瞬間の値は
30.00000000000002
と表示されており、ディガンマ函数を使った計算法では
30.000000000000022
になった。
Float64の精度をほぼぎりぎりまで使う計算としても良い例になっていると思いました。 pic.twitter.com/jUL41WIY5m
タグ: Julia言語
posted at 14:04:06
ちなみにこの教材はチャレンジです…
スマイルゼミもやってるのでこっちはやめたいけど、自分の意見より子供と妻の好みを優先させてるので、順序教育に対する不買運動ができない。
タグ:
posted at 14:19:54
#Julia言語 既出のソースコード
github.com/genkuroki/publ...
ipynbファイル
↓
↓ jupytextで自動mdファイル化
↓
github.com/genkuroki/publ...
タグ: Julia言語
posted at 14:30:29
ごまふあざらし(GomahuAzaras @MathSorcerer
Polylogarothms パッケージリポジトリ見るとCompatHelperによるbotがPR投げていてるけれどずっと放置されてる。
リポジトリの持ち主さん気づいてくりゃれ。 twitter.com/genkuroki/stat...
タグ:
posted at 14:52:09
#Julia言語 #囲碁 #Baduk #Weiqi
discourse.julialang.org/t/what-do-you-... で知ったJuliaの意外な応用先
daizj.net/baduk-go-weiqi... で公表されている囲碁のプロ棋士の国際レイティングは、ほとんど Julia で生成されているらしい。(Rと組み合わせて使っている。)
ソースコード→ github.com/xiaodaigh/badu...
posted at 15:18:48
「引っ越す」んじゃなくて、「新たな武器を装備」する。
今までできなかったことをできるようになるのに、今までやって来たことしかやらないという発想だと、Juliaに限らず、「新しい武器」の価値を適切に評価できなくなると思う。
タグ:
posted at 15:45:51
ごまふあざらし(GomahuAzaras @MathSorcerer
あまり知られてない?かもなので呟いておくと、実はPythonのscipyを呼び出すパッケージSciPy.jlが存在します。
github.com/AtsushiSakai/S...
Pythonで書かれているノートブックを移植するときにつかいました。
#Julia言語
タグ: Julia言語
posted at 15:55:10
#Julia言語 件のリポジトリのベンチマークでは、Julia CUDA.jl による処理が非常に速いことを確認した上で、RCall.jlでRを使う方法が十分速いので、"so no need to do anything" と結論を出しています。
新たな武器は超強力だが、使い慣れた武器で十分という判断。
github.com/xiaodaigh/badu...
タグ: Julia言語
posted at 15:59:35
非公開
タグ:
posted at xx:xx:xx
@aguniisland #超算数
文科省曰く【学習指導要領等と同様の拘束力を有すると誤解され るとの指摘もあったため、その位置付けを一層明確にする観点 から、高等学校と同様に「解説」に改めた。】
学習指導要領解説を学習指導要領と呼ぶ学校関係者達は叱責されるべき。
www.mext.go.jp/b_menu/shingi/... twitter.com/genkuroki/stat... pic.twitter.com/kHJSKpkum6
タグ: 超算数
posted at 16:15:23
非公開
タグ:
posted at xx:xx:xx
ごまふあざらし(GomahuAzaras @MathSorcerer
全く同じコードで Julia1.6.1で
Intel の iMac では 5 時間ほどかかりました. twitter.com/dannchu/status...
タグ:
posted at 16:36:13
@Cheng_Ching_Wen @kdwkshh We should distinguish between the during- and the after-precompilation situations.
Warnings that occur during precompiling a package when it overwrites a part of itself are irrelevant to the after-precompilation situation. So, my sample code is irrelevant to such warnings.
タグ:
posted at 17:36:16
@aeba_chan #Julia言語 以下のリンク先は誤解です。
Julia言語の仕様はv1.0以後は
s = 0
for i in 1:10
global s += i^3
end
println(s)
のglobalを削除するとエラーになる仕様は不変のままです。
REPLのようなユーザーインターフェースの仕様が初心者向けに変更されたことはありました。 twitter.com/aeba_chan/stat... pic.twitter.com/p1ekq40ozP
タグ: Julia言語
posted at 17:56:32
ごまふあざらし(GomahuAzaras @MathSorcerer
arm32bit ラズパイで動かしま〜す. twitter.com/genkuroki/stat...
タグ:
posted at 18:57:52
#棋聖戦
渡辺明名人「☖8八歩は想定外だった」。
以降、一気に終盤戦へ。
藤井聡太棋聖、4五桂 。📈
『三桂あって詰まぬ事なし』の格言通りに。
[棋譜中継] live.shogi.or.jp/kisei/kifu/92/...
タグ: 棋聖戦
posted at 19:08:48
Q. 証明の終わりについている□のようなものは何ですか?
A. チェックボックスです。まだ論文が手書きで書かれていた時代に、査読者が証明の内容をチェックしたという印に✔︎を入れてました。パソコンで論文を書くようになった現代ではそのような慣習はありませんが、名残として残っています。
タグ:
posted at 19:12:02
Juliaで素直に実装してみたけど,ほんとだ...すげぇ...
すげぇけどなお効率...って気持ち
関数をもっと最適化すればもうちょい早くなるだろうけど twitter.com/mathlava/statu... pic.twitter.com/pYFYrH6QRt
タグ:
posted at 20:56:30
juliaでやったらどうなるかなってたしかに思った。
外のループを0が出てきたら終了するのと
cos()^2、floorをもうちょっと簡略化するのと
1+π(m)を1+π(l)の合成関数として表現し直せばいくらかパフォーマンスが出るだろうけど…、
Riemann素数計数関数と関係しないかなぁ
math-functions-1.watson.jp/sub1_spec_030.... twitter.com/Makoto_SUsys/s...
タグ:
posted at 21:44:28
Julia用のエディタ、vscodeよりatomの方がまだよかったりする。atomのはよくできていて感心したが、あまりいろいろツールを入れたくない(私の市民感覚では処理しきれない)のでatomぶち抜いてしまった。
タグ:
posted at 22:52:38
#Julia言語
この 1+1/2+…+1/n≥30 の30が現代における教育的な具体例として絶妙の値になっている所が非常に面白いと思いました。
昔に「1日10時間くらいで5年間」計算した人がいて、それを紹介してくれる人がいなければ、この具体例は埋もれていた可能性が高いわけで、色々考えさせられます。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 22:54:33
JuMP is a modeling interface and a collection of supporting packages for mathematical #optimization that is embedded in Julia.
www.numfocus.org/project/jump
#NumFOCUS Sponsored Project since 2018
#julialang #jumpjl @JuMPjl pic.twitter.com/yI0tpcpltO
タグ: julialang jumpjl NumFOCUS optimization
posted at 23:00:13
#Julia言語
github.com/NaGa-ImO/DLfro...
❌relu(x) = (x <= 0 ? 0 : x) は型不安定
⭕️relu(x) = x ≤ 0 ? zero(x) : x
公式ドキュメントにほぼ同じ例があります
↓
docs.julialang.org/en/v1/manual/p...
Write "type-stable" functions
Pythonユーザーに欠けている考え方の多くがここ↑にあります。 twitter.com/benkyouaho/sta...
タグ: Julia言語
posted at 23:31:53
#Julia言語
A = [1 2 3 4] は1×4行列ですが、行ベクトルではない。
B = [1, 2, 3, 4] は列ベクトル。
Aが行ベクトルなら、A*Bはスカラーになって欲しいのですが、実際には長さ1の列ベクトルになります。
行ベクトルは A = [1, 2, 3, 4]' で作れます。 twitter.com/benkyouaho/sta... pic.twitter.com/U6sCBDDgI1
タグ: Julia言語
posted at 23:38:54
ごまふあざらし(GomahuAzaras @MathSorcerer
#駆け出しあざらしを飼い主が応援する会
This Dash.jl application can run code blocks A and B simultaneously and compare their results.
#JuliaLang #Julia言語 pic.twitter.com/V6jtC3noyj
タグ: JuliaLang Julia言語 駆け出しあざらしを飼い主が応援する会
posted at 23:49:35
#Julia言語
❌length(x[: ,1])
は
⭕️size(x, 1)
と書けるし、
❌for i in 1:length(x[: ,1])
は
⭕️for i in axes(x, 1)
と書けます。
twitter.com/benkyouaho/sta...
タグ: Julia言語
posted at 23:57:28