黒木玄 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 を見て下さい。
2020年09月25日(金)
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
統計力学におけるカノニカル分布の最も簡単な場合
を更新した。 添付動画はカノニカル分布が指数分布になる場合。 pic.twitter.com/ebUTcqoDiP
タグ: Julia言語
posted at 00:00:15
まあ、それなりの歳になれば「そんな窮屈な集団、こっちから願い下げだ」って出来るんだけど、ガッコはそうもいかないのが悲しいところ。 twitter.com/URATA25466663/...
タグ:
posted at 01:29:25
The missing harm of manual dispatch in Julia andreaskroepelin.de/blog/manual_di... #hackernews
タグ: hackernews
posted at 02:25:11
@genkuroki @HShinaoka 速度以前に、性質の保証がなさ過ぎなので、真面目な用途には使ってはいけないと前世紀から変わらないrand()。なお、rand()はシステムのCライブラリ呼び出しなのでgccの責任ではなく、macOSとかlinux (glibc)とかに依存。FreeBSDのman randには"bad random number generator"と明記。
タグ:
posted at 06:36:33
「かけられる数」「かける数」って、小学校算数に蔓延る宗教みたいなものですよね。おそらく本来は「数学的には無意味だが教師が児童の混乱を避けるために留意すべきこと」の筈が、「児童にも『理解(小学校的には暗記の意)』させるべきこと」になってしまっている twitter.com/misty26/status...
タグ:
posted at 07:53:30
Our sponsor talk at the #modelica conference this week. We spoke about accelerating Modeling and Simulation with #JuliaLang youtu.be/BGrJchagGLg
A combination of new solvers, surrogates, Julia's #HPC capabilities makes it possible to achieve 10-100x speedup.
posted at 07:58:22
非公開
タグ:
posted at xx:xx:xx
#Julia言語
Base.rand(rng::AbstractRNG, d::SampleTrivial{Simplex{T}}) where T
を定義して、
rand(Simplex(N))でN-1次元単体上の一様分布の擬似乱数が得られるようにしてある。ソートを使うアルゴリズム。
docs.julialang.org/en/v1/stdlib/R...
nbviewer.jupyter.org/gist/genkuroki... twitter.com/genkuroki/stat... pic.twitter.com/EyRzG6B9ba
タグ: Julia言語
posted at 10:33:55
#Julia言語 総和が一定の資産をランダムに分配するとほぼ確率1で不平等な指数分布で近似される分布になることの、MCMC法による確認。統計力学入門で使われているネタの1つ。
添付動画の初期条件では全員が持っている資産は同じ。
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/XWNqzGwTnB
タグ: Julia言語
posted at 10:38:50
#数楽 加法平均に上限を設けたり、平均効用に下限を設けたりすることによって条件付き確率分布を定義して、N→∞での振る舞いを見ることについては、私による解説
genkuroki.github.io/documents/2016...
を参照。本質的に「カノニカル分布」の話なのだが、こういう解説を他では見たことがない(ので自分で書いた)。
タグ: 数楽
posted at 11:01:09
#数楽 高次元球面または高次元球体上の一様分布のサンプル(高次元ベクトルになる)の成分の分布は正規分布で近似される。これが所謂Maxwell-Boltzmann分布の話。
正規分布はカノニカル分布としてこのような形で出て来る。
正規分布は平均と分散を固定したときの「最もありがちな分布」になっている。 pic.twitter.com/O5CLYtsS2M
タグ: 数楽
posted at 11:14:12
#Julia言語
Base.rand(rng::AbstractRNG, d::SampleTrivial{Sphere{T}}) where T を定義して、rand(Sphere(N))で、半径√NのN-1次元球面上の一様分布のサンプルが得られるようにしてある。
こういうコードの例示はあまり見ないので貴重かも。
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/j8fEh1Dozo
タグ: Julia言語
posted at 11:35:07
#数楽
「同じもの」だと分かる解説が見当たらないので、自分で書いた解説が
genkuroki.github.io/documents/2016...
です。難しい話は避けて、理学部2~3年生が読めるように書いたつもり。素晴らしい解説ではないが(全文書き直したい)、他に代わる解説はないと思う。 twitter.com/genkuroki/stat...
タグ: 数楽
posted at 11:43:59
#Julia言語
文字列にCで書かれた函数のコードを格納し、
それをgccに与えてshared libraryを作成し、
その中の函数をJuliaから利用している。
@ ccall マクロが神!
以前はccall函数の読み難い呪文を唱える必要があった。
nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/liwDnVj4uZ
タグ: Julia言語
posted at 12:00:43
「日本は大学の懐事情の厳しさが若手研究者を直撃する。04年の国立大学法人化で産学連携などが進んだ一方、運営費交付金削減の副作用で大学は人件費を抑制した。有馬朗人元文部相は「国立大学の法人化に伴い、交付金を削減したことが大きな間違いだった」と悔いる。」 www.nikkei.com/article/DGXMZO...
タグ:
posted at 12:25:38
「「日本は人件費が無料で研究させられるから良いんです」。野依氏は日本の大学教授にこう言われてあぜんとした。野依氏は「博士課程の学生はただ働きで、日本の現状は憲法の精神に反する」とあえて憲法を持ち出して批判する。」
タグ:
posted at 12:26:17
有馬朗人は大部屋に溢れるほどの物理学者を前に「ノーベル賞をとればいいんです」と言い放った。それからたくさんの日本人がノーベル賞を得た。それで日本の学術を取り巻く環境はよくなったか?いや、大学はずっと兵糧攻めに合っている。
有馬は大嘘つきだよ。僕は決して忘れない。忘れてはならない twitter.com/kikumaco/statu...
タグ:
posted at 12:36:10
20年以上戦ってきて、最近、オブジェクト指向が分からなくなった。
結局、クラス・継承・隠蔽 って?
Rust/Go/Juliaにはそもそもクラスがない。
次の翻訳記事の一文が参考になった>
>「Goはオブジェクトを持たない新しいオブジェクト指向プログラミングモデルなのです。」
postd.cc/is-go-object-o...
タグ:
posted at 12:40:30
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
#Julia言語 PythonのライブラリをJuliaの中からシームレスに使えるようにするためのPyCall.jlやそれを使ってmatplotlibをJuliaから使えるようにしたPyCall.jlパッケージでは、ax.plot_surface(X,Y,Z)のような書き方をできる。
添付画像1はPythonで2はJuliaです。' と " の違いしかない! pic.twitter.com/ZmQr01pQ8u
タグ: Julia言語
posted at 15:20:33
@martin19191 @sekai_tankyu そうですね。決まりは守るものです。特に上位の決まりに違反する決まりは無効という決まりは厳密に守らなくてはなりません。でないと、大人になって、労働基準法に違反する就業規則は無効であることを守れなくなります。
タグ:
posted at 15:27:51
校則の上位に学校教育法があり教育基本法があり日本国憲法があることを理解できない大人になってはいけませんよね。 twitter.com/kamo_hiroyasu/...
タグ:
posted at 15:29:54
#Julia言語 個人的に一番あきれる「理由」は「配列のインデックスが0始まりではなく、1始まりだから」というもの。
どこかに人類のプログラミング能力を劣化させる悪の組織があるかのごとく。
添付画像はJuliaで「0始まり」だけではなく、「-100始まり」(笑)のインデックスを使っている例です。 pic.twitter.com/tVkSLQNdGd
タグ: Julia言語
posted at 15:53:26
まさに、それ! #Julia言語 で感動的なのは、パッケージも含めて導入が容易なこと。
①公式バイナリのインストーラーをダウンロードして実行。
julialang.org/downloads/
②Juliaを実行して
julia> ]
pkg> add 使用するパッケージのリスト
でパッケージ群も入れられる。 twitter.com/hayabusa_0613/...
タグ: Julia言語
posted at 16:08:07
アンケートによると、対面授業になった場合に参加できない(したくない)学生が数人いて、理由は高齢者と同居していることや梅田の人混みを通って通学しなくてはならないことなどだった。高齢者がいると考えるかなあ、やっぱり
タグ:
posted at 16:15:01
この話が難しいのは、無理強いはできないことですね。「対面でしかやりません」とは言えない。そのため、出席できない学生のために何かをしなくてはならないわけです。
「対面しかやりません」と宣言できないのは相当大変だと思います
タグ:
posted at 16:19:36
#Julia言語 #R言語 も使っているならば
juliainterop.github.io/RCall.jl/stabl...
RCall.jl
も入れる。
nbviewer.jupyter.org/gist/genkuroki...
にJuliaからRを使う方法の例示があります。添付画像はJuliaから使ったggplot2で作ったグラフの例。ggplot2そのものです(笑) twitter.com/genkuroki/stat... pic.twitter.com/jQzzsMBKkz
posted at 16:23:01
#Julia言語
訂正
❌"""~"""
⭕️raw"~"
rawでない"でもタブ補完を使えば楽だと思います。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 16:39:24
#Julia言語 多分、私のtwilogで検索すれば検索効率が高くなります(笑)
twilog.org/genkuroki/sear...
iPadと自分のパソコンが同じローカルネットワーク内にいるならば、添付画像のようにZeroTier経由ではなく、直接にiPadからパソコン上のJupyterサーバーに接続できます。 pic.twitter.com/gOUDe79Ah0
タグ: Julia言語
posted at 16:50:32
とはいえうちの職場の場合謎の設定で #Python や #Jupyter を「入れる」ところで謎セキュリティが働く。こんなんでプログラム教えるとか机上の空論やしなぁ。せやから #十進BASIC すら使えへん。でも謎業者に夏の間に PythonとJupyterというよりanacondaを入れて貰ったのでPythonは何とか遊べてる... twitter.com/genkuroki/stat...
posted at 16:53:55
#Julia言語 nightly build版
julialang.org/downloads/nigh...
も入れる価値あり!「最初のプロットでの遅延」という誰もが認めるJuliaの欠点が大幅に緩和!ただし、私が用意した野良forkパッケージを入れる必要がある。
pkg> add https: //github.com/genkuroki/Showoff.jl
(:の後の空白は除く)
タグ: Julia言語
posted at 16:58:07
#Julia言語 for文も1行で書くべきだと思います!ぜひとも!
for a in b
c
d
e
end
は
for a in b c; d; e end
と書ける。ifについても同様。セミコロンも可能な限り、書かずに済ませたい。
Juliaのパーサーはとても面白いです。 twitter.com/hirlab_a/statu... pic.twitter.com/l7BCOjNSpm
タグ: Julia言語
posted at 17:07:40
非公開
タグ:
posted at xx:xx:xx
#Julia言語 特に添付画像のifの方を見れば分かるのですが、Juliaでは1行で書く場合であっても、相当に怖いセミコロンの省略が可能です。
パーサーの性質はマクロを書くために色々調べているうちに気付く。
Juliaの3項演算子 a ? b : c はブロックにするか否かを除けば if a b else c end と同じ。 pic.twitter.com/2FJjtM0qo3
タグ: Julia言語
posted at 17:14:27
#Julia言語 Jupyterも含めたPythonとの連携が大変過ぎると感じる人は、それをあきらめても相当に遊べます。そのためには
julia> ]
pkg> add Pluto
pkg> バックスペース
julia> using Pluto
julia> Pluto.run()
を試してみればよいと思います。
添付画像はPluto.jlの使用例。 pic.twitter.com/jzNCr1iefq
タグ: Julia言語
posted at 17:42:28
そのアカウントはかなり以前から #掛算 問題でボコられたのを恨みを持っているのか、あるいはボコられた自覚が無いので相変わらずタワゴトを垂れ流して構われたいだけの人なので相手するだけムダですよ〜
(私は6年前からブロックしてます) twitter.com/49sick89hack/s...
タグ: 掛算
posted at 17:47:47
非公開
タグ:
posted at xx:xx:xx
Fortranほぼ直訳のコードと、モダンな感じで書いた二つのJuliaコードで速度差がある。なぜかまだわかっていないがFortran直訳の方が1.5倍速い
タグ:
posted at 19:01:22
Juliaで、struct aのフィールドにある整数a.Nを使ってN=a.Nとしてforループ 1:Nを作った場合と、直接数字を1:3と書いた場合だと後者の方が速いことがある。なぜかわからない
タグ:
posted at 19:12:24
@cometscome_phys コンパイラがループを展開しているからだと思います。分岐が減りますし、命令のスケジューリングの自由度も上がるので最適化しやすいと思います。
タグ:
posted at 19:14:58
@cometscome_phys できると思います。あるいは型パラメータにエンコードするというテクもあります(StaticArrays.jlみたいな感じです)
タグ:
posted at 19:18:59
@eddie_masa 院試の合否発表の掲示板前にリクルーターになった先輩がいたり、就活面倒になった同期はそれ知ってて院試受けてもいないのに合否発表に現れたりしてた二十五年前の夏。
タグ:
posted at 19:35:35
@ari23ant アリさま、いつもブログを読ませていただいています。ありがとうございます。本から入るのが一番良いです「1から始めるJuliaプログラミング」、本以外ならまずこのチュートリアルで慣れるのが良いかと思います。
github.com/bicycle1885/Ju...
タグ:
posted at 19:56:36
Juliaの猫と犬の例 gist.github.com/genkuroki/8e04... をpharo.org Smalltalkで、何のひねりもなく(そしてC++との比較の意味をまったく無視して^^;)ダブルディスパッチで書いてみたくなったので→ ws.stfx.eu/SFR4SOZSRHBL クラスブラウザを使わずに記述&実行できる変則コードです。あしからず pic.twitter.com/Q9FiwjjR4x
タグ:
posted at 19:59:23
Intel 14nmプロセスとTSMC 7nmプロセスを電子顕微鏡で比較した結果 northwood.blog.fc2.com/blog-entry-105...
タグ:
posted at 20:05:27
#超算数 小倉金之助の同名の論文とは異なり、これは百科事典風の記述。
安藤洋美「明治数学史の基礎工事」 『桃山学院大学人間科学』第19号 (2000年7月)、1-90ページ。id.nii.ac.jp/1420/00007380/
笠間藩士で後に幕臣になった小野友五郎の記述が面白かった。和算を研究し、幕府天文方出仕に。蘭学も学ぶ。
タグ: 超算数
posted at 20:16:40
@OokuboTact #超算数 これはいいですね。小倉は「日本における近代的数学の成立過程: 明治時代の数学」でも同じようなことを書いています。
タグ: 超算数
posted at 20:19:47
#Julia言語 #数値計算 小ネタ
sum(f(i) for i in 1:N) と sum(f, 1N) の違い。前者はi=1からNまで順番に足して行くので精度が落ちる場合がある。
sum(f(i) for i in 1:N)で実際に精度が落ちてしまう例が添付画像1
sum(f, 1:N)なら理論値の0.25が再現されることが添付画像2
gist.github.com/genkuroki/33b0... pic.twitter.com/KCxD33AeYA
posted at 20:35:23
#超算数 戦前の算数教育がたどり着いた結論の一つが、1946年9月の日付をもつ「小学校教科課程表」にみてとれる。【思考の経過が正確簡潔に表現できるやうに仕向ける】指導が必要であるというもの。現場での指導ではこれは式は全て自然言語によって表現できるという還元主義として現れる。 twitter.com/temmusu_n/stat...
タグ: 超算数
posted at 20:56:59
今日とある方に,Juliaじゃないとだめなんですか?Pythonじゃだめなんですか?と言われしまい何も言えなかった…
好きな方使えってのが個人的な意見なので
タグ:
posted at 21:30:50
#超算数 小倉金之助「日本における近代的数学の成立過程: 明治時代の数学」は『近代日本の数学』所収。この中で小倉は学制発布当時の算術教授法が分かる本をあげる。
師範学校編『小学算術書』全5巻 東京、文部省、1873-6年。dl.ndl.go.jp/search/searchR...
校長の諸葛信澄の影響大。
タグ: 超算数
posted at 21:31:28
本日は出かけるついでにJulia言語に関する書籍を購入しました。
数値計算用としてはPythonよりも使い勝手が良いと噂なので、ぼちぼち習得していきたいですね。
マスターしたら職場でも布教しようかな?
タグ:
posted at 22:18:47
By popular demand: An explanation of how I remotely debugged a #julialang user's faulty DRAM: julialang.org/blog/2020/09/r...
タグ: julialang
posted at 22:53:55
非公開
タグ:
posted at xx:xx:xx
#Julia言語
rand(Foo(N)) とか rand(Foo(N), n) のようにして、Foo(N)の独自定義の擬似乱数もしくはその配列を生成できるようにするためには
docs.julialang.org/en/v1/stdlib/R...
を読めば良い。添付画像は単体や球面上の一様分布の擬似乱数の場合のコード。 pic.twitter.com/1JoL2u68i0
タグ: Julia言語
posted at 23:48:22
#Julia言語 上のようにして一発で擬似乱数(サンプル)を生成できない場合には、MCMC法を使う。
正の実数を成分とするランダム数ベクトルについてその相加相乗平均にそれぞれ上限下限を設けると、ガンマ分布で近似される分布が出て来る。
という話を既出の
nbviewer.jupyter.org/gist/genkuroki...
に追加。続く
タグ: Julia言語
posted at 23:56:54