黒木玄 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年04月10日(土)
Tomoei Takahashi 高橋智 @tomoeit0524
くそう、この時間までM1 Mac のpython環境構築やってたが、結局matlpotlibのImportError が解決しなかった。。。。Juliaの環境構築とパッケージ管理で苦労したことほぼないのにpythonに関しては20倍ぐらい苦労してる気がする。
タグ:
posted at 00:07:05
Tomoya Matsuura 松浦知也 @tomoya_nonymous
julia言語のコンパイラにSchemeとCとC++のソースが混在してるの、初めて見たときはだいぶ引いたけど今はその理由がわかる、結局C++でS式クラスを実装することになってきた、、、
タグ:
posted at 00:23:52
@genkuroki ベッセル関数の数値計算、大変興味あります。
ベッセルの微分方程式はベッセル関数とノイマン関数を基本解に持つので、ノイマン関数が優位にならないx0>n(nはベッセル関数の次数)をスタートにすれば、誤差を減らせます。
タグ:
posted at 00:26:19
非公開
タグ:
posted at xx:xx:xx
This video by funsciencedemos teaches about sound and light waves using a very simple but quite effective physical model of a wave [full video: buff.ly/3dKS5T8] pic.twitter.com/7QmUCu6NTh
タグ:
posted at 02:47:25
#Julia言語 y = J_l(x) の満たす方程式を y = x^l u で u の方程式に変換して、カンニングせずに初期条件を与えて、微分方程式を数値的に解いた結果とベッセル函数J_l(x)を比較してみました。
J_8(x)あたりから誤差が目立ち始め、それ以降は x > 50 でひどく不正確に!
gist.github.com/genkuroki/18b5... pic.twitter.com/8dD6lYxKRf
タグ: Julia言語
posted at 04:06:51
たぶん、教育的には、数値計算が失敗したシンプルな事例がインターネット上で大量に公開されていた方がよい。
工夫した末にうまく行った結果だけが公開される傾向が強くなりやすいので、「みんなの意志の強さ」が試されていると思う(笑)
タグ:
posted at 04:12:04
#Julia言語 DifferentialEquations.jlには現代的なソルバが大量に実装されていて、色々選べます。
ソルバによって結果が大きく変わりました。
興味のある人は
gist.github.com/genkuroki/18b5...
のソースコードをコピペして、ちょっとだけ書き変えて遊んでみるとよいと思います。
タグ: Julia言語
posted at 04:13:43
#Julia言語 やっていることは単純。
u(x)=1+O(x²)を仮定して、
u'' + (2l+1)u'/x + u = 0, u(0)=1, u'(0)=0
を解けば、第1種ベッセル函数が
J_l(x) = x^l u(x)/(2^l l!)
で得られるはずなので、その計算をDifferentialEquations.jlでやっています。ソルバは alg = AutoVern9(Rodas5()) です。 pic.twitter.com/p3BYSy4rVq
タグ: Julia言語
posted at 04:42:52
@shafikyaghmour 1) Prefer 1 based indexing. 2) Don't really like "long descriptive" variable names and functions. 3) Think writing lots of code comments is a good thing and not a "code smell". 4) Think OOP is grossly overrated. 5) Don't like TDD.
タグ:
posted at 07:44:08
#Julia言語 DifferentialEquations.jlでの時刻の刻み幅が可変なソルバではdtmaxの設定が非常に有効。
adaptive Runge-Kutta order 4
①デフォルト→J_5以降で破綻。
②abstol=1e-8, reltol=1e- → J_9以降で破綻
③dtmax=0.5 → J_{11}までうまく計算されている
gist.github.com/genkuroki/18b5... twitter.com/genkuroki/stat... pic.twitter.com/1ufuLV58e1
タグ: Julia言語
posted at 09:02:52
#Julia言語 adaptive=時刻の刻み幅が適応的に可変のルンゲクッタではなく、時刻の刻み幅が一定の古典的ルンゲクッタではどうか。
classical Runge-Kutta order 4
① dt=0.01 → J_8で破綻
② dt=0.001 → J_{11}で破綻
③ dt=0.0001 → J_{11}までうまく計算されている pic.twitter.com/P8E9sBOlJ9
タグ: Julia言語
posted at 09:07:00
#Julia言語 計算しているのはBessel J_l(x)です。
J_{10}(x)の場合に、x=0~300で誤差の大きさが同じ程度になるように調節して、時刻の刻み幅が一定の古典ルンゲクッタの場合とadaptiveの場合を比較したら、後者の方が50~60倍ほど速かったです。
古典ルンゲクッタは効率が悪かった。 pic.twitter.com/2FaFwwA45H
タグ: Julia言語
posted at 09:10:14
DJ's Office Hours @DJsOfficeHours
Today my #programming covers calling #Fortran code with the #julialang! @JuliaLanguage has a native 'ccall' that allows for this interface and can help you call Fortran or #C. I go into a couple examples to help you get started if you need to interface! youtu.be/RiUrRXDMSYM pic.twitter.com/VcEtwzFKgG
タグ: C Fortran julialang programming
posted at 09:15:27
息子の学校の漢字テストです。
うちの子のすぼらさも感じますが、厳しすぎませんか?
特に、見、六、天、鏡。
新学期早々、勉強が嫌になるんじゃ。
右下の名前を隠した影響で見えませんが40点と書かれています。 pic.twitter.com/HCP3SU3ySM
タグ:
posted at 11:27:34
上野千鶴子は国債発行による定額給付金にも反対していたのか。どうしようもないな。
経済弱者に冷淡な富裕左翼というどうしようもない人たちの代表例ですかね twitter.com/burubur5603089...
タグ:
posted at 12:37:06
問「いつの間に後進国になったか?」
原因は日経新聞などが「財政危機の重いツケは将来世代に回る」などと煽り、教育や学術研究への投資削減を後押ししたためだと思います。
www.nikkei.com/article/DGKKZO...
タグ:
posted at 13:12:30
【20桁】クラスタのストレージからログファイルを回収、1.2e19まで完了していた。ということで、CC14は24番目の 10794259852954324889 までが正式。github.com/kazkus/Cunning... pic.twitter.com/rjfvd3jvEg
タグ:
posted at 13:19:46
#Julia言語
ComplexF64はComplex{Float64}の別名。
const ComplexF64 = Complex{Float64}
と定義されている(リンク先②、添付画像②)。
docs.julialang.org/en/v1/base/num...
↓
github.com/JuliaLang/juli... twitter.com/iftianjiar/sta... pic.twitter.com/8pdDH6DXX6
タグ: Julia言語
posted at 13:41:12
#Julia言語
Normal はDistributions.jlの中で定義されています。 twitter.com/iftianjiar/sta... pic.twitter.com/YYZQ0QpYSX
タグ: Julia言語
posted at 13:44:52
非公開
タグ:
posted at xx:xx:xx
#Julia言語
Julia初心者が函数の定義で引数に型を書くと、Juliaの型システムへの不十分な理解が原因で、"no method" になりがち(添付画像)。
Juliaの型システムについて十分に理解していない段階では、函数の引数の型を書かない方がよいです。書かなくてもCと同程度の速さで計算してくれます。 twitter.com/iftianjiar/sta... pic.twitter.com/1C61eUSi3m
タグ: Julia言語
posted at 13:53:18
紀伊國屋書店に行ってみたらJuliaの本が4冊に増えていたのだけど、相変わらず本当の意味での入門書はないなあという印象ですね。データサイエンスの本と機械学習の本が増えていた。
タグ:
posted at 14:01:21
@genkuroki ありがとうございます!
一つ質問なのですが、リンク先では最初にprintln_vectorの定義を決めていますが、こんな感じで最初にコンパイル(?)しておかないと行けないのでしょうか?
twitter.com/genkuroki/stat...
タグ:
posted at 14:02:19
#Julia言語 最近、開発版の方のJuliaの公式ドキュメントに
* 引数の型の過剰な制限はよくある間違いです。疑わしいなら引数の型を書くのをやめましょう。
* Juliaでは戻り値の型宣言はほとんど使われません。一般に「型安定」な函数を書くべきです。
という説明が追加されました。 twitter.com/genkuroki/stat... pic.twitter.com/iv9T3Icigv
タグ: Julia言語
posted at 14:04:28
#Julia言語 Julia v1.0以降ではlinspaceは無くなりました。
v1.0が出た2018年8月以前に書かれたJuliaのコードは現在のJuliaでは動きません。
v1.0以降は非常に安定しています。
linspace(a, b, n) = range(a, b; length=n)
と定義しておけばlinapaceを使えます。 twitter.com/iftianjiar/sta...
タグ: Julia言語
posted at 14:11:50
@genkuroki 申し訳ないです。
In[3]に対してOut[3]が出力されていますが、ここで一度コンパイルされていることで、後半部分で関数を呼び出すことができるのでしょうか?そうであれば一つのjlファイルの中で、先頭部分で関数の定義をして、後半部分で利用する、という使い方はできないのでしょうか?
タグ:
posted at 14:15:16
#Julia言語
Juliaの変数は「実行時に決められた型の値が代入されるもの」というイメージでは理解できず、「常に具体的な値が入っているもの」と思っておき、型をについてはその値の型を考えると分かり易いと思います。
例えば、
x = 3.0
は「xの値を3.0とする。3.0はFloat64型である」と解釈する。 twitter.com/iftianjiar/sta...
タグ: Julia言語
posted at 14:20:11
@iftianjiar #Julia言語 In[3]~Out[3]でprintln_vector(v::Vector)はコンパイルされていません。
Juliaは実行時にネイティブコードにコンパイルするのですが、In[3]では函数を定義しているだけで、函数を実行していないので、コンパイルも行われません。
続く
タグ: Julia言語
posted at 14:32:38
@mason_protter @erikengheim what I meant by "JET is unsound checker" is this:
(JET accepts false negatives, and for example boolean condition error is only reported there is no intersection between Bool and the subject type) pic.twitter.com/60lsdq7rlR
タグ:
posted at 14:34:34
@iftianjiar #Julia言語
a = [1, 2, 3] と b = [1.0, 2.0, 3.0] の具体型はそれぞれ Vector{Int64}, Vector{Float64}で違います。
f(x::Vector)=2xと定義してもコンパイルされず、f(a), f(b)を実行するときに、それぞれVector{Int64}, Vector{Float64}型に対応したネイティブコードにコンパイル実行されます。
タグ: Julia言語
posted at 14:37:01
@iftianjiar #Julia言語 コンパイラがコンパイルを実行するときには、最適化に使える情報が多い方が有利になります。
Juliaではコンパイルのタイミングを実行直前まで遅らせることによって、函数に与えられた引数の具体型(抽象的な型ではなく、具体的な値の型)の情報をコンパイル時に使用します。
タグ: Julia言語
posted at 14:39:25
@iftianjiar #Julia言語 その方法にはトレードオフがあります。
実行直前にコンパイルするのでその分の遅延が生じる。
同一の函数を同一の具体型の引数の組み合わせで再度実行するときにはキャッシュされているコンパイル結果が使用されるので遅延はなくなります。
その辺の挙動は複雑で結構面白いです。
タグ: Julia言語
posted at 14:42:17
非公開
タグ:
posted at xx:xx:xx
クソ長でもなかったし適切な質問と思った。個人ブログならいいけど、社名を出してる以上、雑にブロックしないでちゃんと対応したほうがいいと思う。Exploratoryはカスタマー(になるかもしれない人を含む)の質問に一切答えない会社なんだと思ってしまう。 twitter.com/norihitoishida...
タグ:
posted at 15:11:30
最強の広告ブロッカー、uBlock OriginはなぜFirefoxで最も良く働くのか。作者の解説。Firefoxだけに存在するAPIのためにCNAME-uncloakingや、ブラウザ本体がparseする前にHTMLをparseする等はFirefoxだけが可能。ブラウザ立ち上げ時にuBo立ち上げ完了を待てるのはFirefoxのみ。prefetch禁止が確かなの twitter.com/newsyc100/stat...
タグ:
posted at 15:18:07
もFirefoxのみ。Chromium系列はprefetchの可否をユーザ定義よりもサーバー定義を優先する。Web Assemblyをcore filtering codeに通せるのもFirefoxのみ。Chromiumでは別の権限が必要になるが、それをenableするとWeb Storeでの公開が難しくなる。最後にFirefox版のuBoはlz4アルゴリズムでフィルター
タグ:
posted at 15:20:53
Julia言語を用いて多分野に渡る実世界の問題についてデータ分析や演算可能な、数学モデリングについて学ぶ。
MITの授業が公開 twitter.com/lobsters/statu...
タグ:
posted at 16:20:43
#Julia言語 何度目になるかわからない蔵本モデル
10行のコードを長くしたら、100行を超えた。
増えた分のほとんどの行が「表示メソッド」と「ゲッターメソッド」。
このような場合には「長くすること」に大してメリットはないように思われる。
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/2kcjbbEvBG
タグ: Julia言語
posted at 17:38:58
#Julia言語 モデル(微分方程式)を解くために消費されている行は本質的に2行しかない。
本質的な行よりも、表示やプロットや細々とした設定のための行の方が多くなることは結構多い。
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/zRoLdDQl2T
タグ: Julia言語
posted at 17:43:19
#Julia言語 x.f(y, z)のようなスタイルと比較したい人は
モデルのオブジェクトのコンストラクタ
model = My.KuramotoModel()
モデルを解いた解いた結果
result = My.solve(model)
↓
result = model.solve()
GIF動画
GIF = My.gif(result)
↓
GIF = result.gif() pic.twitter.com/7M9JA4FBzW
タグ: Julia言語
posted at 17:51:22
#Julia言語 C++の開発で知られているBjarne Stroustrupさんは、メソッドにはその操作にとって最も重要な単一のオブジェクトが存在するという考え方は間違っており、x.f(y,z)のスタイルは「とてもファッショナブル」だったが、その採用は失敗だったと言っています。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 17:57:12
#Julia言語 再掲訂正:x.f(y, z)のようなスタイルと比較したい人は
モデルのオブジェクトのコンストラクタ
model = My.KuramotoModel()
モデルを解いた解いた結果
result = My.solve(model)
↓
result = model.solve()
GIF動画
GIF = My.gif(result)
↓
GIF = result.gif()
と読み替えればよい。 pic.twitter.com/hP0QlBLb3A
タグ: Julia言語
posted at 18:03:32
#Julialang 自体は #chocolatey で最新版にもっていけるがぶら下がっているpkgsはupdateする必要?jのupdateがあるたびにadd pkgsする必要あるが、plot backendもupdate and buildする必要がある。知らなかった。これは盲点。#pandocPlot はついつい失念。choco化して欲い。pplotは当分やめよぅ
タグ: chocolatey Julialang pandocPlot
posted at 18:58:23
Feels like a good analogy for how it often feels building #software based on Spec vs just doing whatever actually works. #SoftwareEngineering twitter.com/matvelloso/sta...
タグ: software SoftwareEngineering
posted at 19:20:07
非公開
タグ:
posted at xx:xx:xx
大隅典子@東北大学(『小説みたいに楽しく @sendaitribune
後でコメントしますが、ヒツジの胎仔を子宮外で生かす技術は、もう20年も前から日本で開発されていました。 twitter.com/wired_jp/statu...
タグ:
posted at 19:31:06
370億くらい国は平気で出せるはずですし、国が少子化対策への本気度を見せたいのなら「しのごの言わずにたくさん予算をつける」のがいちばんですわね。
少子化対策には本気で金を出すべきだと思いますよ。あっちを削ってこっち、みたいなセコいやり方では本気度が見えない twitter.com/shioriyamao/st...
タグ:
posted at 19:48:27
実教出版の「情報I」の教科書サンプル
www.jikkyo.co.jp/book/detail/22...
面白そうな話題を色々盛り込んでいるんだと思うけど、概念的なことをちゃんと説明せずに表計算ソフトにべったり依存しているようにも見えるんだけど大丈夫なんだろうか? pic.twitter.com/2Qp218yR33
タグ:
posted at 20:37:50
#Julia言語 で、Thomas-Fermi方程式をFEMで解くプログラム作ってみた。スレッド並列化してるからそれなりに速いはず。
github.com/dc1394/thomasf...
タグ: Julia言語
posted at 20:53:55
大隅典子@東北大学(『小説みたいに楽しく @sendaitribune
2017年記事が再度、上がったのですね。びっくり。ちなみに、記事掲載の日付がわかりませんが、こちらは東北大学産婦人科HPに載っているもの。www.ob-gy.med.tohoku.ac.jp/laboratory/cat...
タグ:
posted at 21:08:50
#Julia言語 DifferentialEquations.jl
RK4()はadaptiveな(時刻の刻み幅が適応的な)Runge-Kutta order 4法。
adaptiveなソルバを使う場合に、数値計算が破綻しているように見えたならabstol, reltolを設定するより前に、dtmaxを設定して見た法が良さそう。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 21:10:09
大隅典子@東北大学(『小説みたいに楽しく @sendaitribune
東京大学では1980年代からヤギを用いた人工子宮の研究をしていました。www.ishiyaku.co.jp/magazines/ayum...
タグ:
posted at 21:13:31
大隅典子@東北大学(『小説みたいに楽しく @sendaitribune
確か、舘先生もそのお一人だったのではと思うのですが、違う舘先生かしら……。デジタル以前の情報は探しにくい。research-er.jp/researchers/vi...
タグ:
posted at 21:23:19
Robert Geller; ロバート・ @rjgeller
知っている限り、どこの報道機関は日置氏の研究の間違いを示した論文を取り上げなかった。(報道があったならば教えてください。)要するに「俺は地震を予知できる」という主張はニュースだが、この主張は間違ったことを示したことはニュースとされていない。日本の科学ジャーナリズムはこんなもんだ。
タグ:
posted at 22:38:10