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年10月03日(土)

積分定数 @sekibunnteisuu

20年10月3日

@1027stesc @Essence_sci @yamazaksv2 @sotasot42269265 www.asahi.com/edu/student/te...

この人も自信をもって間違ったことを一生懸命教えている。最悪。

間違ったことを教えるのだから、せめてやる気を持たないでサボタージュしてほしい。

タグ:

posted at 00:05:14

積分定数 @sekibunnteisuu

20年10月3日

掛け算の順序指導に関して「教師だって一生懸命やっている」という「反論」する人いるけど、それ「反論」になっていないから。むしろ「そりゃ困る」としかならないから。 twitter.com/sekibunnteisuu...

タグ:

posted at 00:06:24

とらんせんでんたる @4294967291prime

20年10月3日

vscode の julia の拡張機能で、 "missing reference" というのが出て消えない‥

タグ:

posted at 00:21:18

Keno Fischer @KenoFischer

20年10月3日

@MyNameIsTooLon @StefanKarpinski @Viral_B_Shah @quinn_jacobd It's undefined behavior in C, which LLVM inherited. There's some effort to change that from the rust community, since it can cause unsoundness there. We mostly don't care.

タグ:

posted at 00:44:45

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 野良パッケージ

github.com/genkuroki/Prin...
PrintfFunctions.jl

@ printf と @ sprintf の函数版

やっていることは

github.com/JuliaIO/Format...

と同じ。このプリリクエストのv1.x版が出てマージされると嬉しいのだが、そうなりそうな気配がないので、個人で使うために野良パッケージ化。

タグ: Julia言語

posted at 00:46:21

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 野良パッケージ

github.com/genkuroki/Inte...

以下を使えるようにする:

@ show_sexpr
Meta. show_sexprのマクロ版
(dumpのマクロ版 Meta.@ dump と同じノリ)

@ show_tree
show_sexprのAbstractTrees.jl版

print_tree(x::Type)
sunbtypesの木表示(AbstractTrees.jlを使う)

タグ: Julia言語

posted at 00:51:36

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

Julia文化圏では、具体的にコードを示して「Julia遅い!」と言われた場合には怒る人はいなくて、みんな大喜びでコードの修正法を考えるという印象がある。(これはとても良い文化だと思うので見習いたい。)

C++文化圏にはそういう文化はないの?

タグ: Julia言語

posted at 01:11:20

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

このスレッドの話題ではソースコードがGitHubで公開されていますよね?

今回のような件では「具体的にこうすればC++でJuliaに勝てるよ!」のような具体的提案が出て来ないと話が面白くならないと思います。

github.com/dc1394/hydroge...

github.com/dc1394/hydroge...

タグ: Julia言語

posted at 01:11:20

mao @physicsturtle

20年10月3日

Jupyterの起動オプションを変更したのでメモ
#Julia言語 #julialang pic.twitter.com/zAAVAwWcDQ

タグ: julialang Julia言語

posted at 01:17:40

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 現状をまとめると

① 6.89秒 Julia MKL
② 7.44秒 icpc (icc) EIGEN_USE_MKL_ALL
②13.08秒 g++ (gcc) EIGEN_USE_MKL_ALL
③14.24秒 Julia OpenBLAS

ということらしい。

iccでコンパイルされていないJulia相手にこれじゃあ、このまま放置しておくのはまずくね? twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 01:19:16

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@physicsturtle #Julia言語 起動後であってもaddprocsでプロセスを増やせます。

docs.julialang.org/en/v1/stdlib/D...

タグ: Julia言語

posted at 01:26:50

mao @physicsturtle

20年10月3日

@genkuroki そうですね、でもこれだと多分プレコンパイルしたイメージを起動オプションに入れられるので使いやすいと思います。まだ試してませんが。

タグ:

posted at 01:29:04

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@physicsturtle #Julia言語 ソースコードを書き換えなくても、

using IJulia
installkernel("Julia -p 4", "-p" "4")

のようにしてカーネルを追加できます。

タグ: Julia言語

posted at 01:30:16

mao @physicsturtle

20年10月3日

@genkuroki これは知りませんでした。ありがとうございます

タグ:

posted at 01:31:23

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@physicsturtle #Julia言語 以下のリンク先には、MKLを使うsysimageを

installkernel("Julia MKL depwarn", "--sysimage", "C:\\Julia-1.6.0-DEV\\lib\\julia\\sys-mkl.dll", "--depwarn=yes", "--project=@.")

のようにして使う話が書いてあります。

gist.github.com/genkuroki/36cd...

タグ: Julia言語

posted at 01:33:33

ふぉく(サマンサ) @D_A_works

20年10月3日

簡単にそこそこ速くなるからこそJuliaを使いたい

タグ:

posted at 01:38:52

Dr. Chris Rackauckas @ChrisRackauckas

20年10月3日

#julialang CUDA.jl 2.0 is awesome! Mixed precision support and multithreading => multiple stream programming out of the box! Nicely done everyone in the community!

juliagpu.org/2020-10-02-cud...

タグ: julialang

posted at 01:40:59

ハガネの連勤術師 @hgn_no_otaku

20年10月3日

「正解に至るならどんな解き方でもいい」と言い続けてようやく書き始める高校生がいるんだよ…

超算数に染まってないかねこれ

タグ:

posted at 02:17:42

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@HW_a_pythonista @rigarash @dc1394 @Hishinuma_t 【サイズの大きな密行列演算に関しては、Fortranで書かれたBLAS/LAPACKに落ちるので言語の性能は全く関係ない】

事実として、g++とicpcの違いで計算速度に大きな違いが出ているので、共通のMKL以外の部分で速度の違いが出ています。

公開されているソースコードをもとにした説明がないとダメ。

タグ:

posted at 05:06:16

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@D_A_works @TIME #Julia言語

Juliaと無関係のArpackの話題では?

以下を試してみて下さい。

eigs(a; maxiter=2^12)
eigs(a; tol=1e-8, maxiter=2^10)
eigs(a; tol=1e-4)

テストコードとその結果↓
gist.github.com/genkuroki/1f61...

タグ: Julia言語

posted at 05:13:38

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@D_A_works 【Juliaは(FORTRANベースのライブラリが簡単に使えるので)速い】

誤り。事実は

#Julia言語 を使うと普及しているFortranのライブラリより速いコードを書き易い場合がある

です。

twitter.com/genkuroki/stat...

例:Juliaで書かれたerfinvはscipyで使われているFortranライブラリより2~3倍速い。

タグ: Julia言語

posted at 05:22:43

yoshitake-h @yoshitakeh

20年10月3日

一つ分・いくつ分を教えられ混乱させられたせいで、割り算につまづいているのではないか。#掛算 #超算数 twitter.com/shiozawa_h/sta...

タグ: 掛算 超算数

