黒木玄 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月20日(土)
www.coderelay.io/fontemon.html
これは面白い。OpenTypeはfontだけれどもscriptが書けるそう。フォントのコードだけでゲームを書いてしまった人が上記。ひたすらキーボードを打ち続けるとゲーム画面が展開されストーリーが続いていくがちゃんと選択肢も出るようだ。リンク先に真のエンディングの見方がw
タグ:
posted at 01:53:07
Twitter に貼れる png ファイルに 3MB のデータを埋め込む事に成功したらしい。ソースは画像ファイルの拡張子を zip に変えて解凍した中に含まれているとの事。ワレズという単語を思い出すなw twitter.com/David3141593/s...
タグ:
posted at 01:54:29
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
#統計 ネイマン&ピアソンのピアソンさん曰く【最初から我々は、科学研究に置いて統計的検定は「学習の手段」であるというフィッシャー教授の見方を共有していた】acceptやrejectという用語選択が不適切だったことも認めている。
統計的検定は「お墨付きを得るための手段」ではなく、「学習の手段」。 twitter.com/genkuroki/stat...
タグ: 統計
posted at 11:13:30
OKUMURA, Akira(奥村 曉) @AkiraOkumura
「設定」という言葉を macOS の辞書で引くと、「電圧の設定値」「OS の言語環境を設定する」みたいな用法の解説は載ってないんだな。技術系の用語として比較的最近広まったものなんだろうか。
タグ:
posted at 11:34:56
先日 dB SBL (音圧のレベル) に関わる技術資料を手に取ることがあってこの一連のツイートを読み改めて読み解く時に身が引き締まる思いがした。⇒『勉強するときには、専門用語を日常的な意味で解釈してはいけないことに常に注意を払うべき』 twitter.com/genkuroki/stat...
タグ:
posted at 11:56:48
#Julia言語 以下のリンク先のケースでは、P値函数やモデルのパラメータ値が信頼区間に含まれる確率を求める函数は1行で書いた方が抽象化された読み易いコードになります。
最適化を行うと複数行になって読み難くなる(笑) twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 12:03:44
#Julia言語 数学的には常微分方程式の解は函数になります。
Juliaの DifferentialEquations.jl で求めた数値解は数値解の配列を含む複雑なstructになっているのですが、函数としての機能も持っています(function-like object)。
この点を以下のリンク先の10行コードでは便利に利用しています。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 12:08:12
#Julia言語 以下のリンク先のコードでは
d = Normal(0, 2) とおいています。これは「d を平均μ=0標準偏差σ=2の正規分布とする」と同じ意味です。
JuliaのDistributions.jlでは確率分布の概念がきちんと抽象化されていて、確率分布オブジェクトを作れます。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 12:11:50
#Julia言語 で微分方程式などの数値解の配列などを格納した型のオブジェクトsolに函数の機能を持たせることも簡単です。
function (sol::FooProblemSolution)(t)
solの中身から解のtにおける値の近似値を計算するコード
end
のように定義してやればよい。
docs.julialang.org/en/v1/manual/m...
タグ: Julia言語
posted at 12:23:28
Abhishek Sharma @abhisheksh_98
I wrote about a way to solve the expected threat (xT)
equation in Julia.
📑: sharmaabhishekk.github.io/projects/xt-de...
Code (+ data): github.com/sharmaabhishek... pic.twitter.com/gI1eXNE1hJ
タグ:
posted at 12:42:59
Abhishek Sharma @abhisheksh_98
Thanks to @karun1710 himself for the entire concept of xT.
Also the @KU_Leuven team for their public python implementation which I could study/rework into the julia code.
Huge thanks to @maramperninety too for reading the first version of this!
All feedback is welcome! :)
タグ:
posted at 12:43:00
#Julia言語 e(i)の形式で書かれるオブジェクトに
e(i)[i] = 1
e(i)[j] = 0 (i≠j)
という性質を持たせたければ
struct E i::Int end
Base.getindex(e::E, j) = (e.i == j)
e(i) = E(i)
のようにBase.getindexを定義すればよいので簡単です。
添付画像中ではもう少しこったことをしています。 pic.twitter.com/BpNfDwMXBl
タグ: Julia言語
posted at 13:21:48
#Julia言語
添付画像では、第2成分だけが1で他の成分が0の4次元ベクトルe(2)を作っています。e(2)の内部に 0, 1, 0, 0 という4つの成分は保持されておらず、4と2の2つの情報しか保持されていません。
高次元の場合には効率的。
ソースコード↓
gist.github.com/genkuroki/3101... pic.twitter.com/H0xmYf1Yy1
タグ: Julia言語
posted at 13:25:07
#Julia言語 第i成分が1で他の成分が0のベクトルe(i)を行列Aに右からかけるとAの第i列が取り出されます。
行列とベクトルのかけ算の定義通りに計算しなくてよい!
添付画像では多重ディスパッチを使ってその最適化を行なっています。
99×99の場合に55倍の高速化!
gist.github.com/genkuroki/3101... pic.twitter.com/j4ZWBDzXTT
タグ: Julia言語
posted at 13:30:31
In this STEM education company, the best teacher is a PhD of mathematics, and he uses Julia as this first language.
That means I am allowed to use Racket at work, with choosing another one between Python and C++.
At least there is a good news.
Life is Short, Keep Python Away.
タグ:
posted at 13:49:30
#Julia言語
e(i)が第i成分だけが1で他の成分が0のベクトルのとき、行列Aについて、e(i) と Ae(j) の標準内積は A の (i, j) 成分になります。
これを使った最適化を多重ディスパッチで行うと、99×99の場合に60倍近い高速化。
gist.github.com/genkuroki/3101... twitter.com/genkuroki/stat... pic.twitter.com/LsfWBhbdtY
タグ: Julia言語
posted at 14:01:38
#意外にこれ知られてないんですけど
ペンギンの口の中は全然可愛くないんですよ pic.twitter.com/6FAw7lvlLZ
タグ: 意外にこれ知られてないんですけど
posted at 14:49:26
#Julia言語 9999×9999行列の場合にはそれぞれ
2万5000倍
3000倍
の高速化。多重ディスパッチ(同名・同記号の函数であっても引数の型の組み合わせが違えば別のメソッドが起動されるようにできる機能)を使えば1行で実現できる自明な最適化はやっておいて損がありません。
塵も積もれば何とやら。 twitter.com/genkuroki/stat... pic.twitter.com/NcWWDyGSjL
タグ: Julia言語
posted at 14:53:03
全DataFrames.jlが遅いと感じるJuliaユーザーが読むべきpostだった。 #julialang
bkamins.github.io/julialang/2021...
タグ: julialang
posted at 15:52:27
#Julia言語
Julia語の
sum(f(x) for x in X if cond(x))
は数学語の
Σ_{x∈X with cond(x)} f(x)
に直訳できる。
Pythonから来た人が sum([f(x) for x in X if cond(x)]) のように余計な [ ] を追加しているのをよく見るが、[ ] は必要ないし、計算効率を落とすのでやめた方がよい。 twitter.com/genkuroki/stat... pic.twitter.com/Zb7wkBPAGe
タグ: Julia言語
posted at 16:02:59
#Julia言語
[f(x) for x in X if cond(x)] では、実際に条件を満たすすべてのxについてf(x)を計算して、Array(配列)ができ、その分だけのメモリ割当が生じる。
(f(x) for x in X if cond(x)) は単に条件を満たすf(x)達の生成の仕方を記述したオブジェクトになり、メモリをほとんど消費しない。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 16:06:21
#Julia言語 足し上げ方はトーナメント戦の組み方と一対一に対応している。
リニアに足し上げることは添付画像のAに対応している。多くに場合にこれで用が足りるが、稀にまずい場合が出て来る。
別の極端な場合がBである。これなら「塵を集めて大きくしてから足し上げること」が起こり易い。 pic.twitter.com/e2QepleGCX
タグ: Julia言語
posted at 16:22:29
#Julia言語 リニアな足し上げは速いのでパフォーマンスを落とさないようにAとBの中間の方式を採用するのが合理的。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 16:35:47
(「・ω・)「ガオーさん(@bicycle1885)より『スタンフォード ベクトル・行列からはじめる最適化数学』と『現代数理統計学』の本を(サプライズで)ご寄贈いただきました!どちらも欲しかったのでとても嬉しいです!ありがとうございます!! pic.twitter.com/GCMglUMaBY
タグ:
posted at 16:39:42
#Julia言語 で sum は
github.com/JuliaLang/juli...
で実装されている。
めちゃくちゃ地道に細かいことをやっている。
我々一般ユーザーには普段見えない部分を眺めると多くの発見がある。
タグ: Julia言語
posted at 16:43:02
自分ではPythonじゃなくJuliaを使ってるんだけど、学部学生に簡単な数値計算くらいできるようになっておけと言って勧めるにはあまりにも入門用の書籍がないんだな。Pythonならいくらでもある。これがネックよねえ。数値計算の授業じゃないからね。チュートリアルを書くのも大変だしなあ
タグ:
posted at 16:53:45
Juliaもバージョン1.0から人に勧められるようになったんだけど、今のところはある程度プログラミングを知ってる人にしか勧めてない。学部生くらいの数値計算に特化した本が欲しいなあ。数値積分なんかも区分求積法でやみくもに区切りを細かくする方法なら簡単だよね
書けという話かもしれないけど
タグ:
posted at 17:15:56
Juliaでデータ処理を行うときにCSVを読み込むのはほぼ必須。
今回はJuliaでCSVファイルを読み込む3つの方法を解説
普通の読み込み方からパイプライン演算子を使った方法まで
programing.style/2021/03/20/524/
#julialang #csv #データサイエンス #パイプライン演算子
タグ: csv julialang データサイエンス パイプライン演算子
posted at 17:40:31
#Julia言語
bkamins.github.io/julialang/2021...
を読めばJuliaのDataFrames.DataFrameの仕様が型安定でない理由(Example 3)と型不安定性の問題を避ける方法が分かります。
Jupyter notebook化↓
gist.github.com/genkuroki/bab3...…
In[14],In[16],In[19]の結果だけは見た方がよい。
ひどく遅くなっている。 pic.twitter.com/iTfOdCzEOY
タグ: Julia言語
posted at 17:58:25
#Julia言語 しかし、色々納得できない。
添付画像の①②③を比較すれば分かるように、遅くなっている原因は isodd(i) ? 1 : 1.0 ではなく、Symbol("a$i")の側にあります。
isodd(i) ? 1 : 1.0 の部分が遅くなる原因に見える説明はミスリーディングだと思った。
gist.github.com/genkuroki/a63c... pic.twitter.com/he6czfjbBA
タグ: Julia言語
posted at 19:06:07
#Julia言語 列達の分散共分散行列を求めることも、eachcolを使わずにMatrixのcorを使った方が速いです。
MatrixとDataFrameの両方でeachcolを使った場合には同じオーダーの速さになる。
この点もミスリーディングな説明になっていると思った。
数値線形代数力が必要な函数はそれ専用の函数が速い。 pic.twitter.com/Ykai5K7DbA
タグ: Julia言語
posted at 19:43:22
#統計
統計学について「データから科学的結論を導き出す装置」としての「特権的な役割」「お墨付き」「特権的機能」とか、極めて有害な考え方だと思う。
「特権的機能」の存在は自分自身のステータスを上げるためのチートの道具としてニセ統計学を使いたい人にとって都合が良い。 twitter.com/genkuroki/stat...
タグ: 統計
posted at 19:57:54
#Julia言語 さらに「eachcolを使えばDataFrameでも速い」と考えるのも誤解です。
添付画像ではf(df), g(df), h(df)のどれも for a in eachcol(df) を使っているのですが、f(df)だけが遅い。g(df), h(df)が速いのは、sum(a)がbarrier functionの役目を果たしているからです。
gist.github.com/genkuroki/2719... pic.twitter.com/0U8s0yWfZq
タグ: Julia言語
posted at 20:32:40
#Julia言語
函数 f(df), g(df), h(df) において、for a in eachcol(df) の時点では a の成分の具体的な型をjuliaは分かっていない。
しかし、sum(a)の側では、引数aの成分の具体的な型が分かっている。そのお陰で、高速に計算されて欲しい sum(a) は実際に高速に計算される。
f(df)では違う。 pic.twitter.com/qkrF2pvgo3
タグ: Julia言語
posted at 20:37:28
MATLABも素晴らしい製品だと思いますが、 Pythonに、特にmatplotlibに慣れているなら、#Julia言語 の方を最初に試した方が多分得だと思います。
Juliaでもmatplotlibを使えます。プロットの仕方の習得コストはものすごく高い。 twitter.com/yoshinobancho/...
タグ: Julia言語
posted at 20:45:13
英語でいいならネット上に結構沢山あるような気がしますが、学部生向けだと確かにつらいかも。
検索するときにはGoogleの設定を「地域:アメリカ合衆国」にしろと言っておく必要もある。
v1.0.0が出た2018年8月より前に書かれた #Julia言語 のコードは現在のJuliaでは動かないという情報も結構重要。 twitter.com/kikumaco/statu...
タグ: Julia言語
posted at 20:50:18
#Julia言語
MITでの数値計算コースのJulia tutorial
↓
Juliaのインストールの仕方
github.com/mitmath/julia-...
↓
Jupyter notebook
github.com/mitmath/julia-...
↑
これをマスターすればすぐに計算に入れると思う。
タグ: Julia言語
posted at 20:58:56
僕はJuliaの伝道師という感じでもないので、Juliaはいいよと言うくらいなのですが、研究の計算は今や全部Juliaです。もうCに戻ろうという気にはならないので、Juliaが進化することを期待しています。
投稿中の論文のソースコードとデータはzenodoで公開中です
zenodo.org/record/4409496...
タグ:
posted at 21:00:26
↑素数かどうか検証したい場合はこちらの素因数分解サイトを使うと速いかも
www.alpertron.com.ar/ECM.HTM
↑下の81桁素数をコピペして。
777777777777777777778888877778777877778777877778777877778888877777777777777777777
②中心だけ違う数字の、ほぼゾロ目素数正方形!
#͢見て楽しい素数 pic.twitter.com/np3Tn4rgIr
タグ:
posted at 21:02:40
大陸移動説について書かれた本を読んでいたら共産党系の教師から「こんな米帝国主義の理論にかぶれやがって」と怒られた、というような話も聞いた。
党として公式に1つの学説を提唱した、という訳ではないだろうけど、井尻正二氏の影響は大きかったらしい。 twitter.com/kamo_hiroyasu/...
タグ:
posted at 21:22:13
#Julia言語
github.com/mitmath/18335
18.335J/6.337J: Introduction to Numerical Methods
この入門コースが非常に面白そう。
github.com/mitmath/18335/...
には講義者自身の業績であるFFTWの解説がある。
FFTを効率的に実行するためにコードの自動生成の技術を使っている。
タグ: Julia言語
posted at 21:31:39
#意外にこれ知られてないんですけど
浜松は東京より富士山から遠い。
pic.twitter.com/CwnYR7H56q
タグ: 意外にこれ知られてないんですけど
posted at 21:32:13
@E_Fessenden 米国の学者に提唱者が多かったのかな?
ロシアは地盤が固くて、大陸移動の痕跡が少なくてソ連の学者は大陸移動に否定的だった、という話も聞きました。
タグ:
posted at 21:36:57
@sekibunnteisuu Wikipediaには、
1960年代から1970年代にかけての日本では、おもにアメリカ合衆国から大陸移動説やプレートテクトニクスの書物を取り寄せて紹介されたため、ヴェーゲナーの名は「ウェゲナー」の英語風の読みで広く定着することとなった[要出典]
とありました。この辺りの事情かも知れませんね。
タグ:
posted at 21:39:05
立花隆氏が井尻正二氏に取材して準備不足を叱られたことがあって、それから取材する際はその分野について勉強するようになったらしい。その後も何度か取材したという。
その後、立花隆は「日本共産党の研究」で共産党からは蛇蝎のごとく嫌われるんだけどね。
タグ:
posted at 21:41:29
@E_Fessenden @sekibunnteisuu あの辺のことはこの本に詳しく書かれています。 面白いです。 twitter.com/kuri_kurita/st...
タグ:
posted at 22:31:00
「Mathematical Theory of Bayesian Statistics」読後メモ(2) (「ベイズ統計の理論と方法」の比較) qiita.com/hiroto1979/ite... #Qiita @hiroto1979から
続きが楽しみな記事だ
タグ: Qiita
posted at 22:35:27
#Julia言語
JuliaでmatplotlibとPlots.jlを同時に使うには
using PyPlot: PyPlot, plt
using Plots; pyplot(fmt=:svg)
x = range(0, 2π; length=1001)
として
plt.plot(x, sin.(x)) # matplotlib.pyplot
とか
plot(x, sin.(x)) # Plots.jl
とする。たまに両方使いたいことがある。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 23:09:07
【19桁】のカニンガム鎖、10e17〜25e17の範囲で新たに CC14、2446783255938926189 が見つかった。12e17まではもうすぐ完了する。 pic.twitter.com/0ORTOZUW5W
タグ:
posted at 23:22:33