黒木玄 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月30日(水)
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
ソーステキスト中の0.1を倍精度浮動小数点数の内部表現に変換するのは一般にparse時なので、これに対処するのは難しい。INTLABやkvは文字列で"0.1"と書けば0.1を含む区間になるような設計にして自力でparseするようにしてるが、IntervalArithmetic.jlは文字列はダメだった。なんか無いのかな。
タグ:
posted at 23:32:17
非公開
タグ:
posted at xx:xx:xx
#Julia言語 あと、浮動小数点数を扱っているときに便利なのが、\approx TAB で入力できる
x ≈ y # 近似的に等しい
docs.julialang.org/en/v1/base/mat...
タグ: Julia言語
posted at 23:26:29
勢いでSanders氏のIntervalArithmetic.jlを入れてみた (このまま使う気は無い)。関数に食わせた型に応じて動作を切り替える方式は、「定数の型をどう扱うか」で悩む。piはうまいこと区間になってるようだが、0.1はやっぱりダメだなあ。というか、0.1を含む区間どうやって作るんだろ。 pic.twitter.com/6ApwF3AEUB
タグ:
posted at 23:15:16
#Julia言語 Julia対応環境では
docs.julialang.org/en/v1/manual/u...
の方法で色々入力できます。
t\_0 TAB → t₀
\Delta TAB t → Δt
\sigma TAB \^2 TAB → σ²
X\bar TAB → X̅
数学記号の変数は非常に便利。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 23:15:08
@misaki70533995 #Julia言語 θではなく0です。
Julia対応環境ではユニコード文字の多くを以下のようなスタイルで入力できます。
以下タブキーを押すことを「タブをポン」と表記します。
\theta タブをポン → θ
t\_0 タブをポン → t₀
詳しくは↓
docs.julialang.org/en/v1/manual/u...
タグ: Julia言語
posted at 23:10:36
RStudio v1.4 Preview Release, including a new visual markdown editor, is available now!
blog.rstudio.com/2020/09/30/rst... pic.twitter.com/LWNanmSwC5
タグ:
posted at 23:08:42
非公開
タグ:
posted at xx:xx:xx
#Julia言語 における「遅延問題」の開発者達による分析はブログ記事になっています。
julialang.org/blog/2020/08/i...
Analyzing sources of compiler latency in Julia: method invalidations
26 August 2020
Tim Holy, Jeff Bezanson, and Jameson Nash
こういう話は非常に面白いです。
タグ: Julia言語
posted at 23:00:14
juliaは高等数学が得意で、C言語とかともリンクできるんだな....
確かにそれは教育ツールとして取り上げられてもおかしくないな......
うーーーん.....迷う.......
プログラミングって正味新しい言語みたいなもんだから、ゆっくり独学で学びたい感もあるんだけどなぁ......
タグ:
posted at 22:56:40
#Julia言語 あと他にも「クラスがないのでオブジェクト指向プログラミングできない」とか言い出すおバカさんも結構見る。
すでにJuliaのデザパタ本が出ています‼️
www.amazon.co.jp/dp/B07SHV9PVV twitter.com/genkuroki/stat... pic.twitter.com/yJApPuoNtZ
タグ: Julia言語
posted at 22:53:55
@genkuroki コンパイラ言語ではありますが、C++のtemplate関数はまさに一つ関数を書くだけで引数の型毎に異なるネイティブコードにコンパイルされますね。その性質が気に入ったからかつてC++を選んだし、Juliaでも行けそう、と考えています。
タグ:
posted at 22:33:12
Julia、関数を引数として渡して使うとインライン展開するかどうかでallocationの回数が変わってスピードも大きく変わる(?)
自動でインライン展開されるかどうかの条件もよく分からなくて、今書いてた関数をパッケージに入れたらインライン展開されなくなって遅くなった
タグ:
posted at 22:31:46
#Julia言語 失われることもあります。潜在的に無限個の函数を常に書くというスタイルなので、静的にコンパイルして実行可能ファイルを作ることがJuliaでは非常に難しい問題になっています。
しかし、以下のリンク先のパッケージはあるので、さらなる発展が期待される。
github.com/JuliaLang/Pack...
タグ: Julia言語
posted at 22:30:31
ちゃんと頑張れば丸め誤差も離散化誤差の影響も含めて計算できて、t=6piのところで
x∈[0.15259825844832483,0.15259825878231884]
y∈[-0.014396972618365778,-0.014396972290130904]
になるようです (宣伝)。これをJuliaで書いてみたい。 pic.twitter.com/iBYq8oCWrE
タグ:
posted at 22:27:30
Measurement.jlではなく、簡単な区間演算を実装して計算して下さったようです(感謝)。区間演算ではWrapping Effectすごいだろうなあと想像していたが、そのためか問題が変わって初期区間幅が小さくなっている。離散化誤差と区間の端点に入る丸め誤差は多分無視。 twitter.com/genkuroki/stat...
タグ:
posted at 22:08:03
#Julia言語 そういう形で、各分野の専門家がプライドを賭けて作った高性能のパッケージを組み合わせて作られたパッケージがJulia界から出て来る。
「実践的場面における実効的な計算速度」にはこういう事情も当然関係関係して来るわけです。
既出の
www.stochasticlifestyle.com/why-numba-and-...
も参照。
タグ: Julia言語
posted at 22:04:27
#Julia言語 表示
typeof.((sol, x, y, t_axis)) = (Vector{SVector{2, E{Float64}}}, Vector{E{Float64}}, Vector{E{Float64}}, Vector{Float64})
から区間計算でオイラー法の函数を使った場合に、数値解solがFloat64の区間E{Float64}を成分とするSvectorの配列として計算されていることが分かる。 pic.twitter.com/IBDkpdwTbb
タグ: Julia言語
posted at 21:41:50
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
を更新
自前で定義したお遊び的な区間計算を、上で紹介紹介したオイラー法の函数を一切変更せずに使う。
添付画像中の3行目の E(a, b) は区間 [a, b] を意味し、加減乗除が定義されています。私が書いた函数以外でも普通に利用可能なはずです。 pic.twitter.com/72TSDa9hEq
タグ: Julia言語
posted at 21:33:34
「初期値が誤差を含む数値ならば数値解も誤差を含む数値で計算してくれる」なんてことが簡単にできたらすごい。 twitter.com/genkuroki/stat...
タグ:
posted at 20:42:54
#Julia言語
nbviewer.jupyter.org/gist/genkuroki...
添付画像
①13行のシンプルなEuler法の函数。大事なポイントは引数の型の記述を一切していないこと。初期値がFloat64で与えられていれば、数値解もFloat64で計算してくれる。
②初期値が誤差を含む数値ならば、数値解も誤差を含む数値で計算してくれる! pic.twitter.com/hTIsKnLaZl
タグ: Julia言語
posted at 20:17:58
[今日の学び] プログラミング言語は、その時々で、最適なものを選ぶべきだと思っているのですが、今日、Shell script, Java, Python, Julia, Cを交互に書いていたら、混乱してバグりまくったので、やりすぎは禁物です。
タグ:
posted at 20:16:41
#Julia言語 同じことは、自分で書いた素朴なオイラー法の函数でも可能です。対応しているつもりがないパッケージをそのまま使える!
Juliaでの函数は引数の型を無用に制限せずに書けば、そのまま函数のテンプレート扱い可能なので、特別に意識しなくても自然にそういう便利な状態になります。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 20:07:53
#Julia言語 微分方程式のパッケージDifferentialEquations.jlで誤差を含む数値に関するパッケージMeasurements.jlを利用するデモが次の動画の3:46
www.youtube.com/watch?v=kc9Hws...
にあります。
微分方程式の数値解を求めるための函数が、特別に対応していない誤差付きの数値型にもそのまま使用可能。 pic.twitter.com/AFwcH3Cs3u
タグ: Julia言語
posted at 20:02:15
#Julia言語 実際にそういうことが実現されていることについては
www.stochasticlifestyle.com/why-numba-and-...
Why Numba and Cython are not substitutes for Julia
August 6 2018
Christopher Rackauckas
を見て下さい。Juliaの微分方程式のパッケージ
github.com/SciML/Differen...
はPythonとRでも利用できます。
タグ: Julia言語
posted at 19:53:08
ソースコードは以下のGitHubリポジトリに上げてあります。
github.com/dc1394/hydroge... twitter.com/dc1394/status/...
タグ:
posted at 19:18:35
#Julia言語
「CやC++やFortranで書かれた広く使われているライブラリよりもJuliaによる実装の方が速い」という事実に出会ったときに、「Juliaのコンパイラの最適化はCやC++やFortranより優れているのか!」と即断するような人は__何もわかっていない__と思う。
続く twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 18:55:33
#超算数
何のための✖なのか?
5.50と5.5が等しいことはこの子も理解しているだろう。
>長女には「100点だよ。間違えてるのは先生だよ。」と言いました
これは100%正しい対応。
「〇をもらえるように今度は気をつけようね」
は最悪の対応 twitter.com/china_1007/sta...
タグ: 超算数
posted at 16:55:55
このQiitaの記事のC++(Eigen使用)のコードを、Juliaに移植してみたら、かなり速くなった。具体的には、
C++(+Eigen): 166.81(秒)
Julia: 14.240(秒)
で、C++よりJuliaの方が12倍くらい速くなった。Julia優秀すぎる。今後もC++のコードをJuliaに移植していきたい。
qiita.com/dc1394/items/c...
タグ:
posted at 15:54:44
同じ面談で、息子のアレルギーについて「小学校では、給食の代替食はなくてメニューに似せたものを持参するよういわれるところも多いです」とも。保育園では、1人だけ全然違うものを食べていても「⚪君はアレルギーだから」と周りの子も納得するような指導をしてくれていたのだが、なぜ似せる必要が。
タグ:
posted at 14:51:08
非公開
タグ:
posted at xx:xx:xx
まさにこの通り。
600gあって全体の75%にあたる。全体は?
600÷0.75だと、問題文に出てきた数値で計算式を作って偶然あっただけかもしれない。
600÷3×4と式を立てたらその子は絶対に理解している。 twitter.com/1027stesc/stat...
タグ:
posted at 14:26:07
非公開
タグ:
posted at xx:xx:xx
足し算の順序に子供はいますか?
この人は「増加は順序があるけど合併にはない」という指導書などの記述を無批判に鵜呑みにしている。子供の思考など考えちゃいない。
主任は、主流派のトンデモ算数をさらに逸脱したトンデモだが、
主任もこの人も五十歩百歩
twitter.com/hN0cT19QLrJWZY... pic.twitter.com/nkzaVGOcNp
タグ:
posted at 12:13:37
@satoshi_edu ←この人も、「掛け算順序批判に物申す。批判している奴らは何もわかっていない。俺は教員だかわかってる」とばかりに登場したのに、ちょっと反論されると、関連ツイートを削除
twitter.com/golgo_sardine/...
タグ:
posted at 12:09:23
twitter.com/hN0cT19QLrJWZY...
「色々」とひとまとめにして、「そこに子供はいますか?」などと大上段に構えているが、中身はスカスカ。
掛け算順序などトンデモ算数の側こそ、子供の思考に寄り添っているかのように取り繕っているが、実は子供そっちのけでおかしなイデオロギーに寄り添っている。
タグ:
posted at 12:05:27
Hideki Kawahara: WAS @hidekikawahara
すみません。大間違いをしました。JuliaのFFTWの出せる最高速度は、2^19サイズのFFTで(自分のマシンで)1.3msでした。MATLABの約3倍でした。377μsは、Juliaの乱数の速度を測っていました。間違った情報を流してしまい、すみません。この場合、前のTweetを消した方が良いのだろうか?? twitter.com/hidekikawahara... pic.twitter.com/bRgGinufqO
タグ:
posted at 12:02:26
Hideki Kawahara: WAS @hidekikawahara
すみません。大間違いをしました。JuliaのFFTWの出せる最高速度は、2^19サイズのFFTで(自分のマシンで)1.3msでした。MATLABの約3倍でした。377μsは、Juliaの乱数の速度を測っていました。恥ずかしい。ゴミを流してしまい、すみません。Juliaの乱数発生が高速だということは、分かりました。 twitter.com/hidekikawahara... pic.twitter.com/JTdo88KQYF
タグ:
posted at 11:59:30
Juliaで1次元イジング模型のモンテカルロ。
さりげなく、オブジェクト指向、ユニットテスト的な概念を軽く導入。
shinaoka.github.io/hpc_julia/docs...
タグ:
posted at 09:31:59
#Julia言語 でMKLを使ってFFTを行いたければ以下のリンク先を見て下さい。私の環境ではin-place版が確かに速かったです。
twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 08:58:27
#Julia言語 コードの自動生成のFFTの場合について特に興味がある人であれば、大体30分あたりから上の動画を見ればよいと思います。
www.youtube.com/watch?v=mSgXWp...
タグ: Julia言語
posted at 08:54:30
#Julia言語 次の講演の内容は普遍的で、原理的には任意のプログラミング言語でも可能な話題。しかし、「原理的には」という但し書きが重要で、Juliaと非常に相性の良い話題。
www.youtube.com/watch?v=mSgXWp...
Adventures in Code Generation
JuliaCon 2019 | Keynote: Professor Steven G. Johnson
タグ: Julia言語
posted at 08:48:03
非公開
タグ:
posted at xx:xx:xx
#Julia言語 MITでの宿題の模範解答
nbviewer.jupyter.org/github/steveng...
でも、コードの自動生成が本質的に使われています。
ただし、Julia v0.5時代のコードなので注意!
模範解答のコードをJulia v1でも動くようにしたものが
nbviewer.jupyter.org/gist/genkuroki...
にあります。指数積分函数E₁(z)のpure Julia版。
タグ: Julia言語
posted at 08:44:26
#Julia言語 話題にしているMITでの宿題の模範解答
nbviewer.jupyter.org/github/steveng...
の著者はSteven G. Johnsonさん。FFTWのco-creatorとしても有名。次の講演が非常に面白い。
www.youtube.com/watch?v=mSgXWp...
Adventures in Code Generation
あと
www.youtube.com/watch?v=1iBLaH...
Fast Fourier Transforms in Julia
タグ: Julia言語
posted at 08:40:29
#Julia言語 もう一度目立つように訂正
「100倍から100倍も遅い」は0を1つ忘れている。
正しくは「100倍から1000倍も遅い」です。
オリジナルのMITでの宿題の模範解答のアルゴリズムでベンチマークを実行するのが筋なのに、あらゆる点でおかしなことをやりまっている。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 08:26:23
msys2 のアップデートのために pacman -Syu としても
error: msys: signature from "David Macek <david.macek.0@gmail.com>" is invalid
と言われてできない人は以下のリンク先を読むとよい。私はこれでアップデートできた。
github.com/msys2/MSYS2-pa...
タグ:
posted at 08:23:36
@fperez@fosstodon.or @fperez_org
Lovely plot at @Wikipedia of modern data to illustrate Kepler's third law... Last week I used Kepler's 1619 data, with my own plot, in one of my lectures. Yesterday I used this one (that has all 8 planets). Notice anything unusual?
en.wikipedia.org/wiki/Kepler%27... pic.twitter.com/1oo00YWc8v
タグ:
posted at 08:11:54
香川県の「ゲーム依存症条例」、問題だらけなのに成立してしまった社会的背景 @gendai_biz gendai.ismedia.jp/articles/-/75971 #現代ビジネス
タグ: 現代ビジネス
posted at 07:32:53
@blelbach Or everyone just switch to Julia and call it a day :P twitter.com/Viral_B_Shah/s...
タグ:
posted at 02:32:50
非公開
タグ:
posted at xx:xx:xx
@genkuroki ああ、このWolfram|Alphaの関数、ちょうど探していたところでした。ありがとうございます!→www.wolframalpha.com/input/?i=Plot%...
タグ:
posted at 01:05:43