posted at 05:27:25

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

"hack for benchmark bragging" (速さ自慢のためのハック)

によって注意をひくことではなく、

"Usability & generality" (使い易さと汎用性)

が大事なんだよというお話で講演が終了している。

youtu.be/mSgXWpvQEHE?t=... pic.twitter.com/f8soyQpYM2

タグ: Julia言語

posted at 05:55:30

ふぉく(サマンサ) @D_A_works

20年10月3日

@genkuroki @TIME Juliaだとmaxiter=300が初期値なんですね…
ありがとうございます.

タグ:

posted at 07:33:01

ふぉく(サマンサ) @D_A_works

20年10月3日

@genkuroki Julia (SpecialFunctions.jl) のerfinvのコードをC++で書き直して速度比較を行いましたが,-O0 のコンパイラオプションを付けてコンパイラの最適化を切った状態でも手元の環境ではJuliaの方が倍以上遅いです

(1E8回比較で18sec vs 7sec)

github.com/fockl/Math/tre...

タグ:

posted at 09:49:19

Yuki Nagai @cometscome_phys

20年10月3日

あくまで例ですが、完全にJuliaで書いてライブラリも呼ばずにFortranのコードを移植した格子QCDのJuliaのコードはFortranより1.2倍くらい速かったです twitter.com/d_a_works/stat...

タグ:

posted at 09:50:47

数学女子 @phasetrbot

20年10月3日

数学×プログラミング、なかなか気に入るものがない。自分でPythonのやつは作ったが、そもそもPythonが気に入らないという問題がある。

タグ:

posted at 10:15:34

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@D_A_works #Julia言語

ソース公開のテスト、素晴らしい!

しかし、私がいつも言っているように、Juliaを初めて使う人は公式ドキュメントのPerformance Tipsが必読!

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

N = 1E8 を main() の内側に入れると一桁速くなります。

私の環境ではg++ -O3版とJulia版の実行時間はほぼ同じ。 pic.twitter.com/BvtqdmuSKQ

タグ: Julia言語

posted at 10:44:08

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 リンク先は、Juliaのerfinvのコードを忠実にC++に書き変えて、私の環境(Windows 8.1, g++.exe (Rev3, Built by MSYS2 project) 10.2.0)では、g++ -O3版とJulia版の実行時間はほぼ同じだったという話。

Juliaを初めて使う人は

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

が必読!

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 10:52:29

ふぉく(サマンサ) @D_A_works

20年10月3日

@genkuroki なるほど!
ありがとうございます!

タグ:

posted at 10:52:33

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@D_A_works そもそも原理的にはC++の方が #Julia言語 より速くなる理由がないと思います。

JuliaはLLVM経由でネイティブコードにコンパイルしてから実行する仕組みなので、違いが出るとしてもそう大きなものにはならないと考える方が自然です。

続く

タグ: Julia言語

posted at 10:59:56

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@D_A_works あと、これも最近繰り返し強調していることですが、計算速度について語るときに、主に「コンパイラの最適化能力」にしか注目できない人達は愚かだと思います。

「広く使われているFortranで書かれたライブラリが最適化不十分なものである」というような事実や部品の貼り合わせの問題も重要です。

タグ:

posted at 11:03:08

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@D_A_works 今回のerfinv程度なら、#Julia言語 でマクロ(コードの自動生成)を使っている部分をべた書きで翻訳できましたが、一般的な状況ではそうではありません。

自身のコードを自動生成できるプログラミング言語で書かれたライブラリをそうでない言語に翻訳するのは一般には非常に大変なことになります。

タグ: Julia言語

posted at 11:05:15

舞田敏彦 @tmaita77

20年10月3日

tmaita77.blogspot.com/2020/03/blog-p...
この人には,前に一回やられている。

問い合わせ中で確定的なことは言えないが,仮に不正だとしたら2回目で,悪質と判断されるからな。twitter.com/tera_sawa/stat...

タグ:

posted at 11:06:51

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@D_A_works 自身のコードを自動生成しているライブラリのデバッグはコードを自動生成するためのコードの訂正ですみます。

しかし、自動生成した結果をべた書きに翻訳した先ではコードの保守の手間が大幅に増えます。

コードの自動生成の技術が気軽に使えることは非常に重要です。 #Julia言語

タグ: Julia言語

posted at 11:07:57

寺沢 拓敬 @tera_sawa

20年10月3日

「この人」は私じゃないですからね。(最初見たときビビった)

タグ:

posted at 11:13:11

天むす名古屋 Temmus @temmusu_n

20年10月3日

@y_bonten @musicisthebest_ わたしもそう思って調べたのですが、ご流儀によっては0も偶数じゃない場合があります。8254.teacup.com/kakezannojunjo...

タグ:

posted at 11:20:41

dc1394 @dc1394

20年10月3日

JuliaGPU/CUDA.jlを使えば、JuliaでGPGPUができるのか…。Julia、向かうところ敵無しだな…。

タグ:

posted at 11:21:49

Dr. nhayashi @nhayashi1994

20年10月3日

おおー、deeplの性能低下もあるしこっちに戻そうかな

タグ:

posted at 11:30:53

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 ここの読者に参考になりそうな情報。

「C, C++, Fortranの方がJuliaより速い」と信じることができる理由がそもそも分からない。この点について明瞭な説明をしている人を見たことがない。

C, C++, Fortran, Juliaはどれも最適化されたネイティブコードにコンパイルして実行する仕組み。 twitter.com/cometscome_phy...

タグ: Julia言語

posted at 11:48:06

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 もう1つの参考情報

少し上で「コードの自動生成」について語っていますが、私が繰り返し紹介している応用例に、「MITでのある宿題の模範解答」があります。指数積分函数E₁(z)をpure Juliaで実装し、SciPyで使用されているFortranライブラリの5~6倍の速さを実現。続く

タグ: Julia言語

posted at 12:09:52

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 E₁(z)のJulia版を私が最近のJuliaでも動くようにしたものが

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

のIn[2]にあります。

C, C++, FortranとJuliaの比較でかなり適切な例だと思うので、誰か同等のコードをC, C++, Fortranで書いてみて下さい。

そのとき、コードの自動生成部分をどうしますか? pic.twitter.com/DvrH7W8m54

タグ: Julia言語

posted at 12:14:52

数学女子 @phasetrbot

20年10月3日

Juliaの速度・ライブラリ・機能群とF# の構文が一体になった言語が欲しい。

タグ:

posted at 12:20:11

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 JuliaとC, C++, Fortranの比較をしようとするときに困るのは、Julia側で簡単な数式処理系を援用してマクロによるコードの自動生成を行なっている場合です。

そのような例の典型例は以下のリンク先のケース(繰り返し紹介している)。

C++でこれをどう書くかを教えて欲しいと思います。 twitter.com/genkuroki/stat... pic.twitter.com/SCuCG31ZJD

