黒木玄 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月13日(日)
非公開
タグ:
posted at xx:xx:xx
私も遅ればせながら医学部時代の20歳頃に打ちました💉
HPV関連疾患は子宮頸癌だけじゃないし、人類の叡智の結晶で癌が予防できるなんて胸熱🔥
未接種の人は今からでも遅くないから打ってほしい。 twitter.com/Invesdoctor/st...
タグ:
posted at 08:24:21
非公開
タグ:
posted at xx:xx:xx
@tsatie #Python -ooはsympyの-∞です。
#Julia言語 で using SymPy すると、Juliaの側でPythonのsympyの -oo が使えるようになる。
Juliaでの -float('inf') の対応物は -Inf になります。 pic.twitter.com/4jPUIa0GtI
posted at 10:50:40
@phasetrbot 【PyCallで使えるpythonのpipが使えることを仮定。シェルで
pip install yfinance
を実行】
という指示に従うときに、シェルから使うpipはPyCallから使えるpythonのpipにして下さい。
~/.julia/conda/3/Scripts/pip install yfinance
タグ:
posted at 11:32:57
@phasetrbot condaでyfinanceをインストールできないことは、Juliaと無関係の問題です。パソコンからJulia関連のファイルを全て削除してもcondaではyfinanceをインストールできないと思います。
pipを使う必要があるようです。
condaとpipを混ぜるのはちょっと怖いですが、この場合は仕方がないようです。
タグ:
posted at 11:34:58
@phasetrbot もしも以上の点を改善したいなら、Juliaと無関係に、yfinanceの開発者に事情を知らせる必要があると思います。
Pythonではパッケージのインストールでトラブルが発生することが多く、結構みんな苦労しているように見えます。これはPythonを使うときの税金のようなもので我慢するしかない。
タグ:
posted at 11:38:08
@phasetrbot Juliaから、任意のpythonを使えるようにもできます。
そのためにはWindowsでなら
julia> ENV["PYTHON"] = "任意のpython.exeのフルパス(python.exeを含む)"
julia> ]
pkg> build PyCall
とします。元に戻すには、
julia> ENV["PYTHON"] = ""
julia> ]
pkg> build PyCall
タグ:
posted at 11:43:46
@phasetrbot Juliaから使うJupyterも任意に変更可能です。
julia> ENV["JUPYTER"] = "jupyter.exeのフルパス(jupyter.exeを含む)"
julia> ]
pkg> build IJulia
元に戻すには
julia> ENV["JUPYTER"] = ""
julia> ]
pkg> build IJulia
タグ:
posted at 11:45:50
@phasetrbot (1) Juliaから~/.julia/conda/3以下にあるpythonを使っていて、~/.julia/conda/3/Scripts/pip install yfinanceする。
(2) Juliaから別のpythonを使っていて、そのpythonのpipを使ってyfinanceをインストールする。
どちらでもよいと思います。
いずれにせよ、これは本質的にJuliaと無関係の問題。
タグ:
posted at 12:23:16
【国民の悲鳴】を聞くために【テレビのニュースやワイドショー】を録画して観るの馬鹿丸出し。日本国にとって有害なくらい頭が悪い。
特に医療関連問題についてどれだけのクズ情報が世間に拡散されているかを知るために、【テレビのニュースやワイドショー】を録画して観るのであれば十分に合理的。 twitter.com/t_takai/status...
タグ:
posted at 12:34:52
非公開
タグ:
posted at xx:xx:xx
テレビを見ているせいで「新型コロナワクチンを打つと死ぬ」と信じ込まされている国民がシャレにならない人数でいそうなことに気付くために、テレビを録画して観るのであればよい。
精神が削られる辛い作業。
反医療になっているマスコミの問題はかなり重要。
タグ:
posted at 12:42:48
@SFITB #Julia言語 では函数の引数の無用な型注釈はanti-patternに分類されています。
↓
www.oxinabox.net/2020/04/19/Jul... の添付画像部分
Juliaの型システムを十分に理解していない段階での函数の引数の型注釈はバグの原因にもなり得てかなり有害です。理解してからなら大丈夫ですが、理解は結構大変。 pic.twitter.com/VptU5cbdkm
タグ: Julia言語
posted at 13:00:25
@SFITB 今まで C++ でやって来た計算速度が重要な仕事を #Julia言語 でやりたい場合には、函数の引数に型注釈をつけることは無意味。
docs.julialang.org/en/v1/manual/p...
Performance Tips
に従うことは、恐ろしく効率的です。私は最初この文書の存在を知らず、後で「これ、最初に教えてくれよ」と泣きが入りました。
タグ: Julia言語
posted at 13:04:26
みんなやってみるとよいと思うことは(やらない方がよいです)、#Julia言語 の入門段階で、
docs.julialang.org/en/v1/manual/p...
Performance Tips
の類を全然読まずに、計算速度が重要な長めのコードを書き上げてしまうこと。
後でPerformance Tipsに従って最適化するとひどく精神を削られることになります。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 13:19:01
場合によっては、コード全体の構成を変えた方がよい場合が出て来ます。
そうなりやすい最大の原因は、全世界の大学での教育で、グローバル変数達に問題を記述するパラメータ達を代入して、函数の中で引数を経由せずに使う習慣が教え込まれていること。
タグ:
posted at 13:19:02
それは、プログラミング的にまずいスタイルだと思うのですが、全世界で普通になってしまっている。
問題を記述する情報は例えば prob のような変数1つにまとめてしまう方がコードは読み易くなります。
そして、問題を記述する情報が格納された prob を solve 函数に渡して問題を解く。
タグ:
posted at 13:19:03
@genkuroki Juliaと別にインストールしているPythonと揃えたいのでtwitter.com/genkuroki/stat... で対応しました。ありがとうございます。
タグ:
posted at 13:21:54
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
#Julia言語 VS Code のスクショ集
* Julia v1.6.1 (v1.7ではLanguage Serverが正常に立ち上がらない)
* VS Code Julia Language Support (Insider) 1.2.4
の組み合わせ。表示の配置は私用にすでにいじってしまっています。
tan x のグラフを正しく描こうとしている。 pic.twitter.com/B7v7iaUUX8
タグ: Julia言語
posted at 16:05:46
[解決方法緩募] Juliaの分散並列パッケージDistributedArraysが遅い on #Qiita qiita.com/cometscome_phy...
タグ: Qiita
posted at 16:06:43
#Julia言語
(1) コンパイラへの最適化のヒントとして型注釈を与える
は、structの定義やオブジェクトの生成時には有効ですが、函数の引数の型については意味がなくなります。さらに、
(2) コードを読み易くするために型注釈をつけること
はJuliaでは多くの場合に有害になり、~続く twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 16:23:49
非公開
タグ:
posted at xx:xx:xx
言語自作入門の続編を読み進めて、HL-9aの機能を全てJITコンパイラ化したHL-13a(essen.osask.jp/?a21_txt02_3a)を実装した。
これでまたinvader.cやkcube.cが動くようになった! 次章からはいよいよ最適化に取り組 んでいきます。わくわく。 pic.twitter.com/KTPARMzu7M
タグ:
posted at 19:19:40
#Julia言語 お待たせしました。失敗例です。
全ソースコード
↓
nbviewer.jupyter.org/github/genkuro...
添付画像のIn[2]のコードは1次元の離散ラプラシアンです。uにラプラシアンを作用させた結果をvに格納します。
函数の引数と返り値の型をしっかり書いています。
これがどのようなトラブルを引き起こすか? pic.twitter.com/klckYVX6ye
タグ: Julia言語
posted at 19:22:58
#Julia言語
laplacian!(v::Vector{Float64}, u::Vector{Float64}, dx::Float64)::Nothing
は引数v, u, dxがそれぞれFloat64の1次元配列、Float64の1次元配列、Float64であることを意味し、::Nothingは返り値が「ないこと」を意味する。
Juliaを使い始めた人の多くがこのように書いて失敗する。続く pic.twitter.com/x4P47JxQLq
タグ: Julia言語
posted at 19:25:36
#Julia言語 添付画像では先程のラプラシアンを使って熱方程式を解いています。
nbviewer.jupyter.org/github/genkuro...
にはアニメーションがあります!
大成功!
……なのですが、メモリアロケーションが異様に多い!
これを見て最適化を始めるのが常です。続く pic.twitter.com/RbpNO3MaWT
タグ: Julia言語
posted at 19:28:02
#Julia言語 初心者でも情報通の人であれば、
docs.julialang.org/en/v1/manual/p...
docs.julialang.org/en/v1/manual/p...
を読んで、@. や @ views をつければ良いことを知ります。
しかし、適切にマクロをつけた途端にさっきまで動いていたコードが急に動かなくなります。
最適化できなくなりました!続く pic.twitter.com/Mx2T6lxbJa
タグ: Julia言語
posted at 19:31:20
#Julia言語 その原因はラプラシアンの引数につけた型宣言が狭すぎたからです。ラプラシアンの引数uの型を書くのをやめると動くようになる。
実は適切な型名を書けば、型名を書いていても動くのですが、どうしても型を書きたい人は自分で勉強してください。過去のツイートで答えを何度も述べています。 pic.twitter.com/8GP5BlhZbk
タグ: Julia言語
posted at 19:34:26
#Julia言語 一方、型名を書くのをやめる(もしくは自分で勉強して、引数の型の範囲を無用に狭くしないようにすること)には、実用的に巨大なメリットがあります。
添付画像のコードは型名を書くのをやめたバージョンです。
その代わりに、similarを使って型伝搬がうまく行くようにしてある。これ重要。 pic.twitter.com/V72VbuXt5i
タグ: Julia言語
posted at 19:37:30
#Julia言語 まず、Float64と書くのをやめたおかげで、任意の浮動小数点数の型でも動きます。添付画像ではFloat32を使っている。
GPUを使った計算ではFloat32が効率的であることが多いので、Float32を排除するコードを書くと後で後悔する可能性があります。
さらに面白いのは次の例です。続く pic.twitter.com/FvLVMZxVws
タグ: Julia言語
posted at 19:39:58
#Julia言語 引数の型を書くのをやめたので、浮動小数点数以外の成分を持つ初期値でも熱方程式を解けます。
添付画像では200個の初期値をランダムに摂動して与えて、引数の型を書くのをやめて書いた函数 heateq4 で熱方程式を解いています。
Juliaならこういうことを一瞬でできてしまいます。 pic.twitter.com/Zsqd76eK4s
タグ: Julia言語
posted at 19:43:12
#Julia言語 初期値をランダムに摂動させて解いた場合の動画
全ソースコード
↓
nbviewer.jupyter.org/github/genkuro... pic.twitter.com/M6mF8R6vqZ
タグ: Julia言語
posted at 19:44:41
徹底的にコードを解析するコンパイラにとって型宣言ってまさに 下手な考え休むに似たり だと思うのだけど、型宣言のある言語って将来どういうポリシーを採るのか楽しみ。もちろん、コンパイラの実装とは別に言語の採用する型システムという面は独立して存在するのだけど。
タグ:
posted at 19:48:36
非公開
タグ:
posted at xx:xx:xx
#Julia言語
最初のコードでも、型を書くのをやめれば、添付画像のように初期値を摂動した場合もそのまま扱えます。
しかし、最適化後に0.17秒で済んでいた計算に6.3秒もかかっています。
実践的な場合には20分と12時間の違いになったりします。
最新版全ソースコード
↓
nbviewer.jupyter.org/github/genkuro... pic.twitter.com/cNi2NNVSha
タグ: Julia言語
posted at 20:17:45
#Julia言語 「計算が速くなったから、パラメータを変えた結果も容易に確認できるようになった」はJuliaの典型的な応用例になっています。
以下のリンク先はNASAでの宇宙機の分離のシミュレーションへの応用例。
パターンの摂動への反応を見ている。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 20:21:14
DFMacros.jl github.com/jkrumbiegel/DF...
Looks really nice and has some well-thought-out ideas.
I will give it a spin, and it might be a good contender to replace DataFrameMeta.jl. So I will need to update the video.
Let's see
#julialang. twitter.com/evalparse/stat...
タグ: julialang
posted at 20:21:55
バズったら宣伝していいと聞いて…❗️
8月3日に豊洲シビックセンターホールにて、コンサートを開催します。オンラインでの動画配信も予定、クラウドファンディングも実施中です。
応援して頂けますと、とても嬉しいです🙇🏻♀️
twitter.com/erihasemi/stat... pic.twitter.com/kIZ1TWzIe4
タグ:
posted at 20:25:42
#Julia言語 生物学者によるJuliaの応用例。
Python + Numba (LLVM) + SciPy (Fortran) で300msかかっていた計算がJuliaによって5msで計算できるようになったお陰で、大量にそういう計算を回してモデルが機能する理由を研究できるようになった。
↓ twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 20:25:54
1日費やして、Pythonで2次元波動方程式の数値シミュレーションをリアルタイム計算&滑らかプロットできました😀 pic.twitter.com/fzzSwop1GQ
タグ:
posted at 20:57:08
インフルエンザワクチンは乳幼児に有効?[2002-08 日本編]
日本のコホート研究では、2002-7年にかけて6-23ヶ月の乳幼児におけるインフルエンザワクチンの有効性を検討していますが、ほとんどの年で有効性が示唆されており、全体として70-80%ほどでした
www.dr-kid.net/fluvac-2002to0...
タグ:
posted at 21:19:35
#Julia言語
Juliaの型の階層。
すでにかなり複雑なのですが、パッケージを読み込むとさらに複雑になる。
ベクトルや行列とみなされるものの型がものすごくたくさんある。
数の引数だけではなく、ベクトルや行列の引数にも適用可能な函数を書けることは結構多い。 pic.twitter.com/0TwyFS4kzN
タグ: Julia言語
posted at 21:19:39
Dr. Chris Rackauckas @ChrisRackauckas
@AriKatz20 @MarisaVeryMoe @TaliaRinger Interesting to see this one back! I think for compiler people, the following blog post is probably the best introduction to how non-standard interpretation is being used to improve the mathematical properties of the models:
www.stochasticlifestyle.com/generalizing-a...
タグ:
posted at 21:26:15
Dr. Chris Rackauckas @ChrisRackauckas
@AriKatz20 @MarisaVeryMoe @TaliaRinger It's based on the following papers:
arxiv.org/abs/2103.05244
arxiv.org/abs/2105.03949
arxiv.org/abs/2105.05946
and is the rationale behind "a composable mathematical compiler pass system" in #julialang for improving modeling and simulation.
www.stochasticlifestyle.com/modelingtoolki...
タグ: julialang
posted at 21:27:57
非公開
タグ:
posted at xx:xx:xx
すごいJuliaConのスケジュールアプリがJuliaのパッケージとして作られている笑: JuliaCon 2021 T-shirts and Stickers on Sale Now! discourse.julialang.org/t/juliacon-202...
タグ:
posted at 22:52:17
@clarksville999 @buitengebieden_ In WA they bury cars and houses, and even end up in tornadoes or dust devils. 😬 pic.twitter.com/NJibFLll5E
タグ:
posted at 22:55:09
#Julia言語 のコミュニティでJuliaについて【cargo-cult best practices】【“People coming from Python find this unintuitive”】【“implicit dependency injection】のような言い方をしているすごい発言を見た
↓
discourse.julialang.org/t/proper-modul...
案の定、何も理解していないことを指摘されまくっていた。
タグ: Julia言語
posted at 23:08:42
towerの語源は、ラテン語のturrisなのですが、この語は語源不明です。印欧語族だからといってラテン語の語彙の全てが印欧祖語に遡れるわけではありません。私はサンスクリット語がよくわからないのですが、stūpaの原義は土まんじゅうのようで、これら2つの語は関係がないものと思われます。 twitter.com/decinormal1/st...
タグ:
posted at 23:25:44
サンスクリット語はヨーロッパ諸語の母言語ではありませんtwitter.com/decinormal1/st...。印欧祖語という理論的な先祖は、文証されているどの言語よりも上位に位置し、梵語と羅語は別の分枝にあります。また、p→r (wではない)という音変化は、ラテン語の語源としては確認できません。細かくてすみません。
タグ:
posted at 23:25:45
Python:PyQtGraphで2次元波動方程式の数値シミュレーションをリアルタイムプロット(有限差分法) www.wizard-notes.com/entry/python/p...
タグ:
posted at 23:41:17