Twitter APIの仕様変更のため、「いいね」の新規取得を終了いたしました

黒木玄 Gen Kuroki

@genkuroki

  • いいね数 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月29日(火)

Viral B. Shah @Viral_B_Shah

20年9月29日

GPU GEMM kernels in native #julialang coming very close to CUBLAS performance, including mixed precision arithmetic. @maleadt

juliagpu.org/2020-09-28-gem... pic.twitter.com/yFMv1p7Y8M

タグ: julialang

posted at 00:18:44

UFO教授 (藤木文彦 Fumihiko @UFOprofessor

20年9月29日

@genkuroki @sekibunnteisuu @musicisthebest_ @GreatDemon1701 @temmusu_n 何故そうなるの?と聞かれたとき、「教科書に載っているから」ではなく「これこれこうやるとこの式になります」と説明できることが大事ですね。
これ、数学の問題だけで無く、世の中の事全てにあてはまり、
「規則だから」というのではなく、合理的に納得できる理由が説明できることが重要ですね。

タグ:

posted at 01:26:02

Hideki Kawahara: WAS @hidekikawahara

20年9月29日

新しいネタの素材を計算させたら、7時間30分かかった。律速段階の相互相関は巡回相関で良い(というかそちらが正しい)のでFFTとIFFTを使えば1/3の時間で計算できる。Juliaの出番か!と思ってMATLABと比較すると、MATLABの方が3倍ほど早い。FFTW.jlのGitHubにはMKLを使うようにとあるが、さて? pic.twitter.com/52tEqGLVR6

タグ:

posted at 01:27:07

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 要するに、Juliaに入門したら、

 function f(x::Float64) ~ end

のような書き方は

 多重ディスパッチのため以外にせず、

ほとんどの場合に

 function f(x) ~ end

で済ませ、変数の型が気になったら、

 @ code_warntype f(1.0)

を確認する、と覚えておけばよいと思います。

タグ: Julia言語

posted at 03:52:41

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 函数内の変数が具体的にどの型として扱われることになるかは、Juliaにおいても非常に重要です。

それを人間側が全部書いて決めようとするのは大変すぎ。

函数内での型の決定はできるだけJuliaに任せて、

 @ code_warntype や @ code_typed

で確認すれば楽をできてかつ安心もできます。

タグ: Julia言語

posted at 03:57:56

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 では「整数値の計算でオーバーフローしそうになったら自動的に型を変える」のようなことはしません。だから、計算しているものとして想定しているものの型について素直なコードを書いていれば、自然に型が安定して伝搬して行くコードになります。

タグ: Julia言語

posted at 04:03:38

JuliaHub @JuliaHub_Inc

20年9月29日

Researchers use #Julialang on a #NERSC #supercomputer (650,000 cores) to speed astronomical image analysis 1,000x, catalog 188 million #astronomical objects in 15 minutes and achieve peak performance of 1.5 petaflops per second. juliacomputing.com/case-studies/c...

#ML #AI #bigdata pic.twitter.com/p3s8b8uvn8

タグ: AI astronomical bigdata Julialang ML NERSC supercomputer

posted at 04:04:49

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 @ code_warntype で型の伝搬を確認するようになると、強い警告色による表示が出ているのに、速度的な劣化がほとんどない場合に結構出会います。

Juliaが巧妙な方法でユーザー側が型の伝搬でさえ気にしていなくても、高速で計算してくれる場合を増やそうと頑張っていることが分かる。

タグ: Julia言語

posted at 04:06:18

Mehmet Hakan Satman @mhsatman

20年9月29日

when you type

result = data |> f |> g |> h

it is

result = h(g(f(data)))

You think it is F#, but it is also #juliaLang

タグ: juliaLang

posted at 04:09:19

Ben Bartlett @bencbartlett

20年9月29日

Recursively rotating segments of an image rotates the image itself

🔗 Code by rvizzz on GitHub: github.com/rvizzz/rotate pic.twitter.com/IyLwKyCqKw

タグ:

posted at 05:28:15

tomo @tonagai

20年9月29日

FPUT問題(Fermi-Pasta-Ulam-Tsingou)の2次の非線形の振動子の動きを Python+Scipyでルンゲクッタ8次のDOP853(Dormand&Prince)を使って計算 sci.tea-nifty.com/blog/2020/09/p... pic.twitter.com/R7gXkDKp0h

タグ:

posted at 05:46:08

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@HShinaoka @physics303 @cometscome_phys @HW_a_pythonista 一般に巨大行列の積は重いです。

添付画像

1. 冪乗法の #Julia言語 版です。

2. 「Aの転置×A」版における速度的劣化は丁度行列の積の分だけ。

あと、power_method(rand(1000,1000), 1e-2)には私の古めのパソコンで 0.4 ms しかかかっていません。

全ソースコード↓
gist.github.com/genkuroki/aac1... pic.twitter.com/o6WxvrjDSl

タグ: Julia言語

posted at 06:12:00

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@HShinaoka @physics303 @cometscome_phys @HW_a_pythonista アルゴリズムの比較を C++ でやるのはかなり大変そうだなと思いました。

#Julia言語 がおすすめ(笑)

どれだけ楽かは

gist.github.com/genkuroki/aac1...

を見て頂ければわかると思います。

BenchmarkTools.jlが神。

タグ: Julia言語

posted at 06:14:59

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@UFOprofessor @sekibunnteisuu @musicisthebest_ @GreatDemon1701 @temmusu_n 「教科書に載っているから」のような理由で「正しい」とか「使ってよい」のように考える人達を増やすことは、我々の社会をろくでもないものにします。

子供をそのような方向に誘導する大人達は社会的に悪者扱いが妥当。

数学なら、生徒の側が教師に向かって「おまえは間違っている」と確実に言える。

タグ:

posted at 06:21:15

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@UFOprofessor @sekibunnteisuu @musicisthebest_ @GreatDemon1701 @temmusu_n 教師が言っていることや教科書に書いてあることが間違っているときに、間違っていると言えるようになることは、数学を理解しているかどうかの基本的な判断基準の一つ。

誰か偉い人が言っているから正しいのではないことがものすごく分かり易いのが数学。

タグ:

posted at 06:22:42

k @musicisthebest_

20年9月29日

@genkuroki @UFOprofessor @sekibunnteisuu @GreatDemon1701 @temmusu_n ほんとにそのとおりだと思います。
・それを、「テストは習ったことの確認」として異常指導を肯定することが、いかに罪深いか。
・自分より知的にすぐれている児童が存在しうることを、指導者はちゃんと認知し、肯定的にとらえてほしい。

タグ:

posted at 06:26:46

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@HShinaoka @physics303 @cometscome_phys @HW_a_pythonista #Julia言語 訂正。Float32にも対応。

gist.github.com/genkuroki/aac1...

ところで、rand(N,N)をテストデータとして使うことは妥当なのでしょうか?

Perron-Frobeniusの定理が使える状況でテストしたいということなのでしょうか?

添付画像のコードはPF定理が使える状況に合わせてあります。 pic.twitter.com/Qz5mmnmQqk

タグ: Julia言語

posted at 06:39:50

黒木玄 Gen Kuroki @genkuroki

20年9月29日

水の玉でピンポンしている様子も面白いが、Scott Kellyさんのキラキラしている目が最高。 twitter.com/techamazing/st...

タグ:

posted at 06:51:14

とりさん @biochem_fan

20年9月29日

Julia で巨大な CSV ファイル(的なもの)を parse した時、一度目はまともな速度なのに二度目が遅いと思って調べたら、読み込む関数自体ではなくて、一度目に読み込んだオブジェクトを捨てて GC するのに数十秒かかっていた。部分文字列オブジェクトが数千万あるからなあ。なんとか速くしたいがはて。

タグ:

posted at 07:08:04

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 おまけ。usingさえあれば、importはいらない。

using Foos

以外に、Foos内のものaをFoos.aの形でしか使えなくする

using Foos: Foos

や、Foos内のfooとbarしか使わない場合の

using Foos: foo, bar

は結構使う。usingのこの使い方を知っていると、名前の衝突を効率良く防げる。 twitter.com/akhdhys/status...

タグ: Julia言語

posted at 07:22:13

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@hidekikawahara #Julia言語 JuliaのFFTではユーザーが設定をしないと並列処理してくれないので、その点は要注意です。

あとplan_fft化して、in-place計算にするとさらに速くなります。

私のパソコンではその2つでFFTが5倍速くなりました。

gist.github.com/genkuroki/21c2... pic.twitter.com/YJJfetNLOd

タグ: Julia言語

posted at 08:01:27

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@nomasasayo #Julia言語 古くなって開発が止まっているパッケージは使えないものがあります。その場合にはforkして自分で手直しするしかないです。

それ以外の原因でパッケージのインストールがうまく行かないのであれば、是非ともどういう状況か教えて欲しいと思いました。

タグ: Julia言語

posted at 08:06:58

PAW @akhdhys

20年9月29日

C++のincludeは関数本体が書かれているファイルはincludeしなくていい(テンプレートライブラリは除く)んですけど、Juliaではこれをincludeする必要があります
C++などでは普通の使い方では関数の宣言をincludeすることになるんですけど、Juliaでは関数の実装をincludeすることになったりしますね

タグ:

posted at 08:35:18

PAW @akhdhys

20年9月29日

この方向のインクルードになると名前空間管理のベストプラクティスが変わって来そう
これまで我々は関数が実装されているファイルの先頭を見ればどのファイルから影響を受けているか判別出来たが、Juliaではむしろinclude元ファイルの環境を引き継ぐことになる

タグ:

posted at 08:50:23

PAW @akhdhys

20年9月29日

下手な人が書くと影響元の特定が難しいコードが出来そうな気がしなくもないが、Junoのデバッグ機能が強いので問題ない可能性もある

タグ:

posted at 08:52:59

PAW @akhdhys

20年9月29日

一つのパッケージ内にmoduleをたくさん作れば名前の衝突を防げてPythonと似た使用感になるのかもしれないが、それをするくらいならリポジトリごと分けられているような印象がある
例えばGeomericFluxはscatternnlibを分離してしまった

タグ:

posted at 09:07:33

yudai.jl @physics303

20年9月29日

@genkuroki @HShinaoka @cometscome_phys @HW_a_pythonista ありがとうございます.rand(N, N)だと最大固有値はN/2に漸近していくので,N/2に近い値を返すアルゴリズムが優勝します.正しく最大固有値を計算できているか調べるには,rand(N,N)をテストデータとして使うことは妥当ではない気がします.

タグ:

posted at 10:11:48

Hiroshi Shinaoka @HShinaoka

20年9月29日

@SGThr7 @genkuroki BlueqatのクラウドでJupyter+Julia使えますよ。

タグ:

posted at 10:54:27

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@dc1394 #Julia言語 たぶん、Juliaユーザーの多くは1変数函数の数値積分には QuadGK.jl を使っていると思います。

gist.github.com/genkuroki/ca11...

で私が試してみた結果があります。

∫_1^4 dx/(2√x)

の計算で

quadgk → 1.446 μs

でした。誤差などの詳細情報については上のリンク先を見て下さい。

タグ: Julia言語

posted at 11:05:00

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 関連

Foos内の函数fooの自分が定義した型への定義を

①import Foos: foo
②foo(x::MyType) = (MyType用の定義)

と書くと、①と②の行が離れていると、「このfooはどこのfooなのか」が分かり難くなります。

using Foos: foo
Foos. foo(x::MyType) = (MyType用の定義)

なら安心。 twitter.com/akhdhys/status...

タグ: Julia言語

posted at 11:21:23

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 他人が作ったパッケージの解読では、ソースコードを直接読むよりも、インタラクティブな環境で、doc stringを表示させたり、@ whichやmethodsやmethodswithやdumpなどで情報を得ながら、解読して行った方が楽。

Juliaのインタラクティブな環境を使えば沢山の情報が楽に得られる。

タグ: Julia言語

posted at 11:27:34

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@RyotaKimura その人は、正しいことも書いていますが、ど素人の私以上に基本的なことを理解できていないっぽいので、あんまり信用しない方がよいです。根拠は↓

(マイクロベンチマークは現場での実効的な速さについてあんまりあてにならないので注意。私も以前は酷く誤解していた)

twitter.com/genkuroki/stat...

タグ:

posted at 11:40:59

PAW @akhdhys

20年9月29日

@genkuroki 皆さんどうしてらっしゃるのだろうとは思っていたのですが、やっぱりインタラクティブ環境で読んでいくのがメインになりますよね!

タグ:

posted at 11:48:02

PAW @akhdhys

20年9月29日

Juno.@enterは何も考えなくても使えるし、juliaのprofileは行単位で出してくれるし、この辺は本当に使いやすく仕上げてくれている

タグ:

posted at 11:51:45

乳鉢 @nyubachi

20年9月29日

思い通りの3次元配列が作れないまま昼休みが終わりそう…。要修行。 #Julia言語

タグ: Julia言語

posted at 12:03:49

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語

Juliaでは、常に単純に解釈すれば正解になる。

Juliaのコードは読み込まれたものが順番に実行されるだけ。

定義のコード全体が読み込まれていない函数は実行できない。

単純に考えれば正解。

Juliaは、ユーザー側から見て最も単純なスタイルで機能することを実証した点がすごい。 twitter.com/akhdhys/status...

タグ: Julia言語

posted at 12:13:56

乳鉢 @nyubachi

20年9月29日

空のテンソルを作って、for文でデータを入れ込んでいったらできたが、もう少しマシな書き方があるだろう。

タグ:

posted at 12:18:17

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語

Juliaでは、公開する気がない使い捨ての個人パッケージを気軽に作れるくらいなので、別パッケージに気軽に分離しがちなのだと思います。

使い捨てパッケージ程度なら

julia> cd("~")
pkg> generate MyTmpPkg
pkg> dev MyTmpPkg

のような感じで作って使えるようになる。 twitter.com/akhdhys/status...

タグ: Julia言語

posted at 12:23:48

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語

MyTmpPkg/src/MyTmpPkg.jl を編集しながら、

julia> using Revise
julia> using MyTmpPkg

とすると、編集内容が自動的にREPLの方に反映されるようになります。これは非常に便利です。

一般にfoo.jlを監視下におきたければ

julia> using Revise
julia> includet("foo.jl")

とする。

タグ: Julia言語

posted at 12:26:57

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語

ビルトインの include は単にファイルの中身を読み込んで実行するだけ。

それと違って、Revise.jlパッケージの includet (最後のtを見逃すとハマる)は、読み込んだファイルの更新が監視され、更新が自動的に反映されるようになります。

タグ: Julia言語

posted at 12:29:04

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 「実行可能なバイナリを作ってテストする」という発想とは全然違って、「Revise.jlによって監視されているファイルで定義されている函数達の各々をインタラクティブな環境でテストする」という発想になります。

テスト時には@ timeを付けて実行し、実行時間とメモリ割当を確認すると便利。

タグ: Julia言語

posted at 12:34:04

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 そして、引数の型の伝搬の様子も、@ code_warntype で確認する。

公式ドキュメントのPerformance Tipsを読んでおくと、失敗する場合を大幅に減らせると思います。ほぼ必読。

docs.julialang.org/en/v1/manual/p...

docs.julialang.org/en/v1/manual/p...

タグ: Julia言語

posted at 12:37:40

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 上で紹介した使い捨てパッケージの作成とRevise.jlの組み合わせの類も公式ドキュメントのPerformace Tipsの次の節の

docs.julialang.org/en/v1/manual/w...
Workflow Tips

に書いてある。私のようなど素人が説明しているようなことの大部分は、公式ドキュメントの受け売りに過ぎません。

タグ: Julia言語

posted at 12:41:10

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 公式ドキュメントのさらに次の節は

docs.julialang.org/en/v1/manual/s...
Style Guide

でその3番目の節の

Avoid writing overly-specific types

には、私が最近繰り返し語っている「函数の引数の型を狭く指定しすぎるのは損である」という話が書いてあります。

タグ: Julia言語

posted at 12:45:19

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 Juliaの公式ドキュメントは、Juliaの仕様を単に説明している部分が当然多いのですが、ユーザー側からの疑問や文句への回答を丁寧に整理して書かれたと思われる部分が沢山あって面白いです。

タグ: Julia言語

posted at 12:51:17

Hideki Kawahara: WAS @hidekikawahara

20年9月29日

ありがとうございます。
gist.github.com/genkuroki/21c2...
を、参考に、試行錯誤の結果、実行時間は4ms程になりました。MATLABは、ここまでの最適化を勝手にやってくれているようです。最初は JULIA_NUM_THREADS という環境変数がjuliaから見えませんでしたが、最後のようにすると、設定できました。 twitter.com/genkuroki/stat... pic.twitter.com/p9sks0LVOM

タグ:

posted at 13:18:40

Yossy @Yossy_K

20年9月29日

デフレってのは畢竟「人の価値まで下がる」って話だからねえ。
そら色々と「買う」のが好きな人には有り難かったでしょうなあ。 twitter.com/RyuichiYoneyam...

タグ:

posted at 13:22:25

齊藤明紀 @a_saitoh

20年9月29日

@YohsukeW @genkuroki 「数学とは覚えてる手順に数値を放り込んで演算すること」と思ってきた学生は挫折しやすそう

タグ:

posted at 13:22:45

Hideki Kawahara: WAS @hidekikawahara

20年9月29日

確かに、並列化とin-place計算は、それぞれ、効果がありました。以下、まとめです。それにしても、MATLAB恐るべし。とりあえず、締切仕事はMATLABで進めて、juliaの学習を並行して進めます。 twitter.com/hidekikawahara... pic.twitter.com/CywIrU1G5f

タグ:

posted at 13:25:47

Hideki Kawahara: WAS @hidekikawahara

20年9月29日

失礼!Juliaでin-placeで、さらに1.6倍、早くなりました。大規模でcriticalな計算にはJuliaの出番がありそうです。Juliaをもう少し真面目に学習します。 twitter.com/hidekikawahara... pic.twitter.com/Li4q5eRp5z

タグ:

posted at 13:38:47

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@hidekikawahara #Julia言語 MATLAB自体ではなく、MATLABが使っているMKLが速いはずなので、JuliaのFFTW.jl側でもMKLを試してみました。

MKLでのin-place版はでFFTWのデフォルト版より倍以上速かったです!

gist.github.com/genkuroki/5947...

twitter.com/hidekikawahara... pic.twitter.com/g090VCXkeO

タグ: Julia言語

posted at 14:25:09

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 のFFTW.jlでMKLを使う方法。MKLを使うと機能が制限されるらしいのですが、in-place版での計算速度がかなり上がります。

FFTを使う人は知っておいた方が良さそうな情報。

gist.github.com/genkuroki/21c2...

gist.github.com/genkuroki/5947... twitter.com/genkuroki/stat... pic.twitter.com/36yh2kWJk1

タグ: Julia言語

posted at 14:30:42

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@nyubachi #Julia言語 3次元配列の作り方として、こんなのは役に立ちそうですか?

ソースコード↓
gist.github.com/genkuroki/a0c2... pic.twitter.com/6oFgqnFVTA

タグ: Julia言語

posted at 14:47:46

積分定数 @sekibunnteisuu

20年9月29日

算数教育のあれこれ、とりわけ、教員と思われる人の掛け算順序批判への反論とか見ていると、

 算数教育はいったん白紙にして、0から作り直さないとダメと思うことがある。

タグ:

posted at 15:54:33

積分定数 @sekibunnteisuu

20年9月29日

全部が根本的におかしくなっているわけで、「子供がちゃんと説明できれば〇にする」だのなんだの、そんな重箱の隅についてあれこれやっても仕方ないんだよね。

タグ:

posted at 15:55:10

積分定数 @sekibunnteisuu

20年9月29日

どちらの順序でも無条件に〇にする、としたところで、どうしようもないぐらい算数教育はおかしなことになっている。

算数教育×算数教育×算数教育だね

算数教育の惨状

タグ:

posted at 15:58:46

Atsushi Sakai @Atsushi_twi

20年9月29日

何重にもネストした@testsetsで、テストが失敗したらそこで、終了させたいんだが、なんか動きがよくわからないな。。デフォルトではすぐにexceptionが吐かれると書かれているがテスト止まらないな。。Unit Testing · The Julia Language docs.julialang.org/en/v1/stdlib/T...

タグ:

posted at 16:00:03

積分定数 @sekibunnteisuu

20年9月29日

〇かバツかとか、そんな生易しいレベルじゃないんだよね。

 算数・数学とは何であるのか、これらを理解するとはどういうことなのか、ということを全く理解していないような人が、日本数学教育学会や教科書会社などを通して算数教育界を牛耳っている。

 どうしようもないよね。

タグ:

posted at 16:04:45

積分定数 @sekibunnteisuu

20年9月29日

横浜市教委は「教わった公式を使うのは構わないが、自分で考えた独自な方法を使う場合は、理由をちゃんと書かないと減点されても仕方ない」と言っていた。

 この人がまともに数学を勉強したことがないことは明らかだよね。

タグ:

posted at 16:05:59

積分定数 @sekibunnteisuu

20年9月29日

掛け算の順序や足し算の増加と合併という概念はどこで身に付けたのか質問したら、教師になって指導書で読んだからだという。

「それを読んで疑問に思わなかったのですか?」と聞いたら「いいえ、まったく疑問に思いませんでした」との返答。

タグ:

posted at 16:07:06

積分定数 @sekibunnteisuu

20年9月29日

こんな人が指導主事として教師に算数授業を指導しているんだよ。

 どうしようもないよね。

タグ:

posted at 16:07:36

積分定数 @sekibunnteisuu

20年9月29日

こんな具合だから、私は算数教育が近い将来根本的に改善される見込みはほとんどないと思っている。

 被害を軽減する有効な手段は、「今の算数教育は間違っている。信用してはならない」と世間一般に広げることである。

タグ:

posted at 16:09:21

積分定数 @sekibunnteisuu

20年9月29日

一部のアホな教師がトンデモ授業をする

というレベルの話じゃないんだよ。

これ、教科書会社や大学付属小の事例だよ。アホばかりだよね。
togetter.com/li/901635

タグ:

posted at 16:10:32

あおじるPPPP @kale_aojiru

20年9月29日

これも掛順関連だが、でっかく「20×」と書いてあるにもかかわらず、対物レンズが何倍だかわからないという子を見たことがある。「×20」ではないので倍率だと思わなかったようだ

タグ:

posted at 16:49:59

Paul Breiding @_pbrdng

20年9月29日

Zeeman's catastrophe machine in #JuliaLang by @s_timme and A. Heaton. They use @MakiePlots for interactive plots. Fantastic! pic.twitter.com/CsByqjwkU8

タグ: JuliaLang

posted at 17:04:29

あみあみ @amiami114114

20年9月29日

馬鹿馬鹿しすぎて、子供たちが可哀想。 twitter.com/sunchanuiguru/...

タグ:

posted at 17:06:23

非公開

タグ:

posted at xx:xx:xx

TaKu @takusansu

20年9月29日

#超算数 #市川伸一 「教育課程部会での市川伸一氏の発言」という題名で掲示板に書き込みました。
8254.teacup.com/kakezannojunjo...

タグ: 市川伸一 超算数

posted at 17:17:53

@kankichi57301 @kankichi57301

20年9月29日

@kale_aojiru 対物レンズと接眼レンズでXが数字に付く方向が違うべき、なんて言い出しかねない。
#掛算

タグ: 掛算

posted at 17:22:38

でえもん @GreatDemon1701

20年9月29日

@sekibunnteisuu 「0から…」ってところが積分定数さんらしいですね。

タグ:

posted at 17:40:39

Dante @take4_fox

20年9月29日

非エンジニアな私は、VBA、Python、Rなら分かる。SQLは言語に含んで良いの?知らんけど…
落ち着いたらJuliaに挑んでみたい。
ただ、是非他の言語も!だとか、今後覚えるべきはこれ!と言われたら、困るわ…好奇心が追いつかない…
しかもずっと一人でやってきたから…協業でアプリ作るとか尊敬する

タグ:

posted at 18:09:02

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月29日

pip install julia

動くよ

タグ:

posted at 18:59:01

Hideki Kawahara: WAS @hidekikawahara

20年9月29日

MKLにしただけで、377μs !!になってしまった。MATLABの10倍。ここまで来ると、真剣にJuliaを使う工夫をしたくなる。in-placeにすると、逆に4倍ほど遅くなったのは謎。 twitter.com/genkuroki/stat... pic.twitter.com/pCcVODdGf6

タグ:

posted at 19:00:59

乳鉢 @nyubachi

20年9月29日

@genkuroki うおー、有難うございます!!reshapeを使えば上手く書けそうです。いつも勝手に勉強させていただいております。重ねて感謝申し上げます。

タグ:

posted at 19:11:01

madfish @madfish19

20年9月29日

#超算数 既出かもしれませんが、高木貞治さんの算数教育観を見つけた。数学の実用性は「完全な理解、徹底的な理解からくる」としていますね。mie-u.repo.nii.ac.jp/index.php?acti...

タグ: 超算数

posted at 20:59:54

takinari @takinarisa

20年9月29日

>「感想戦と思えないぐらい濃い内容でしたね
🎉

週刊Railsウォッチ(20200929後編)RubyKaigi Takeout 2020 感想戦@仮想松本が盛況、Puma 5のスリープソート、GitHub Codespacesほか techracho.bpsinc.jp/hachi8833/2020...

タグ:

posted at 21:04:22

天むす名古屋 Temmus @temmusu_n

20年9月29日

@nagata_k1 @sekibunnteisuu #超算数 スタニスラフ・ドゥアンヌさんの本には蛇とハシゴのようなほとんど数字そのものに慣れさせる以外の機能のなさそうな遊びでも、結構意味があるとあります。かなり面白い。

タグ: 超算数

posted at 21:15:13

積分定数 @sekibunnteisuu

20年9月29日

@golgo_sardine @hN0cT19QLrJWZYz >かけ算の順序問題についての議論は色々あるけれど、
そこに子供はいますか?

「色々」の中身を見ていますか?はっきり言って周回遅れです。

タグ:

posted at 21:15:18

永田 啓一【永田式英語の本、KADOKA @nagata_k1

20年9月29日

@temmusu_n @sekibunnteisuu インド式(笑)

アマゾンでも売っていますね。
amzn.to/33eo4a4

タグ:

posted at 21:24:53

Ki7cb @Ki7cb

20年9月29日

一日WindowsのAPIについて調べて触っていたけどC++をチュートリアル程度でしか使ったことがないのとJuliaのccallを初めて使うのとでストレスがやばいな
何か書籍とかで一回ガッツリ学ばないと頭おかしくなる

タグ:

posted at 21:46:45

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 今晩発見してしまった

github.com/uncorrelated/E...
uncorrelated氏が使ったJuliaのコード(添付画像に引用)

にコメントしておきました↓

nbviewer.jupyter.org/gist/genkuroki...

uncorrelated氏のコードは元ネタのMITでの宿題の模範解答と比較すると100倍から100倍も遅いです!

twitter.com/genkuroki/stat... pic.twitter.com/KQTVq76ChG

タグ: Julia言語

posted at 22:02:44

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 uncorrelated氏は【Juliaは速度面で(他のインタープリッタと比較して)圧倒的と言うレベルで高速】と書いてしまうほど、本当に何もわかっていない。さすがに「他のインタープリッタと比較して」はまずすぎ(笑)。

そのuncorrelated氏によるベンチマークテストのコードを見たら論外だった。

タグ: Julia言語

posted at 22:04:35

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 GitHubのありがたいところは過去のコードも見られること。なんと計算を打ち切るときの相対誤差を意味するreltolが最初のコードでは1e-16に設定されていました!(笑)

1e-16はマシンイプシロンのeps()≈2.22e-16よりも小さいです! pic.twitter.com/y27B5ZJ5vm

タグ: Julia言語

posted at 22:07:16

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 uncorrelated氏は積分指数函数E₁(z)の連分数展開のコードでベンチマークテストしています。

連分数展開は|z|が大きな所で効率がよい展開なのに、原点の近傍でテストしてしまっています!(笑)

これだけでものすごく効率が悪いことをしている。 pic.twitter.com/iimbZV5VO2

タグ: Julia言語

posted at 22:09:58

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 コードをよく見ると global c とゴミが付着しているのですが、そのゴミが付着しているコードは

nbviewer.jupyter.org/github/steveng...
MITでの宿題の模範解答

にある同名の函数のコピペに見える。しかし、なぜか整数型のzでエラーが出るように改悪してある。

正確にコピペもできないのか!(笑) pic.twitter.com/KxJJ2uc3NL

タグ: Julia言語

posted at 22:12:44

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 そのオリジナルの版(添付画像)には【implemented in the simplest way】とコメントがついており、効率が悪いことを示唆。

実際、この函数はMITでの宿題の模範解答の解では使用されません。

uncorelated氏はなぜか元の模範解答では捨てられる函数を使ってベンチマークテストを行った!(笑) pic.twitter.com/Us72UVefls

タグ: Julia言語

posted at 22:18:23

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 もとの模範解答では、アルゴリズムの最適化をがんばっています。そのがんばりを全て捨て去ってベンチマークテストを行うuncorrelated氏(笑)。

私が試した場合ではuncorrelated氏のコードは模範解答のコードより100倍から1000倍も遅いです!(笑)

タグ: Julia言語

posted at 22:20:31

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 添付画像は

nbviewer.jupyter.org/gist/genkuroki...

より。uncorrelated氏がベンチマークで採用した複素領域で計算速度を計測してみたら、添付画像のようになりました。

「ミリ」を意味する "m" の文字を絶対に見落とさないで下さい!(笑)

桁が3桁違う!(笑) pic.twitter.com/rfmIAzYkEr

タグ: Julia言語

posted at 22:29:29

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 1つ上のツイートの比較では、MITの宿題の模範解答側が原点の近傍では効率よくTaylor展開を使っているので、ちょっとアンフェアなような気がします。そこで、連分数展開が有効な領域に限って比較してみました。

それでも、2桁も違います! pic.twitter.com/xmkjPw9s8L

タグ: Julia言語

posted at 22:30:58

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 ベンチマークテストに使われているコードがすでに公開されている宿題の模範解答のコードよりも100倍から1000倍も遅いってのはどうよ?(笑)

かなり失礼なことなのですが、これで嗤うなと言われても正直困る。私は本当に爆笑してしまいました!

タグ: Julia言語

posted at 22:32:53

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 以上の話について、「100倍とか1000倍のオーダーで効率の悪いコードであることは認めるが、どの言語でも同じアルゴリズムで計算させているんだから問題ない」のように言いたくなる人は、私が最もバカにしたい人達です。

しかし、そういうおバカさん達は多分結構いる。続く

タグ: Julia言語

posted at 22:35:07

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 MITでの宿題の模範解答

nbviewer.jupyter.org/github/steveng...

では、函数E₁(z)をJuliaで実装して、scipyで採用されているFortranライブラリの同函数よりも5~6倍速い計算速度を実現しています。

これを「Juliaのコンパイラの最適化能力はそんなに高いのか!」と思った人は分かっていない人達。続く

タグ: Julia言語

posted at 22:37:44

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 宿題の模範解答における最適化は、コンパイラによる最適化がうまく行くようにすることではなく、数学的なアルゴリズムの改善になっています。

原理的には同じ最適化を任意のプログラミング言語で可能です!

そういう意味では「Juliaではなく、採用したアルゴリズムが速い」のです。

タグ: Julia言語

posted at 22:39:55

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 しかし、宿題の模範解答

nbviewer.jupyter.org/github/steveng...

を詳細に見ると、原点近傍でのTaylor展開と無限遠点近傍での連分数展開をどの領域で何次まで行えばよいかを試行錯誤で決定しています。

数式処理系、視覚化、コードの自動生成の支援がなければとてもやる気になれない作業です。続く

タグ: Julia言語

posted at 22:41:51

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 そのような試行錯誤の結果をCやFortranにそのまま翻訳して、Juliaよりも少しだけ速いライブラリを作ることは私はきっと可能だと思っています。

しかし、誰がそれをやる気になれるのか?

宿題の模範解答以上の最適化が可能ならそのような翻訳の手間は無駄になってしまいます。続く

タグ: Julia言語

posted at 22:43:27

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 しかし、そういうことを承知でJuliaを使った試行錯誤でチューニングされたアルゴリズムをCやFortranに翻訳して、高速版E₁(z)函数のライブラリとして配布することにはそれなりに価値があると思います。

誰かやってみるといいかも。

タグ: Julia言語

posted at 22:44:46

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 しかし、それをやるには、32次とか37次の多項式のHorner法をべた書きするコードを作る必要があります。そういうCやFortranコードはすでにJulia版のあるJuliaで生成すればよいと思います。

しかし、それをできない人は頑張って自力でどうにかしなければいけない。結構面倒だと思います。

タグ: Julia言語

posted at 22:46:10

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 MITでの宿題の模範解答の比較対象になったFortranで書かれたライブラリがJuliaにスピード競争で完全に負けてしまった理由は、おそらく、そのライブラリを書いた人がそれ以上最適化することにやる気をなくしたからだと思います。

原理的に最適化可能でも実際にやるかどうかは別問題。

タグ: Julia言語

posted at 22:47:50

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 おそらく、そのFortranライブラリに限らず、実際に広く使われているライブラリの中には、FortranやCで書かれている分だけ速いだけで、アルゴリズムの最適化の余地がまだ大幅に残っているものが少なくないものと思われます。

これがJulia側にとって圧倒的に有利な条件です。

タグ: Julia言語

posted at 22:49:12

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 Juliaに限らず、現代的な「何でも揃っているプログラミング環境」ではコードの最適化を非常に快適に行えます。その結果、コンパイラの最適化能力とは別の所で、ライブラリの計算速度のどんどん違いが出て来てしまうことは十分にあり得ることです。

タグ: Julia言語

posted at 22:50:44

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 計算速度は「コンパイラの最適化能力」だけで決まるのではなく、「アルゴリズムの最適化をサボりがちな怠惰な人間の性質」という巨大因子にも影響を受ける。

この点に無頓着なベンチマークテストに実質的な意味はあんまりないと思います。

遊びとしてはそれなりの面白さがあるのですが。

タグ: Julia言語

posted at 22:53:10

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 このスレッドで使ったコードは

nbviewer.jupyter.org/gist/genkuroki...
E₁(z)の教訓

ですべて確認できます。

MITでの模範解答よりも100倍から1000倍も遅いコードによるベンチマークテストを発表したuncorrelated氏のおかげで、以前から言いたかったことをまとめることができました。感謝します!(笑)

タグ: Julia言語

posted at 22:55:33

すむーずぷりんちゃん @mat_der_D

20年9月29日

Julia で全角記号使えるの、最初意義がよくわからんかったけど、最近は普通に息をするように使ってる

タグ:

posted at 22:58:47

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 訂正

以下のリンク先における「100倍から100倍遅い」は正しくは「100倍から1000倍遅い」です。

この1000倍というのが本当にすごい(笑)。

速さの100倍程度の違いはよく見るのですが。

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 22:59:03

abap34 @abap34

20年9月29日

qiita.com/tenfu2tea/item...
のところの、
>この例では、簡単なメソッド定義を繰り返すのは容易ですが、定義が複雑になると、記述の誤りも起こりうるでしょう。
の部分がよくわからない....
引数のUnionに追加してくだけだから定義の複雑性関係なくね.....?って思ってしまった

タグ:

posted at 22:59:41

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@nyubachi 疑問を述べることも大事な社会貢献だと思うので、こちらこそ感謝致します!

タグ:

posted at 23:00:45

abap34 @abap34

20年9月29日

あーでもUnionの中身の型の数が大きくなってくると見通し悪くなるのか(中身がんばってみるよりそれぞれのtrait function参照したほうが可読性高いな)

タグ:

posted at 23:01:32

abap34 @abap34

20年9月29日

完全に理解した

タグ:

posted at 23:01:45

TaKu @takusansu

20年9月29日

@yamanamitakeshi @sekibunnteisuu @tkawai18_tkawai 暗記マンからすると、暗記しないで答えを出せるのがズルw

タグ:

posted at 23:03:18

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 速さに1000倍の違いが出ているシーンと100倍の違いが出ているシーンの2つ再度添付画像として引用しておきます。詳しくは、かなりの力作の

nbviewer.jupyter.org/gist/genkuroki...
E₁(z)の教訓

を見て下さい。

MITの宿題の模範解答恐るべし!(笑) pic.twitter.com/vpmCAIfo61

タグ: Julia言語

posted at 23:04:15

黒木玄 Gen Kuroki @genkuroki

20年9月29日

#Julia言語 引用【そのような桁違いに遅いコード[100倍から1000倍遅い!]でベンチマークテストを行ったuncorrelated氏のおかげで, それなりに有益なノートを書くことができたことには感謝の意を示したい. どうもありがとう!】

心から感謝しております(笑)

nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/tSYg4HUUAS

タグ: Julia言語

posted at 23:07:56

Hideki Kawahara: WAS @hidekikawahara

20年9月29日

結局、FFTで(循環)相互相関を計算させてMKL版のJuliaを使えば、7時間30分かかったこの計算が15分で終わることになる。試行錯誤の回数をかせげる。全部をJuliaで書き直すのは、締切前には敷居が高い。前に呟いた高速化のアイデアはゴミだったけれど、頭を冷やしてアルゴリズムの方を見直すか? twitter.com/hidekikawahara...

タグ:

posted at 23:16:24

非公開

タグ:

posted at xx:xx:xx

T.T. @t_teruya

20年9月29日

SageMathのインストールを行う際,エラーになった箇所をsubshell上で修正したが,これで行ったことが反映されないのは仕様?
修正すべき場所は別のところにあるのかな?

タグ:

posted at 23:24:14

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月29日

@nagata_k1 @temmusu_n @sekibunnteisuu 多分、そういうのは、模造紙を買って来て、子供と一緒にサイコロを使って遊べるゲームの盤面を一緒に作って遊べば楽しそう。

模造紙を壁などに貼ってマジックペンも沢山用意して「落書きしていいぞお」とかも楽しそう。

楽しいのが一番!

タグ:

posted at 23:47:39

@genkurokiホーム
スポンサーリンク
▲ページの先頭に戻る
ツイート  タグ  ユーザー

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

掛算 統計 超算数 Julia言語 数楽 JuliaLang 十分 と教 モルグリコ 掛け算

※タグはスペースで区切ってください

送信中

送信に失敗しました

タグを編集しました