タグ: Julia言語

posted at 12:20:55

天むす名古屋 Temmus @temmusu_n

20年10月3日

#超算数|は、先生に算数指導への自信を付けさせるのに役立っているのかもしれないtwitter.com/temmusu_n/stat...。小学校の主要教科のうち、算数は特に自信をもって指導していると答える先生が多い。算数を応用の利かない暗記ものと捉えがちであるというtwitter.com/amiami114114/s...子供の犠牲の上に成り立つ。

タグ: 超算数

posted at 12:23:47

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 分岐

可能な範囲内で明瞭な証拠(第三者が確認可能な情報、実行可能なコードを含むものが望ましい)を出さずに色々言うのはよくないと思う。

たとえ不完全だったり、ミスっていたりしても、出すべき証拠を出そうとすることが大事。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 12:27:03

OokuboTact 大久保中二病中年 @OokuboTact

20年10月3日

#超算数

先月出たばかりのカリスマ算数教師の掛け算の実践授業テクニック本。
「数学的な見方」と「数学的な考え方」を重視しているそうだ pic.twitter.com/ZVsxThCJwv

タグ: 超算数

posted at 12:41:58

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 printf, sprintf 函数の野良パッケージへの適切なリンク先は

github.com/genkuroki/Prin...

だった。上ではソースコードにリンクしていた。 pic.twitter.com/r2ahbptobu

タグ: Julia言語

posted at 12:44:39

OokuboTact 大久保中二病中年 @OokuboTact

20年10月3日

#超算数

序文を紹介
掛け順の固定指導と「数学的な見方・考え方」は両立するらしい pic.twitter.com/gCVRRCV1Fi

タグ: 超算数

posted at 13:01:05

トップでナマズ釣り @TopDeCatfish

20年10月3日

@a83ip 業務に必要な知識のチュートリアルも揃えずに新人にマウント取るとか昭和かよ

って思いますね

タグ:

posted at 13:08:33

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 後悔していること。

自作パッケージを気軽に作れることをずっと軽視していた!

Juliaを使い始める人は早めに自作パッケージを気軽に作れることを利用すると色々楽をできると思います。

タグ: Julia言語

posted at 13:13:54

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 公開する気がゼロの手抜きの自作パッケージで良いなら、適切な作業ディレクトリでjuliaを起動して、

pkg> generate Foo
dev> Foo

として、

julia> using Revise
julia> using Foo
julia> Foo.greet()

などとしてみるとよいです。Foo/src/Foo.jl を変更すれば自作のパッケージを作れる。

タグ: Julia言語

posted at 13:13:54

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 自作パッケージを公開したい人には

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

が参考になると思います。これは私が Ising2D.jl パッケージを公式登録するまでの流れのメモ+αの内容になっています。十分理解して書いたものではないので注意!

理解している人が初心者向けの解説を書くべきだと思う。

タグ: Julia言語

posted at 13:15:53

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 上にも書きましたが、気軽に自作パッケージを作る場合には、適切なディレクトリで

julia> ]
pkg> generate Foo
pkg> dev Foo
pkg> バックスペース
julia> using Revise
julia> using Foo
julia> Foo.greet()
Foo.jl/src/Foo.jl を編集してテストを繰り返す

という流れでよいと思います。

タグ: Julia言語

posted at 13:18:32

rithmety @rithmety

20年10月3日

Rust は良いぞ。

タグ:

posted at 13:21:48

@cloez_uya

20年10月3日

おれもjuliaに移行しようとおもってきた

タグ:

posted at 13:25:45

rithmety @rithmety

20年10月3日

Rust は(そして多分 Julia も)コンパイル時に言語の機能をフルに使ってコードを生成できる(マクロ)ので性能と可読性を両立しやすくて良い。

タグ:

posted at 13:27:09

みゆき @miyuki_MathT

20年10月3日

超算数と似たような話に見える
音楽科の方々はどう思うのだろう

音楽の先生って音楽科卒の人がやってると思うんですが、もしそうだとしたら何故バツにしたのでしょう🙄?
それとも、殆ど使われない用語なのだろうか?

タグ:

posted at 13:29:48

鰹節猫吉 @sunchanuiguru

20年10月3日

やはり #超算数 ごときでおどろいていてはいけないのだ。
こんどは超音楽が出現した。
教育の荒廃。 twitter.com/issaku_m/statu...

タグ: 超算数

posted at 13:33:44

rithmety @rithmety

20年10月3日

そもそもコンパイル言語はコンパイラが最適化してくれるので可読性を優先しやすいと思うのだが…
ところで TypeScript は JavaScript の上方互換として開発されている都合でコンパイル後に最適化も動かないしマクロもなくて地味に苦痛を感じることがある。

タグ:

posted at 13:33:51

ごまふあざらし(GomahuAzaras @MathSorcerer

20年10月3日

キュキュキュ(Twitterの文字数に制約の中で高級なことが説明できるプログラミング #Julia言語 があると聞いて) twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 13:33:58

白衣の天使 @angelsatomine

20年10月3日

Rust か Julia あたりを習得しようかな

タグ:

posted at 13:42:04

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

ごまふあざらし(GomahuAzaras @MathSorcerer

20年10月3日

@kado_judo0312 我々は欲張りなので!

タグ:

posted at 13:49:28

鰹節猫吉 @sunchanuiguru

20年10月3日

「数学が苦手な教師が多いから、算数でヘンな指導をしてしまう事例が度々出てくるのはしかたない」というようなことではなくて、学校教育が全体におかしくなっているのだと思われる。
算数教育の専門の先生と言われている人たちが率先して #超算数 をやっているわけだし。 twitter.com/sunchanuiguru/...

タグ: 超算数

posted at 13:49:35

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 のマクロはJulia言語の機能を全て使用可能なので、例えば、特殊函数の計算で必要な多項式をJuliaで利用できる数式処理系で作り、その多項式をJuliaのコードに変換して実行できる。

こういう機能は数値計算の効率化に必要不可欠。

Rustの「マクロ」でも同じことをできるのでしょうか?続く twitter.com/rithmety/statu...

タグ: Julia言語

posted at 13:50:21

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 Juliaから利用できる数式処理系で多項式を作って、それをJuliaのコードに自動変換することによって、特殊函数の効率的な計算を可能にした例に、MITのある宿題の答えがあります。

現在のJuliaでも動くようにしたものが

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

のIn[2]にある。 pic.twitter.com/Mt5rF2PQPz

タグ: Julia言語

posted at 13:53:31

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 プログラミング言語Aのコードの自動生成において言語Aのあらゆる機能を使える場合の「完全なマクロ」(Lisp, Julia, etc.)とそうでない場合の「マクロ」は区別されるべきだと思います。

計算のシビアな効率化のためには「完全なマクロ」が使用可能である方がありがたいです。

タグ: Julia言語

posted at 13:57:02

rithmety @rithmety

20年10月3日

@genkuroki Rust のマクロを定義する方法は複数あります。
一つは AST を引数に取り AST を返す関数を定義してそれがマクロとして使えるように属性をつけることです。
「マクロ用の関数だからこの機能は使えない」という機能は(少なくとも私が知る限りでは)ないはずです。

タグ:

posted at 13:58:42

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@rithmety おお!素晴らしいです。

#Rust言語 で書かれた爆速の基本特殊函数ライブラリで広く利用可能なもの(CやFortranでも利用可能なもの)が出て来ると素晴らしいと思いました!

特殊函数の効率的な実装を人間が楽にやるには「完全なマクロ」はほぼ必須だと思われます。

タグ: Rust言語

posted at 14:05:24

黒木玄 Gen Kuroki @genkuroki

20年10月3日

分岐にリンク

普及しているCやFortanで書かれた基本特殊函数のライブラリは、どうも十分に最適化されていないっぽいんですね。

現代的なプログラミング言語環境を使って、十分に最適化された広く使える基本特殊函数のライブラリを作って、配布することは価値ある仕事だと思います。 twitter.com/rithmety/statu...

タグ:

posted at 14:10:18

黒木玄 Gen Kuroki @genkuroki

20年10月3日

昔から使われているCやFortranで書かれた基本特殊函数のライブラリが十分に最適化されていないという事実はあまり知られていないと思う。

現代的なプログラミング言語を装備した若い勇者達にとってはチャンスが転がっていると思います。

タグ:

posted at 14:14:36

アンポンタン・ポカン博士 @tikiwa3756

20年10月3日

Pythonでもいいんだけど、Julia言語を使ってみるのもありだなあ。

タグ:

posted at 14:16:14

黒木玄 Gen Kuroki @genkuroki

20年10月3日

あと、種々の基本特殊函数のコードを見ると、「これをそのままもっと最適化しろと言われるのは地獄だな」と感じられるものが少なくありません。

今まで見た中で一番酷かったのはベータ分布に関する計算で必須の不完全ベータ函数のコード。これ↓

github.com/JuliaStats/Rma...

2000行以上ある。

タグ:

posted at 14:20:55

黒木玄 Gen Kuroki @genkuroki

20年10月3日

github.com/JuliaStats/Rma...
を見れば、特に統計処理で多用される基本特殊函数のライブラリについてやるべき仕事が残っていることに気付いていても、そう簡単に手を出せないという気持ちになりそうなことをよく理解できます。

タグ:

posted at 14:22:37

黒木玄 Gen Kuroki @genkuroki

20年10月3日

これ、バグがないことをどうやって確認するの?

タグ:

posted at 14:23:10

黒木玄 Gen Kuroki @genkuroki

20年10月3日

特殊函数の実装は

①定義域を分割する。

②分割の各部分ごとに十分な精度が得られる近似公式を使って函数の値を計算する。

③定義域を分割するときには、オーバーフローやアンダーフローの可能性には細心の注意を払う。

のような手続きになります。何らかの(半)自動化の仕組みを作らないと苦しい。

タグ:

posted at 14:27:22

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年10月3日

例えば倍精度(Float64)で○○函数の値を領域KにおいてTaylor展開で近似計算するとしましょう。十分な精度が出る最低次の展開が欲しいのですが、多分、多くの場合にその次数は「手で決めて」います。

タグ:

posted at 14:31:10

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年10月3日

沢山ある特殊函数についてそういう手作業を繰り返すのは、不適切に誤差を増やしてしまったり、無駄に多く足し上げて計算速度を落としたりすることの原因になります。

現在みんなが使っている特殊函数のライブラリはそうやって作られたものであるという認識は重要だと思う。

タグ:

posted at 14:33:05

piqcy @icoxfog417

20年10月3日

CNNでライフゲームの予測を行うことで、宝くじ仮説を検証した研究。ライフゲームの状態は隣接セルの状態から決まるが、CNNでこの法則を学習する場合過剰なパラメーターが必要となる。また、ノイズやデータセットの分布に敏感であることを発見。これらは宝くじ仮説の予測と適合する。 twitter.com/hardmaru/statu...

タグ:

posted at 14:34:10

黒木玄 Gen Kuroki @genkuroki

20年10月3日

基本特殊函数のライブラリについて、そろそろ、そういう「暗黒時代」を終わりにするような仕事が出て来てもよい時期だと思いました。

タグ:

posted at 14:34:19

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

dc1394 @dc1394

20年10月3日

このコードも、今Juliaで書き直している。完成したら、C++と速度比較を行ってみたい。C++のソースコードはこちら。
github.com/dc1394/hydroge... twitter.com/dc1394/status/...

タグ:

posted at 14:40:03

Jem @Jem0211

20年10月3日

友あり遠方より来たりて pic.twitter.com/DngmqFnUtI

タグ:

posted at 14:40:10

dc1394 @dc1394

20年10月3日

Juliaは配列の添字が1から始まるので、それがバグの温床になる…。配列の添字は0からにして欲しかった。

タグ:

posted at 14:42:00

森 勇一 @ymori117

20年10月3日

日本で年間約2800名が亡くなるがんを、17歳までのHPVワクチンなら8~9割防げるって、すごいニュースだと思うんだけど、全国紙とNHK(ウェブ版)、検索したけど未だどこも報じていないっぽい。新型コロナウイルスワクチンの話題はすごい数でヒットするんだけど。 twitter.com/ymori117/statu...

タグ:

posted at 14:50:25

かなまろ @kanamaro_jl

20年10月3日

日本中の人が今、JuliaとC/Fortranの速度比較をしているようだ。

PythonをCythonでサイボーグにしていた時は、速くはなったんだけど、Python-likeな処理を消しきれなくて、Julia移植版の速度には及ばなかった。自分の技量に問題があるんだけど、だからこそ凡人でも最適化しやすい言語ってのは助かる。

タグ:

posted at 14:53:10

かなまろ @kanamaro_jl

20年10月3日

ていうかあれは、ほぼC言語書いてたけどな(●´ω`●)

タグ:

posted at 14:55:57

kashi @mkashi

20年10月3日

Juliaのintervalの初等関数、github.com/JuliaIntervals... によると、"The functions for Interval{Float64} internally use routines from the correctly-rounded CRlibm library where possible"とのことだが、.julia以下にlibcrlibm.soをmakeした痕跡があるのでCRlibmが使われていそう。

タグ:

posted at 14:59:15

kashi @mkashi

20年10月3日

CRlibmはかつて lipforge.ens-lyon.fr/www/crlibm/ にあったプロジェクトで、初等関数について(IEEE754でsqrtがそうであるように)完全精度かつ丸めの向きの変更も可能なものを作ろうという意欲的なもの。しかし、何らかの理由でプロジェクトは消滅してしまった。その最終版のtar.gzを使ってるみたい。

タグ:

posted at 15:04:09

no data @n0_d4ta

20年10月3日

Juliaはコードもシンプルだし、数学とか統計での直観通りに動くのが気に入ってるけど、困ったときに頼れるリソースが少ないのがウィークポイント。PythonとかRに比べると自力で解決しないといけないことが多い気がする

タグ:

posted at 15:05:26

kashi @mkashi

20年10月3日

CRlibmはwindowsではmake出来ないので、windowsではMPFRに落ちるようだ。しかし、終わったプロジェクトに命を預けるのは精度保証のライブラリとして如何なものか、という気もしないでもない。

タグ:

posted at 15:06:27

no data @n0_d4ta

20年10月3日

データのハンドリングはstataとかRとかのほうがスムーズだけどこれは自分が慣れてないだけかも。stataは有料なのとバージョンの互換性が弱い以外はシンプルで使いやすいし覚えてことも少なくて良い。UIも最近は割と使いやすくなってきたし。RはTidyverseが便利。まだまだ勉強中ですが。

タグ:

posted at 15:09:00

no data @n0_d4ta

20年10月3日

Pythonは結局ウェブスクレイピングのやり方ちょっとやっただけでその後は縁がないまま。もう忘れちゃったなー。

タグ:

posted at 15:13:19

くじラ ^ プログラミングってなんかwk @0x9217

20年10月3日

とりあえず「1から始めるJulia」と「Julia プログラミングクックブック」買った

タグ:

posted at 15:18:28

Yuki Nagai @cometscome_phys

20年10月3日

昔アセンブラで書かれたAIが登場していた漫画があった。アセンブラは速いはそれで覚えた…

タグ:

posted at 15:35:10

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@hayabusa_0613 #Julia言語 普通のコンパイラはN回のループで1を足し上げてNを得るコードを書くと、ループを回さずに答えのNを使うネイティブコードにコンパイルしてくれます。

CをJulia内部から使ってのその実演↓

gist.github.com/genkuroki/9d43...

gccもJuliaもループを回さずに答えのみを使っています。 pic.twitter.com/D84nA0eh6Y

タグ: Julia言語

posted at 15:36:44

しかのつかさ @sikano_tu

20年10月3日

「ソロ死」の恐怖を感じた瞬間 「顔を洗っただけなのに・・・」 | DANRO danro.bar/post-605/

タグ:

posted at 15:36:55

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@hayabusa_0613 #Julia言語 gccはgcc -Sでネイティブコードへのコンパイル結果のアセンブラ表示を、Juliaは @ code_llvm でLLVMのコードを、@ code_native でネイティブコードのアセンブラ表示を出力します。

これはコンパイラが何をやっているかを理解するために非常に役に立つのでどんどん使うと良いと思います。

タグ: Julia言語

posted at 15:39:17

非公開

タグ:

posted at xx:xx:xx

Yuki Nagai @cometscome_phys

20年10月3日

プログラミング言語の速度の差というのは、ガチガチにチューンした場合ほとんど変わらないし、ガチガチにチューンするということをやらない人がふんわり速度差を議論してる印象。ORH(同じ労力でどの位速くできるか)とかOCH(同じ知識レベルでどの位速くできるか)みたいな比較をしたいところ

タグ:

posted at 15:40:45

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@hayabusa_0613 不思議だったのはスライド中の「C編」が遅いこと。0秒になって欲しいのに、0.16秒になっている。

タグ:

posted at 15:43:27

Yuki Nagai @cometscome_phys

20年10月3日

なおガチガチにチューンしたあとの速度差の議論って、実用コードでそこまでチューン出来る人はそれが仕事の計算科学の人位だし、その比較って一般人に意味あるの?という感じがする。物理屋位の数値計算勢の労力での速度差の比較は面白いと思う

タグ:

posted at 15:44:31

非公開

タグ:

posted at xx:xx:xx

Yuki Nagai @cometscome_phys

20年10月3日

がち計算屋の人と一般人の人プログラミング言語の速度差の議論はなかなか噛み合わない

タグ:

posted at 15:45:31

Miura Hideki @miura1729

20年10月3日

へー、こんなのLLVMに任せればいいのに?って思ったけど、これ最適化を通した後の話だろうか?それとも、Juliaは将来的にはLLVMを捨てるのだろうか?

タグ:

posted at 15:46:20

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@hayabusa_0613 ああ、わかった。

gcc に -O2 とかを付けずにコンパイルしていませんか?
最適化されなくなります。

タグ:

posted at 15:47:18

ルヤンゴ @Lugendre

20年10月3日

数値計算界隈の人,プログラミング言語の念頭がFortran, C , C++しかないのか?

タグ:

posted at 15:47:55

非公開

タグ:

posted at xx:xx:xx

Yuki Nagai @cometscome_phys

20年10月3日

SIMDに手を出すと計算屋な感じがする(勝手な印象

タグ:

posted at 15:48:57

非公開

タグ:

posted at xx:xx:xx

Shuhei Kadowaki @kdwkshh

20年10月3日

@miura1729 僕の理解してる限りだとループのunrollはllvmがやってる(なので「llvmに任せ」てる)はずです。
llvm辛いってのはJuliaの開発者の人がよく口にしてる気がするんですけど、脱llvmを真剣に話してるところは見たことないですね。

タグ:

posted at 15:55:14

Miura Hideki @miura1729

20年10月3日

@kdwkshh なるほど。それはそうですね。昔、llvmつかってRubyの処理系を作ったことがあるのでお気持ちはよくわかります。とにかく必要な機能が無かったり、どんどんAPIが変わっていったりして辛いです。

タグ:

posted at 15:57:47

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@hayabusa_0613 おお!おめでとうございます。

【訂正版】
gcc -S main.c -o main.s
gcc -O0 -S main.c -o main-O0.s
gcc -O1 -S main.c -o main-O1.s
gcc -O2 -S main.c -o main-O2.s
gcc -O3 -S main.c -o main-O3.s

を比較すると違いがわかります。

タグ:

posted at 15:59:45

ごまふあざらし(GomahuAzaras @MathSorcerer

20年10月3日

ノートブック上でコンパイルした結果見せられる、共有するって自分でするにはこんなもんかって思っちゃってたけれど、他の人がやったのを見せられると実はすごいことでは?って思ってる。

#Julia言語 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 16:01:19

Miura Hideki @miura1729

20年10月3日

本気で数値計算に耐えるのってあとJuliaくらいでは?

タグ:

posted at 16:03:56

kashi @mkashi

20年10月3日

ForwardDiff.jlにinterval入れて計算させるのは特に問題なく動いてそう。ForwardDiff.jlを書いた人はintervalなんておかしな数は知らないだろうから、これが普通に動くのは優秀。こういう直交性が大切というか、これがないと自分は何も書けない。これでKrawczyk法が書けるはず。

タグ:

posted at 16:06:14

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

Julia内部から、

文字列のCのコードをgccにstdinから食わせてコンパイルして、ライブラリを作って、そのライブラリ内部の函数をJuliaから呼び出して使う方法の例↓

gist.github.com/genkuroki/9d43...

さらに、文字列のCのコードをJupyter上で色付けして表示する方法。 twitter.com/genkuroki/stat... pic.twitter.com/vHqdlqV1GS

タグ: Julia言語

posted at 16:11:38

宇佐見 公輔 @usamik26

20年10月3日

今日の発表の資料です #kanmath07
ルービックキューブと群論 speakerdeck.com/usamik26/rubik...

タグ: kanmath07

posted at 16:12:05

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 Julia内部からCで作ったライブラリを使ったり、Pythonのライブラリを使ったりすることによって、Juliaを学ぶついでにCやPythonも学べてしまいます。

Juliaは「高速なグルー言語」

タグ: Julia言語

posted at 16:14:29

@kuri_kurita

20年10月3日

ベテラン・ママさんによる託児所だって。(マジ) twitter.com/rainmaker1973/...

タグ:

posted at 16:15:22

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 「気軽に使えるグルー言語で多くの高速なライブラリを貼り合わせて使う」というアイデアは秀逸だったのですが、「グルー言語は遅くてもよい」という考え方はJuliaの登場によって誤りであったことが明瞭になってしまったと思います。

Juliaは「高速なグルー言語」(高速糊言語)

タグ: Julia言語

posted at 16:16:06

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 Julia内部から、#C言語#Python だけではなく、統計処理が得意な #R言語 も使用することも学べば、Juliaを経由して、CやPythonだけではなく、Rの使い方も学ぶことができます。

タグ: C言語 Julia言語 Python R言語

posted at 16:19:07

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 既出の

gist.github.com/genkuroki/9d43...

では、Juliaの文字列のCのコードを gcc -O0 と gcc -O3 でコンパイルしたときの、アセンブラの出力をJuliaで表示して比較するというようなことをしています。

さらに、Juliaがどのようにコンパイルするかも表示させて、全部を比較できるようにしている。

タグ: Julia言語

posted at 16:21:51

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 Juliaをどのように使うかですが、以下の条件を満たす場合には Jupyter notebook (もしくは JupyterLab)を使うことが非常に合理的だと思います。

* コードの分量は少なめ。
* コードだけではなく、結果の出力も重要。
* 整形された数式入りの解説があった方がよい。

タグ: Julia言語

posted at 16:25:13

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Jupyter #Julia言語 ただし、みんなでJupyter notebookを使う場合には、

周囲に配布するノートブックは、セルを上から順に実行して結果が再現されるようにしておくこと!

のようなルールを決めておいた方がよいかも。
常識的には普通こうするものだと思いますが。

タグ: Julia言語 Jupyter

posted at 16:27:22

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Jupyter #Julia言語 実行可能なコードだけではなく、実行結果を一緒に配布することは多くの場合に有用です。さらにそこに整形された数式入りの解説が添付されていると、有用性はさらにまします。

コードだけではなく、計算結果も同時に配布するべき場合にはみんなそうするべきだと思います。

タグ: Julia言語 Jupyter

posted at 16:28:48

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Jupyter #Julia言語 他人のコードを自分で実行してみる場合は、まず同じ結果が再現されるかどうかが気になります。そのときに、実行可能なコードのみが配布されているとものすごく不便です。

Jupyterを無用に嫌う人達にはその手の不合理な人達が多いという悪印象があります。

タグ: Julia言語 Jupyter

posted at 16:30:10

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Jupyter #Julia言語 Jupyter notebookはdiffがまともに機能しないことで有名です。しかし、それへの決まり切った対処法がある。Jupytextを使えば、自動的にJupyter notebookファイルに紐づけられた、mdファイルやjlファイルを自動生成するようにできます。

github.com/mwouts/jupytext

タグ: Julia言語 Jupyter

posted at 16:32:07

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Jupyter #Julia言語 1つのノートブックだけではなく、複数のノートブックで繰り返し使用するツールは、パッケージ化しておくべき。

私はその辺をサボりまくってしまい、非常に後悔しています。Juliaでは、公開されていない自作パッケージは瞬時にかつ気楽に作れます。

twitter.com/genkuroki/stat...

タグ: Julia言語 Jupyter

posted at 16:37:18

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 さらに、すでにGitHubを使用している人であれば、自作パッケージをGitHub上で公開して野良パッケージ化することも非常に易しいです。

野良パッケージが増えて、公式登録されたパッケージに昇格するものが増えるとよいと思います。

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 16:39:04

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 使い方のパターン

①Jupyter上で、整形された数式入りの解説と、Juliaによる数値計算や数式処理のコードと、計算結果やグラフのプロットを一体化したノートを作って周囲に配布する。

②使い回されるツールは非公開自作パッケージ化→公開野良パッケージ化→公式登録パッケージ化。

タグ: Julia言語

posted at 16:42:33

黒木玄 Gen Kuroki @genkuroki

20年10月3日

ああ、学生時代にこれがあったらもっと楽しかったのに!

今だと1つ前のツイートの方法の採用によって「遊び」=「勉強」がものすごく捗りそうです。

タグ:

posted at 16:45:16

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 Juliaを使う利点は

* 気楽に易しく使える。
* 速い。
* グルー言語(糊言語)として強力

なだけではなく、

* 自作パッケージの作成が容易

ということもあると思います。

これ、Juliaの開発者側は戦略的にそうしていると思うのですが、強調されることが少ないという問題があります。

タグ: Julia言語

posted at 16:49:34

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 非公開自作パッケージを作って利用するだけなら、適切な作業ディレクトリで

pkg> generate Hoge
pkg> dev Hoge

とするだけでよいと誰も教えてくれなかった!

これを知っているか知らないかで、個人で使い回すツールの蓄積度が大きく変わって来てしまいます。

タグ: Julia言語

posted at 16:53:21

Thread Reader App @threadreaderapp

20年10月3日

@bourbakii Halo! please find the unroll here: @genkuroki: #Julia言語 Julia内部から、 文字列のCのコードをgccにstdinから食わせてコンパイルして、ライブラリを作って、そのライブラリ内部の函数をJuliaから呼び出して使う方法の例↓… threadreaderapp.com/thread/1312289... Have a good day. 🤖

タグ: Julia言語

posted at 17:07:32

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 ①の色々詰め込んだノートの配布の実例は

github.com/genkuroki/Calc...

にあります。添付画像はChromeでPDF化したものの1つ

genkuroki.github.io/documents/Calc...

のスクショ。Milnorの多重三角函数のグラフです。数学畑の人であっても見たことがある人は少ないでしょう。

他のリポジトリも参照。 pic.twitter.com/KfTn1lGN65

タグ: Julia言語

posted at 17:14:31

るろうに @koideforest

20年10月3日

@dc1394 Fortranが1始まりなので、そっちに合わせたんでしょうね(多分)。

タグ:

posted at 17:40:10

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

20年10月3日

Julia で機械学習してる界隈はどういう書き方してるんだろう

タグ:

posted at 18:19:41

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 初心者向けの使用するパッケージのインストールの手順も含めて書き切れる点がすごい!(笑)

Juliaの公式バイナリを

julialang.org/downloads/

からインストールして、juliaを起動すれば「独立同分布な2つの確率変数X,Yに関するX+Yと2Xの分布の違い」を即視覚化できる! twitter.com/kado_judo0312/... pic.twitter.com/He0ksH90h4

タグ: Julia言語

posted at 18:22:16

アトリエpuchuco 7/22.23博 @puchuco709

20年10月3日

ハエトリグモのからくり人形を作りました。
サイズは実物大、素材は銀で、9ヶ所可動します。
いやぁ、正直難しかった…。
#ハエトリグモ pic.twitter.com/JzzxOs98dL

タグ: ハエトリグモ

posted at 18:26:24

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 関連

Juliaは

julialang.org/downloads/

からインストーラをダウンロードすればすぐに使えるようになります。非常に簡単。

julia起動後のプロンプトの julia> 状態で ] を押すとプロンプトが pkg> のパッケージマネージャーモードになって、簡単に必要なパッケージを入れられます。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 18:27:15

黒木玄 Gen Kuroki @genkuroki

20年10月3日

Windowsだとそのせいで劇遅になってしまう点が非常に残念なところ。 #Julia言語 twitter.com/mkashi/status/...

タグ: Julia言語

posted at 18:32:17

ミスたこiPad @missTakoiPad

20年10月3日

#Julialang #Gnuplot でのグラフ描画も成功。複素数+特殊関数+可視化までいけた。あとは回帰分析系のpackageと組み合わせがうまくいけばいいが。。LsqFit.jlか

タグ: Gnuplot Julialang

posted at 18:34:04

Yuki Nagai @cometscome_phys

20年10月3日

Juliaのスレッド並列でバリア同期を入れるにはどうすればいいんだろ

タグ:

posted at 18:37:26

Shuhei Kadowaki @kdwkshh

20年10月3日

@miura1729 ただJuliaにしろRustにしろZigにしろやっぱりllvmをコンパイラのbackendに使ってるってことは、やっぱりあれと同程度のコンパイラ基盤を自前で作るのがめちゃくちゃ大変ってことなんですかね。alternativeがあるのか分からないですけど、辛いは辛いけど、それ以外の選択肢がない状態、なんですかね。

タグ:

posted at 18:48:04

Miura Hideki @miura1729

20年10月3日

@kdwkshh AppleのJS処理系はもともとLLVMを使っていましたが、とうとう使うのをやめて独自のオプティマイザーを開発することになりました。他にもLLVMを使ってうまくいかないからポシャったPythonの処理系がいくつかあります。LLVMを使うのも辛いし、代替品を作るのも辛いんでしょうね... 身も蓋もない

タグ:

posted at 18:54:24

1inguini.yaml(リングイネ) @1inguini

20年10月3日

julia、あんまりプログラミング言語っぽくない? いや知らんけど

タグ:

posted at 18:56:37

Miura Hideki @miura1729

20年10月3日

@kdwkshh LuaJITみたいに超絶なオプティマイザを個人で作っちゃう人もいますけど

タグ:

posted at 18:59:14

1inguini.yaml(リングイネ) @1inguini

20年10月3日

なんでいいねされてるの

タグ:

posted at 19:01:31

dc1394 @dc1394

20年10月3日

C++のコンパイルの異常な遅さには、特にデバッグの際に毎回イラつく(EigenやBoostを使うとコンパイル時間が更に伸びる)。この点からもJuliaに移行すべき。

タグ:

posted at 19:03:39

dc1394 @dc1394

20年10月3日

Juliaで左辺の行列がSymTridiagonalな連立一次方程式を解くにはどうするの?

タグ:

posted at 20:02:37

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@koideforest @dc1394 #Julia言語 Juliaのリポジトリを検索すると、テストにOffsetArrays.jl (Fortranスタイルの任意始まりの配列のパッケージ)が頻繁に使用されいて、言語仕様にも任意始まりの配列のための函数が入っています。

github.com/JuliaArrays/Of...

docs.julialang.org/en/v1/devdocs/...

続く

タグ: Julia言語

posted at 20:04:41

dc1394 @dc1394

20年10月3日

@genkuroki @koideforest 情報ありがとうございます!

タグ:

posted at 20:05:36

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@koideforest @dc1394 #Julia言語 配列の始まりを「1」とか「0」とか考えるようになると、任意の始まりのインデックスを持つ配列に耐えられなくなるのが怖いので、

A[begin+k] ←最初よりkだけ後の成分

とか、

u[begin+2:end] + u[begin:end-2] - 2u[begin+1:end-1]

のような書き方を意識するようになりました。続く

タグ: Julia言語

posted at 20:10:19

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@koideforest @dc1394 #Julia言語 例えば0始まりのインデックスを持つ言語の配列の成分 X[k] は、Juliaの任意始まりのインデックスを持つ(もちろん1始まりでもよい)配列では X[begin+k] に翻訳される、と覚えておけば考えなければいけないことの量が大幅に減ります。

0始まりのX[k] → 任意始まりのX[begin+k]

タグ: Julia言語

posted at 20:15:08

杏仁まぜそば @an_nindouph

20年10月3日

juliaに手を出そうとするたびに、やっぱPython(or Cython)でええかってなるし、誰かにめちゃくちゃjuliaのいい点を叩き込まれたい

タグ:

posted at 20:25:33

斉藤 淳 『アメリカの大学生が学んでいる @junsaito0529

20年10月3日

本当に怒っているとき、適切な言葉が探せないことがある。復興増税は、政策として最悪だった。

タグ:

posted at 20:31:30

非公開

タグ:

posted at xx:xx:xx

dc1394 @dc1394

20年10月3日

今年の数値計算 Advent Calendarは、「有限要素法で、ヘリウム原子に対するHartree-Fock方程式を解いてみる(JUliaでやってみた)」にしよう。

タグ:

posted at 20:55:52

nosuz @nosuz

20年10月3日

juliaのPyCall便利。確かにpythonのライブラリーを使えた。
importしたら後は普通に使えるとは言え、もちょっとサンプルが落ちていてもいいのに。
from なんとか import かんとか as hoge
をどう書くのかかなり悩んだ。
hoge =pyimport (なんとか.かんとか)
だった。

タグ:

posted at 21:19:08

ishogaki @ishogaki

20年10月3日

Juliaのデータ同化のコードが遅いかどうか確かめるためにPythonで書き直した。とりあえずLorenz96の計算だけしてみた。Julia 0.7s,Python 3.1s。Pythonはpipで入れたnumpyで計算した。Pythonのほうはnumba使うとか,Anacondaのnumpy使うとかでもっと早くなるとおもう。

タグ:

posted at 21:21:37

ishogaki @ishogaki

20年10月3日

コード間の計算速度の比較で盛り上がってる今のタイミングだと,最適化がなっとらんとか飛んできそうだけど,最適化するところまでやるつもりないのが現状

タグ:

posted at 21:23:28

Johannes Boehm @johannesmboehm

20年10月3日

I'm a big fan of Julia for numerical work in Economics. Faster than R and Python, and a pleasure to program in. Great support for optimization problems, and really fast regression packages. Try it out! twitter.com/JuliaLanguage/...

タグ:

posted at 21:44:21

ゴルゴ・サーディーン @golgo_sardine

20年10月3日

@NOKKO42554780 こういう話があります。
 togetter.com/li/68853

( あと「国語の問題と考えると」というのを付けるのは評判わるいです。
  国語であろうがなかろうが、2×3 でも 3×2 でも良いのです。 )#掛算

タグ:

posted at 21:45:50

非公開

タグ:

posted at xx:xx:xx

てらモス @termoshtt

20年10月3日

Fortranが、って言うけどOpenBLASはほとんどCやしな(´・ω・`)

タグ:

posted at 22:47:55

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@ishogaki #Julia言語 #Python テストで使ったプログラムのソースコードはどこで確認できますか? twitter.com/ishogaki/statu...

タグ: Julia言語 Python

posted at 22:50:15

ishogaki @ishogaki

20年10月3日

@genkuroki ごちゃごちゃしてるので,ちょっと整理してQiitaあたりに出そうとおもってます

タグ:

posted at 22:51:22

杏仁まぜそば @an_nindouph

20年10月3日

python4は是非ともjulia見習ってjitして欲しいしtypingをちゃんと読み取って高速化して欲しい(cythonは書くのがめんどいしC++連携の学習コストが高いのでね

タグ:

posted at 22:55:53

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 PyCallについては私がツイッターで紹介してGitHub Gistに投稿したものが検索でヒットすれば助かる人は結構多いと思う。

beutifulsoup4の使用例
nbviewer.jupyter.org/gist/genkuroki...

PandasからJuliaのデータフレームへの変換
nbviewer.jupyter.org/gist/genkuroki...

PyPlot(添付画像)
nbviewer.jupyter.org/gist/genkuroki... twitter.com/nosuz/status/1... pic.twitter.com/ESzHYMqhAn

タグ: Julia言語

posted at 23:02:53

Volker K. @quantenvo @quantenvogel

20年10月3日

@johannesmboehm @JuliaLanguage Hi Johannes, which libraries are you using for your optimization & regression?

タグ:

posted at 23:02:57

黒木玄 Gen Kuroki @genkuroki

20年10月3日

@ishogaki 楽しみに待ちます😊

タグ:

posted at 23:10:34

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 以下のリンク先の件について、ごちゃごちゃ不快で余計なことを言わずに黙って解決策の「コードとコンパイル法の完全な情報」を公開している人がいたら教えて下さい。

大事な点はC++側でAをやったら、Julia側でもAをやった場合にどうなるかも確認が必要なことに言及すること。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 23:15:32

Johannes Boehm @johannesmboehm

20年10月3日

@quantenvogel @JuliaLanguage Linear Regressions with FixedEffectModels.jl; nonlinear regressions typically hand-coded with JuMP.jl (unless there are canned estimators for my problem). JuMP+Knitro for optimization.

タグ:

posted at 23:16:38

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

* 改善版のソースコードと実行法
* 重要な変更点の簡単な説明
* 公式ドキュメントに説明があるならリンクもはる

などが余計なこと抜きに最初から出て来れば非常によい。

理解不足やケアレスミスをたとえ含んでいても、再現可能なだけ十分な情報を出すことは素晴らしいことです。

タグ: Julia言語

posted at 23:22:47

ゴルゴ・サーディーン @golgo_sardine

20年10月3日

@NOKKO42554780 その通りです。
彼ら「順序守れ派」は、2年生の授業のあいだだけの秩序や行儀だけを考えていて、子ども達が最終的に何を身に着けるかはこれっぽっちも考えていないのです。#掛算

タグ: 掛算

posted at 23:31:08

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 添付画像1はPython版で2はJulia版。おそらくJulia初心者にはJulia版への変換が難しい例。

しかし、fig = ~の行以降は本質的に '~' を "~" に置き換えただけ。その部分はぱっと見には区別できない(笑)

Julia版でmeshgridをどのように実現しているかにも注目!

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

タグ: Julia言語

posted at 23:33:40

てらモス @termoshtt

20年10月3日

1次元シュレーディンガー方程式を有限要素法で解いてみる in Julia qiita.com/cometscome_phy... #Qiita

タグ: Qiita

posted at 23:35:50

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語 meshgridはメモリの無駄使いなのですが、こういう場合は仕方がない。

Julia版では import numpy as np にあたる行はない。

from ~ import axes3d にあたる行は using3D()
これが多分初心者には一番発見が難しい。

from ~ import cm は cm = matplotlib. cm でよい。

タグ: Julia言語

posted at 23:37:39

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)

のJulia版は

x = y = range(-5, 5, step=0.1)

これは

x = y = -5:0.1:5

とも書ける。

タグ: Julia言語

posted at 23:40:08

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

X, Y = np.meshgrid(x, y)

のJulia版はひとまず

X, Y = Complex.(X', Y) |> z -> (real(z), imag(z))

にした。これでうまく行く理由について調べて考えればJuliaのブロードキャストについて理解が深まるはず。

Julia側でもっとシンプルな書き方があったら教えて下さい。

タグ: Julia言語

posted at 23:44:14

黒木玄 Gen Kuroki @genkuroki

20年10月3日

#Julia言語

Z = X*np.exp(-X**2 - Y**2)

のJulia版は

Z = @. X*exp(-X^2 - Y^2)

これは

Z = @. x'*exp(-x'^2 - y^2)

とも書ける。このように書けばメモリを無駄使いするmeshgridを経由せずにZが得られます。

@. はブロードキャスト化のマクロ。

マクロの常用はJuliaの特徴の1つ。

タグ: Julia言語

posted at 23:59:53

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

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

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

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

送信中

送信に失敗しました

タグを編集しました