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 を見て下さい。
Favolog ホーム » @genkuroki » 2020年09月13日
並び順 : 新→古 | 古→新

2020年09月13日(日)

Dr. Chris Rackauckas @ChrisRackauckas

20年9月13日

@kareem_carr @PhDemetri The methods of these fields, like nonlinear mixed effects models, mix statistical methods with nonlinear estimation of dynamical systems, which inherently makes it a hard computational problem requiring high performance and cross-domain expertise + software. #julialang shines.

タグ: julialang

posted at 23:39:29

Dr. Chris Rackauckas @ChrisRackauckas

20年9月13日

@kareem_carr @PhDemetri The problem in these domains is that pure machine learning and data science techniques are insufficient models for the system: you need to capture the true nonlinearities for the model to be predictive, and that's just a requirement. Models with diffeqs are toys given that.

タグ:

posted at 23:38:35

Dr. Chris Rackauckas @ChrisRackauckas

20年9月13日

@kareem_carr @PhDemetri I can't give out too many details, but the business is doing quite fine because speed of estimation of differential equation models is a major concern among most pharmaceutical firms. So there are actual examples of this giving a real business advantages and it's not hypothetical

タグ:

posted at 23:36:57

Dr. Chris Rackauckas @ChrisRackauckas

20年9月13日

@kareem_carr @PhDemetri The competitive advantage of #julialang in this field has already led to a firm in software for pharmacology, pumas.ai, where the papers on the software won top submission awards back to back at the main conference in the field.

タグ: julialang

posted at 23:35:39

Dr. Chris Rackauckas @ChrisRackauckas

20年9月13日

@kareem_carr @PhDemetri power grids (how do you go to green energy? You need effective models of energy flow to counteract the multi-agent production), weather prediction, ... you get the point. This is why most mathematics and engineering degrees require a differential equations course.

タグ:

posted at 23:29:46

Dr. Chris Rackauckas @ChrisRackauckas

20年9月13日

@kareem_carr @PhDemetri pharmacological systems (pharmacokinetics/pharmacodynamics, so they are predicting the metabolic effects for the covid vaccines and determining the most efficacious doses for subpopulations as we speak), systems modeling (quantitative systems pharmacology, ...

タグ:

posted at 23:28:42

Dr. Chris Rackauckas @ChrisRackauckas

20年9月13日

@kareem_carr @PhDemetri Differential equations the core model in applied math. They are the way for modeling and analyzing physical equations (climate models, building and automatic models, space weather predictions, etc.), chemical systems (discovery of new materials and catalysts), ...

タグ:

posted at 23:27:28

Ph.Demetri @PhDemetri

20年9月13日

@kareem_carr Julia’s differential equations capabilities are leagues above python’s and R’s (which was never really a contender). See this blog post and the paper it mentions.

@ChrisRackauckas has done an amazing job leading this effort.

www.stochasticlifestyle.com/comparison-dif...

タグ:

posted at 23:19:42

PurPurPurkinje @tak_yamm

20年9月13日

JuliaでDNNをどうするか色々見てはいたけどFlux.jl使うのが安定なのかな。PyCallでpytorch呼んでもええが…

タグ:

posted at 22:33:19

いじわる村のまきりん @makilyn

20年9月13日

@kale_aojiru @genkuroki 経験の浅い教師がきちんと児童にこういう指導をしているかを細かくチェックする、さらに時間の使い方を間違えている指導役がいると思われるのが何とも…

タグ:

posted at 22:17:01

Yuki Fukuda @Y_F_Acoustics

20年9月13日

頑張ればPythonとかJuliaに翻訳できる可能性 twitter.com/fukuro_ki/stat...

タグ:

posted at 21:59:59

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月13日

#Julia言語

カメラから画像を撮って画像をimshowでGUIを使った表示する単純なデモを追加しました。画像関係のデモをJuliaでしたい人には嬉しいかもです。

個人的にはVideoIO+Makieの組み合わせよりも快適

github.com/terasakisatosh...

タグ: Julia言語

posted at 21:58:28

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月13日

安定版が更新されるとそれ以前のものはメンテされなくなるので、特に事情がなければリリースアナウンスをチェックし適宜バージョンを上げていくのが望ましいです。

#Julia言語

ちなみに1.6は次期のLTSとなる予定です。 twitter.com/hassiweb/statu...

タグ: Julia言語

posted at 21:53:51

遅行指数 @voo_glb

20年9月13日

1から始めるJuliaプログラミング,前は理解できなくて飛ばしていたメタプログラミングとマクロが少し分かるようになった

タグ:

posted at 21:42:10

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@aokendo #Julia言語 【リスト内包表記は、Pythonなどでは処理も早く便利だが、Juliaになると、とたんに遅い。】

それは初耳です。

実際にそうなるPythonでの内包表記とJuliaでの内包表記を教えて下さい。

タグ: Julia言語

posted at 21:21:26

あおじるPPPP @kale_aojiru

20年9月13日

教員は忙しいとか言うくせに、こんなどうでもいいことをいちいちチェックして嫌味書く暇はあるんだよね。時間の使い方まちごうてるだけちゃうん? twitter.com/sirururun/stat...

タグ:

posted at 21:16:48

hassiweb @hassiweb

20年9月13日

@genkuroki v1.5.0でも確認できました!ありがとうございますm_ _m

タグ:

posted at 19:09:54

hassiweb @hassiweb

20年9月13日

@genkuroki いつもご指摘ありがとうございます!!
勉強不足でした。v1.3 と v1.4 しか使っておらず知りませんでしたm_ _m

タグ:

posted at 18:58:18

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語

逆向きの Int64(1.0) もちゃんと 1 を返してくれます。 twitter.com/mat_der_d/stat...

タグ: Julia言語

posted at 18:55:00

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

20年9月13日

Float64 <: Int64 じゃないのに Float64(1) はちゃんと 1.0 って返ってくるのすごい

タグ:

posted at 18:44:14

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語 付け足し。

 函数の引数の型宣言の有無が
 計算速度に全く影響しないこと

を理解できた人は

 それじゃあ、Juliaでは函数の引数の型宣言に
 どういう意味があるのか?

と疑問に思うはず。その答えが

 multiple dispatch

です。multiple dispatchについてはリンク先を参照。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 18:29:08

むううみん @muuumin20

20年9月13日

黒木さんの怒涛のツイートに紛れて私も一言だけ。Juliaが採用しているJITコンパイルは、ネイティブコンパイルより早くなる可能性もある。理由はまさに実行時の環境で最適化が行えるから。最適化のタイミングは遅いほど良い。実行時なのでコンパイルに使える時間の制約はあるけれど。 twitter.com/genkuroki/stat...

タグ:

posted at 18:27:54

k @musicisthebest_

20年9月13日

まさにこれ。 pic.twitter.com/uHgEQnVUOk

タグ:

posted at 18:20:49

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hassiweb #Julia言語 それはすでに時代遅れな話題で、現在の安定版のJulia v1.5.1のREPLでは添付画像のように「多くの人が望むと思われる結果」が得られるようになっています。

詳しい解説についてはリンク先のスレッドを参照。 twitter.com/genkuroki/stat... pic.twitter.com/mNT2hxEFfH

タグ: Julia言語

posted at 18:01:59

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語

Juliaでは函数の引数の型宣言を1つも書かなくても(もちろん書いても)、計算速度には影響しません。

この点は徹底的に強調する価値があります。

多くの人が「函数の引数の型宣言を書かないと計算が遅くなるかもしれない」とひどく誤解しています。

タグ: Julia言語

posted at 17:13:09

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語 そういう仕組みなので

f(x::Int) = 2x

と書いても、

f(x) = 2x

と書いても、f(3)を実行するときの即時コンパイルの結果は同じになります。

だから、函数の引数の型宣言を書いても、計算速度には何も影響がありません。

タグ: Julia言語

posted at 17:10:35

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語 最重要ポイントは

* 函数に引数を与えて実行するときに即時コンパイルして実行する仕組みなので、Juliaのコンパイラは常に引数の型をすべて知っていること

です。例えば

f(x) = 2x

をf(3)と実行すればJuliaのコンパイラはInt型引数の場合についてf(x)をコンパイルして実行する。続く

タグ: Julia言語

posted at 17:08:21

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語 gradが実装できたということは、1階の偏微分が全部計算できるということになるので、rotもdivも実装できます。

gradはすでにForwardDiff.jlにあります。

github.com/JuliaDiff/Forw...

それを使ってrotを書くのは自明な作業に過ぎません。 twitter.com/hayabusa_0613/...

タグ: Julia言語

posted at 17:02:29

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語 私が素人なので全然理解していないのですが、函数実行時の即時コンパイルの速度を上げるためにものすごく地道な工夫をしているようです。

最近話題になったのは以下のリンク先の話。

julialang.org/blog/2020/08/i...
Analyzing sources of compiler latency in Julia: method invalidations

タグ: Julia言語

posted at 16:57:40

非公開

タグ:

posted at xx:xx:xx

Julia Bloggers @juliabloggers

20年9月13日

New post: Pseudo broadcasting in DataFrames.jl - www.juliabloggers.com/pseudo-broadca... #julialang

タグ: julialang

posted at 16:44:34

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語 では

文字列→構文解析の結果→~→ネイティブコード

の途中の様子の各々をワンコマンドで見れます。

色々な場合に確認すれば何をやっているかが直観的にわかって来ると思います。

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

タグ: Julia言語

posted at 16:43:03

黒木玄 Gen Kuroki @genkuroki

20年9月13日

@hayabusa_0613 #Julia言語 大体こんな感じです。

⭕️Juliaでは手動でのコンパイルは要らない。

⭕️Juliaは函数の実行時に自動的にネイティブコードにコンパイルしてから実行してくれる。

⭕️Juliaでも頑張れば実行ファイルを作れる場合がある。

❌Juliaはコンパイルが要らないインタープリタなのに速い。

続く

タグ: Julia言語

posted at 16:39:21

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月13日

@kdwkshh なるほど今日は別PCで遊んだので速い方で既に遊んでるかもです。

(1.6早くきて欲しい)

タグ:

posted at 16:29:39

Shuhei Kadowaki @kdwkshh

20年9月13日

@MathSorcerer 嬉しいです :) ちなみにめちゃ良くないハックをしてたみたいで、昨日までのmasterより今のmasterの方が10倍くらい早いので... もし遊ぶならアップデートした方が快適かもです笑
github.com/aviatesk/TypeP...

タグ:

posted at 16:26:22

非公開

タグ:

posted at xx:xx:xx

こなみひでお @konamih

20年9月13日

帯状疱疹ワクチンの導入について(国立感染症研究所)
www.niid.go.jp/niid/ja/allart...

接種回数は1回、費用自己負担、6000円ほど,効果は接種後10~15年。水痘ワクチンを帯状疱疹予防の目的で50歳以上の成人に接種勧告
www2.khsc.or.jp/info/dtl.php?I...

罹って大変な人を見ているのでやっておくことにします。

タグ:

posted at 15:56:17

ArnuldOnData @ArnuldOnData

20年9月13日

The J. H. Wilkinson Prize for Numerical Software is awarded every 4 years to honor outstanding contributions in the field of numerical software:

en.wikipedia.org/wiki/J._H._Wil...

#DataScience #programming #computing #JuliaLang #software #softwaredevelopment #coding

タグ: coding computing DataScience JuliaLang programming software softwaredevelopment

posted at 15:53:53

ArnuldOnData @ArnuldOnData

20年9月13日

If you have never heard of @JuliaLanguage, you should. It is quintessential 21st century language

The award has very strict eligibility criteria like clarity & depth of the software implementation & analysis of the algorithm:

news.mit.edu/2018/julia-lan...

#JuliaLang #programming

タグ: JuliaLang programming

posted at 15:53:53

Masahiro Kato @masakat0

20年9月13日

@mosko_mule おじいちゃん,そんなに読み切れないでしょ.
余分な本は焚書しときますからね!!

タグ:

posted at 15:49:55

(「・ω・)「ガオー @bicycle1885

20年9月13日

さあ時間がないんだ
はやくふたりとも超Julia人になって!

タグ:

posted at 15:39:43

PurPurPurkinje @tak_yamm

20年9月13日

Julia理解したい

タグ:

posted at 15:35:59

(「・ω・)「ガオー @bicycle1885

20年9月13日

Julia理解してます。

タグ:

posted at 15:28:14

非公開

タグ:

posted at xx:xx:xx

ワクワクさん @mosko_mule

20年9月13日

@mkato_csecon ワクワクおじいちゃんもC++とかCUDAとかJuliaとかPythonの本を買い込んでいるので困っています.

タグ:

posted at 15:21:13

Masahiro Kato @masakat0

20年9月13日

僕の知り合いのおじいちゃんが使いもしないのに、fortranの勉強を唐突に始めたり、スパコンの契約結ぼうとしたり、GPUを買い込んで棚に積みっぱなしにしてたから笑えない。 twitter.com/mosko_mule/sta...

タグ:

posted at 15:12:03

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 何度も紹介しているpure Juliaの数値積分パッケージの HCubature.jl は扱える値をAbstractFloat型に制限していたのですが、Real型に緩和されていますね。

これはdual numberを使った自動微分を有効にしたい人には必要。

github.com/JuliaMath/HCub...

タグ: Julia言語

posted at 15:07:30

k @musicisthebest_

20年9月13日


教えようとしている概念を単語による識別に矮小化しようとするのは超算数教育でそこかしこに見られる現象。かけ算順序における「かけ算の前の数と答えは単位が同じ」など、概念指導を回避して形式に着目させているわけで、誤った目的と誤った指導法の重複具合が本件と相似形をなす。

タグ:

posted at 15:02:14

ワクワクさん @mosko_mule

20年9月13日

「おじいちゃん,また通販で新しいプログラミングの本を買っちゃって.今度はRust?どうせやらないでしょ?メルカリで売っておきましょうか?」

タグ:

posted at 14:58:06

黒木玄 Gen Kuroki @genkuroki

20年9月13日

あと、最近では「当たり前」になっているので、わざわざ誰も言及しませんが、#Julia言語 本体だけではなく、その膨大なパッケージ群のソースコードが公開されている点はありがたいです。

適切なコードの書き方がわからない場合に、自分より圧倒的に優れたプログラマによるコードを参考にできる。

タグ: Julia言語

posted at 14:54:19

黒木玄 Gen Kuroki @genkuroki

20年9月13日

プログラミングのイロハのイは、コードの使い回し(貼り合わせ)の技術です。

汎用性の高い函数はプログラムの基本的な部品になる。

多くの異なる環境で作成された高速なライブラリ群の使い回しにおいて、貼り合わせがうまく行くためには、貼り合わせに使う道具自身も高速であることが重要。

タグ:

posted at 14:48:40

黒木玄 Gen Kuroki @genkuroki

20年9月13日

遅いが気楽に使える言語によるライブラリ群の貼り合わせは、自分で書いた部分が不都合なくらいの律速段階になると、Cなどの高速な言語での書き直しが強制され、実質的に糊の役目を果たさなくなってしまいます。

それに対して、気楽に使える上に高速な言語による貼り合わせは真の貼り合わせになる。

タグ:

posted at 14:44:39

黒木玄 Gen Kuroki @genkuroki

20年9月13日

それは #Julia言語 以前には仕方がないことだったかもしれませんが、Juliaの登場以後は

 暗黒の原始時代には、多くの人達が高速化のために、
 Cなどでの部分的書き直しを無慈悲にも強制されていた

という評価になるのだと思います。

Juliaの本性は高速なグルー言語だと思う。

タグ: Julia言語

posted at 14:41:18

黒木玄 Gen Kuroki @genkuroki

20年9月13日

貼り合わせてに使う言語が遅いと、そのユーザーは、自分で書いたコードの部分が律速段階になっていることに気付いたとき、Cなどでその部分を書き直すことを検討せざるを得なくなります。

そういうことを沢山の人達が強いられて来た。

タグ:

posted at 14:41:17

伊藤公紀 @Itoh_Kiminori

20年9月13日

「は」の機能として、主語を表す場合と、英語の「as for」のような条件を表す場合とがある、ということが理解されてないのでしょう。
学校の国語では教えられてない気もしますが、どうなんでしょう。 twitter.com/sekibunnteisuu...

タグ:

posted at 14:37:05

黒木玄 Gen Kuroki @genkuroki

20年9月13日

ライトユーザーの立場では、#Julia言語 が裏で何を使っているかはどうでもよい。

沢山の既存の道具を貼り合わせて使うときに、自分で書いたコードの部分が律速段階になるのはつらい。

Juliaで貼り合わせた場合にはJulia自体が速いので、そういう心配に気を使う必要が無くなります。

タグ: Julia言語

posted at 14:34:27

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 に関する話題はその「速さ」に偏りがちなのですが、「速さ」の話だけをしたいなら超人間的なアセンブラ・プログラマを連れてくればよい(笑)。

CやFortranで書かれたライブラリ群だけではなく、PythonやRやffmpegやImageMagickの類を全部貼り合わせた環境を提供してくれている点が重要。

タグ: Julia言語

posted at 14:31:50

黒木玄 Gen Kuroki @genkuroki

20年9月13日

「すごい人」ではない私のようなライトユーザーにとっては、 #Julia言語 は優れた「グルー言語」(糊言語)の1つ。

他言語で書かれた優れたライブラリ群を楽に組み合わせて使うことができる。C, Fortranで書かれたライブラリだけではなく、Pythonで書かれた膨大なライブラリ群も利用でき、Rも使える。

タグ: Julia言語

posted at 14:28:39

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月13日

ターミナルAはJulia1.5で
TypeProfiler用のターミナルB(Julia1.6が必要)をつくって両方眺めるようにしておくみたいな運用かな?

タグ:

posted at 14:27:30

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月13日

profile_and_watch_file たのしい。
たしかに実行してエラーになるところを赤文字で警告出してくれる。そしてなおすと変更をウォッチしてくれてるのでTypeProfilerのセッションをたてておけばよい。

#Julia言語

タグ: Julia言語

posted at 14:27:29

ケフっち@Deterministic @__cheph__

20年9月13日

CとかFortranがJuliaより無条件に速いわけではないでしょうん。条件が何かは詳しくないのでパス。

タグ:

posted at 14:25:14

黒木玄 Gen Kuroki @genkuroki

20年9月13日

ぶっちゃけ、古臭い技術を過学習してしまったせいで新しい技術について行けなくなった人たちが、#Julia言語 についておかしな思い込みをあたかも事実であるかのように述べている傾向があると思う。

タグ: Julia言語

posted at 14:24:25

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月13日

この例どれだけPythonでがんばれるんだろう(やりたくない) twitter.com/MathSorcerer/s...

タグ:

posted at 14:24:02

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 「CやFortranの方がJuliaより速い」というのは単なる思い込みに過ぎないことを示す実例の追加。

なぜか「すごい人」がJuliaで書き直すと速くなる不思議。

pure Juliaの数値積分パッケージHCubature.jlは、本体がCで書かれているCubature.jlより速いです。

github.com/JuliaMath/HCub... twitter.com/cometscome_phy...

タグ: Julia言語

posted at 14:21:17

高三 和晃 / Kazuaki Taka @takasan_san_san

20年9月13日

またjuliaのことで @tomosoeoc くんのサポートを受けてしまった。こんなの分からんわ。助かった。

タグ:

posted at 14:17:15

なべきち @nabekichi32

20年9月13日

掛け順を「定義」って言っちゃう人に通ずるものがある。
あ、もしかしてコレ「超国語案件」になりませんかね?(トリビア並みの感想

タグ:

posted at 14:13:09

なべきち @nabekichi32

20年9月13日

「文法的に間違ってる」と指摘する人の、文法分かってない感は異常

タグ:

posted at 14:12:17

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 とC++(など)の本質的な違いについては以下のリンク先の例を参照(リンクしている動画も参照)。

Juliaスタイルのmultiple dispatchでは、他人が作ったパッケージ群を組み合わせて、新たな機能を追加して、自分が保有するリポジトリで公開することが非常に簡単です。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 13:59:13

PurPurPurkinje @tak_yamm

20年9月13日

Pythonの% → mod
Juliaの% → rem

タグ:

posted at 13:58:14

PurPurPurkinje @tak_yamm

20年9月13日

PythonのコードをJuliaに移植してたら除算の余りで見事に嵌った

myenigma.hatenablog.com/entry/2019/01/...

タグ:

posted at 13:57:37

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 はmultiple dispatchを採用しているので、x + y における + メソッドは x の保有物でもないし、y の保有物でもありません。

battle!(a::Player, b::Player, f::BattleField)というメソッドも、a, b, f のどれかの保有物ではありません。

タグ: Julia言語

posted at 13:54:24

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 プレイヤーaとbをバトルフィールドfで戦わせて、a, b, f の状態を変化させる函数のJulia風での書き方は

function battle!(a::Player, b::Player, f::BattleField)

end

のようになります。これを一般化すれば他の場合の普通のコードの書き方も分かる。

タグ: Julia言語

posted at 13:54:23

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 続き~、公式ドキュメントに「やめろ」と書かれている書き方をせずにもっと効率的なコードを書きたい人は多いと思う。そういう人は以下のリンク先とその直上の部分を見て下さい。

函数の中で使うデータや変更するデータを常に函数に引数として渡すスタイルで、きれいに書けばよい。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 13:46:14

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 公式ドキュメントにも

a = (グローバル変数の値)

function foo()
グローバル変数aを使った計算
end

function bar()
グローバル変数aを使った計算
end

のように書くのは計算速度的にまずいと書いてあるのですが、結構多くの人がやっています。それでも結構速いのですが、~続く

タグ: Julia言語

posted at 13:40:31

三羽四郎二郎 @sampasj

20年9月13日

オープンソースのプログラミング言語「Julia 1.5」がリリース
go.shoeisha.jp/c/asj6aPu1fukP...

タグ:

posted at 13:34:22

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 は公式ドキュメント

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

に「やめろ」と書いてあることをやってしまっても、結構高速に計算してくれます。便利!

しかし、C, C++, Fortranと比較するときには公式ドキュメントに「やめろ」と書いてあることを守っているコードであることを確認してからにするべき。

タグ: Julia言語

posted at 13:24:08

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 続き~仕方が不適切な点を直すだけで倍以上速くなった。本体側の型安定性をチェックしたら全然ダメだったので改善の余地が大きく残っているコードでした。それでも、MATLAB版より30倍以上速い。

明らかに不適切なJuliaのコードの速さをCと比較するのはナンセンスなので注意を要します。

タグ: Julia言語

posted at 13:20:30

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 基本的な事柄についてデタラメを言いまくっている人は元々は経済セミナー誌の連載で使われたJuliaのコードを動かそうとしていたみたいです。

私がやればnightly buildでも普通に動く(笑)

そのコードの1つをチェックしたら、使っているパッケージのstructの定義の~続く twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 13:20:29

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 この手の話題は興味深いコードの紹介がないとつまらないものになりがち。私は

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

github.com/Sacha0/GemmDem...

を紹介した。前者は最適化の試行錯誤の過程まで見せてくれているので貴重だと思います。

論よりコード!

タグ: Julia言語

posted at 12:52:09

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 以上の一見複雑に見えて実は単純な話は、

 CやFortranの方がJuliaより速いと信じている人達は
 どうしてすべてをアセンブラでも書こうとしないのか?

のようにもまとめられると思います(笑)

タグ: Julia言語

posted at 12:47:36

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 現実に高速に計算してくれるコードを試行錯誤で作成するには、LispやJuliaのようにプログラム自体をデータとして扱うことができて、実行可能なコードを自動生成する仕組みを容易に実現できることが必要です。

さらに試行錯誤の過程では適切な気楽に視覚化できることが重要。

タグ: Julia言語

posted at 12:44:22

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語

#Julia言語 宿題の答えでは、マクロによるコードの自動生成によって、誤差の制御と速度の改善を実現しています。試行錯誤が必要なので、最適化にはマクロと視覚化はほぼ必須。

数値計算におけるコードの自動生成の重要性については↓

youtu.be/mSgXWpvQEHE

twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 12:40:43

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 しかし、非常に読み易い宿代の答えの解説

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

の内容を理解すれば、Fortranで同じ最適化をやっていなかった理由も想像できます。アセンブラならさらに大変でしょう(笑)。

タグ: Julia言語

posted at 12:35:32

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 昔ながらのアルゴリズムの改善によって高速化が実現されています。

原理的には(笑)、CやFortranだけではなく、アセンブラでも(笑)可能な最適化です。

その意味では「Julia自体が速い」という話ではありません(笑)。続く

タグ: Julia言語

posted at 12:32:36

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 以前の私は、CやFortranで書かれた特殊函数のライブラリは長年かけてカリッカリに最適化されていると信じていたので、MITでのJuliaを使った講義の宿題の答えを見て非常にびっくりしてしまいました。

Juliaで速くなった理由は「simd」「並列化」のような浅はかな話ではありません!続く

タグ: Julia言語

posted at 12:29:38

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 より複雑な計算の最適化ではどうでしょうか?

私が繰り返し紹介しているMITの講義の宿題の答え(笑)

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

では、scipyなどで使われているFortranで書かれたライブラリの5〜6倍の速さで計算してくれる指数積分函数E₁(z)のJuliaによる実装法が解説されています。

タグ: Julia言語

posted at 12:25:58

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 ちなみに、実験的に、Juliaで行列計算のコードを最適化したら、OpenBLASの9割程度の速さが出た、という話があります。

github.com/Sacha0/GemmDem...

この事実から、単純計算の人間の手による最適化可能性については、JuliaとCやFortranは同じ程度だと考えて良さそうです。

タグ: Julia言語

posted at 12:21:31

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 CやFortranだけではなく、部分的にアセンブラまで使うその手の最適化による高速化は、プログラミング言語そのものの力によって高速化したのではなく、最適化を行った人間が偉いということになると思います。

タグ: Julia言語

posted at 12:17:09

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 実際にコードを書いて実験してみると、異なる言語間でのスピード比較は単純な話にはならないことがよく分かります。

単純な計算(例えば基本的な行列演算)では、アセンブラまで使うタイプの原始的な最適化は効果的です。そのことはOpenBLASやMKLを使うと非常に実感できる。

続く

タグ: Julia言語

posted at 12:14:42

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 Juliaに関する【行列はあるが遅いので使わない方がいい】という発言も、見事に何も分かっていないことを証明している発言だと思いました。

タグ: Julia言語

posted at 12:09:11

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 あと、現代の多くのプログラミング言語では、行列計算をOpenBLASやMKLなどの標準的によく使われている高速なライブラリに任せる仕組みになっていることが多いと思う。

Juliaもそうです。

そのようにしているプログラミング言語間で行列計算の速度に違いはないと考えてよいです。

タグ: Julia言語

posted at 12:09:11

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 は「函数の実行時に just-in-time でネイティブコードにコンパイルして実行する」仕組みです。

実行時に即ネイティブコードまでコンパイルしてくれる環境は他にも沢山あり、現代においては常識の1つでしょう。

www.google.com/search?q=just-...

タグ: Julia言語

posted at 12:04:09

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 引用しない方がよいデタラメは添付画像の通り。ほとんどの文が不適切もしくは間違っている。

【Juliaは速度面で(他のインタープリッタと比較して)圧倒的と言うレベルで高速】の「他のインタープリッタと比較して」の部分だけで、本当に何もわかっていないことが分かる。 pic.twitter.com/c5tyLAusmn

タグ: Julia言語

posted at 11:56:21

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 Amazonでの対処法は見付けていないのですが、Googleでは

地域:アメリカ合衆国

に設定すると検索上位にJulia言語関係のサイトが表示されるようになります。

あと、デタラメな発言は引用しない方がよいです。

twitter.com/kelangdbn/stat...

タグ: Julia言語

posted at 11:53:30

PurPurPurkinje @tak_yamm

20年9月13日

2年くらい前にPythonで書いたのをJuliaに移植した。

compneuro-julia.github.io/chap14/14-1_gr...

タグ:

posted at 11:26:37

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 Julia公式リポジトリでもissueになっています。

github.com/JuliaLang/juli...

タグ: Julia言語

posted at 11:23:30

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 Grisuの削除はPrintfを作り直したことの結果なのですが、その作り直したPrintfが原因でおそらくあちこちで問題が発生しています(注意:安定版ユーザーには無関係の話題!)。

例えば添付画像のようになっていることが原因でOptim.jlでの表示でエラーが発生します。

@ printf "%d" Inf 問題 pic.twitter.com/EMzozrgaQx

タグ: Julia言語

posted at 11:22:30

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 「えっ!Grisu削除しちゃうの!」という悲鳴については

github.com/JuliaLang/juli...

などを参照(笑)

タグ: Julia言語

posted at 11:17:28

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語

Julia v1.5.1のgrisu.jl達を使うようにShowoff.jlを改変したもの
github.com/genkuroki/Show...

これをaddしたならnightly buildのJuliaでPlots.jlが使えています。

タグ: Julia言語

posted at 11:14:47

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 Plots.jl など多くのパッケージで利用されている Showoff.jl が Grisu 依存だという問題。

Julia v1.5.1 からコピーしたgrisu.jl達を使うようにShowoff.jlを改変すればnightly buildでもPlots.jlなどが動くようになります。

github.com/JuliaGraphics/...

タグ: Julia言語

posted at 11:12:10

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語

注意・警告:このスレッドは、普通に安定版のJulia v1.5.1を使っている人には無関係の話題。

nightly buildが不安定なのは当然であり、公式リリースされたJuliaのバージョンが不安定なことを意味しません。

タグ: Julia言語

posted at 11:07:26

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 nightly build の方からGrisuが削除され、Printfの内容が大幅に変わっているせいで、nightly build上では多くのパッケージが動かない状態。

ひっさびさに「開発途中の状態であるnightly buildが不安定なのは当然!」という事実を確認できた。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 11:04:40

峰 宗太郎 @minesoh

20年9月13日

ばぶに言わせればそういう教育の弊害は医学部にも及んでいて、やたらとゴロで覚える人とかいるんですよ👶
#マシュマロを投げ合おう
marshmallow-qa.com/messages/b099a... pic.twitter.com/yslk6jaFcY

タグ: マシュマロを投げ合おう

posted at 10:32:23

S (ツイートはスレッド全体をご確認く @esumii

20年9月13日

ツイッターがリプライツリーどころかスレッドもろくに表示しないので自己引用RTしてるけどリンク間違えて削除&再投稿しまくるアカウント.(すみません…

タグ:

posted at 10:30:58

峰 宗太郎 @minesoh

20年9月13日

それは市役所にたよったのがグッドジョブでしたねぇ👶いいですね
#マシュマロを投げ合おう
marshmallow-qa.com/messages/34c41... pic.twitter.com/Vqaib1iRnP

タグ: マシュマロを投げ合おう

posted at 10:12:51

@masui

20年9月13日

@sekibunnteisuu 「超国語」まで相手にしてられませんね...

タグ:

posted at 08:34:29

monaqa(https://fedib @mo_naqa

20年9月13日

Gitpod + SATySFi を使って,ブラウザからスライドが作れるようにしました.README上のリンクを押せば,Gitpodが使える限り誰でも環境構築の手間なくスライドを作成・編集・プレビューできるようになります(多分).以下は実際にブラウザ上で動かしている様子です pic.twitter.com/muAlgyhl19

タグ:

posted at 08:28:08

積分定数 @sekibunnteisuu

20年9月13日

@masui >「は」が「主語」を表現し、その「主語」が述語に対応しているのが正しいというひどい誤解

そこが今回呆れた点です。ウナギ文など誰でも使っていると思いますがね。

 実際、「主語が箱の中になるから間違っている」という人のツイート見ると、「今日は、忙しかった」とか普通にありました^^

タグ:

posted at 07:01:18

積分定数 @sekibunnteisuu

20年9月13日

「受験生に国語を教えている」という人
twitter.com/okakenized/sta...

タグ:

posted at 06:54:15

積分定数 @sekibunnteisuu

20年9月13日

twitter.com/g7F1Qqa557AcXT...

【「試験の解答として使う文としては適当とは言い難い」という主張の理由となり得る、というのが、私の結論です。】

と言っている。

タグ:

posted at 06:49:27

積分定数 @sekibunnteisuu

20年9月13日

twitter.com/g7F1Qqa557AcXT...

これとか、「日本語教師」を自称する人のツイートだよ。
これに続くツイートで

【私が最初に書いた「正しくない」というのは、不適切な表現でした。申し訳ございません。】と一応撤回しているが、

タグ:

posted at 06:48:42

むううみん @muuumin20

20年9月13日

@genkuroki なるほど、コア部分をマクロでインライン化する事で、関数呼び出しのオーバーヘッドを回避しているみたいですね。

タグ:

posted at 06:48:34

@masui

20年9月13日

@sekibunnteisuu 「僕はウナギだ」「東京は240人」「札幌は雪だ」等々すべて正しい日本語ですが、「は」が「主語」を表現し、その「主語」が述語に対応しているのが正しいというひどい誤解が蔓延してるてことですかね。「箱の中は1個」が間違いだという人は「札幌は雪だ」などと発言しないのかな。

タグ:

posted at 06:44:07

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 a, b, c, d の中身を変更する函数

function f!(a, b, c, d)
a, b, c, d の中身を変更
end

は引数に渡したものの中身しか変更しないので安心。

function f()
グローバル変数a,b,c,dの中身を変更
end

のような函数があると、解読は面倒になり、やっかいごとが増えまくる。

タグ: Julia言語

posted at 03:42:59

黒木玄 Gen Kuroki @genkuroki

20年9月13日

しかし、multiple dispatch の #Julia言語 における函数=メソッドは、ある特定のオブジェクトに属するものではなく、複数のオブジェクトについて(平等に)またがって影響を与えるかもしれないものなので要注意です。

タグ: Julia言語

posted at 03:13:33

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 もしかしたら、

g = My.GlobalData()

に関する

My.rand_dist(g, L)



g.rand_dist(L)

と書いて、「オブジェクトg内部のデータをrand_distメソッドで更新する」と読んだ方がわかり易いと感じる人も結構いるかもしれません。

タグ: Julia言語

posted at 03:10:14

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 以上では struct 内の配列の内容が変えられることを使っています。

struct 内の Int や Float64 は変更不可能なので、変更したい場合には mutable struct にすればよいでしょう。

内容が更新されるものを詰め込んだstructもしくはmutable structがある方がコードは読み易くなります。

タグ: Julia言語

posted at 03:03:58

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 どの過程でも、グローバル変数gに格納されたデータが My.rand_dist!(g, L) (ランダム分配の繰り返し) の形で行われています。

ソースコード↓

gist.github.com/genkuroki/05b9...

タグ: Julia言語

posted at 03:00:06

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 @ recipe でデータの型のプロットの仕方も定義しています。GIFアニメも作りました。

初期条件は1000人の資産分布が平均1の一様分布。

「その後はランダムに誰かの資産の3%を取り上げて別の人に配る」を繰り返しています。

不平等な一様分布がある程度平等な分布に近付く。 pic.twitter.com/YULPjCTiyu

タグ: Julia言語

posted at 02:58:08

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 そのように書くことによってコードを書く分量が増えすぎるならば問題ですが、実際にはそうなりません。具体的な例をリンク

gist.github.com/genkuroki/05b9...

と添付画像で示しておきます。

g = My.GlobalData() で変更可能なデータを用意し、My.rand_dist!(g, L) で内容を更新しています。 pic.twitter.com/z99WiJ3tvJ

タグ: Julia言語

posted at 02:53:08

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 私ならば

g = (変更可能なデータを作成)

function foo!(g)
gの内容を変更
end

function bar!(g)
gの内容を変更
end

の形式で書きます。foo!, bar! は引数の内容を変更する函数で、内容を変更したいデータを格納した変数は常にそういう函数に引数として渡すことによって変更。

タグ: Julia言語

posted at 02:49:39

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 異なる函数間の情報の共有を、グローバル変数gを

g = ~

function foo()
グローバル変数gを変更
end

function bar()
グローバル変数gを変更
end

の形式で使って行うと、速度的劣化を防ぐのが難しくなります。

私ならばこのようには書きません。続く

タグ: Julia言語

posted at 02:46:27

kashi @mkashi

20年9月13日

Julia先生に有理数でお願いしてみたら、m=11で12sec、m=12で144secだった。m=16には届きそうもない。

タグ:

posted at 01:34:30

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語 型安定性に欠けたコードであってもMATLAB版の30倍以上速くなっているのは、Juliaさん、立派です。

おそらく、普通に @ code_warntype でAnyが出なくなるような書き方にすれば、さらに速くなると思います。

@ code_warntype による確認は非常に重要。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 01:22:48

Tom Kwong @tomkwong

20年9月13日

Using CSV.jl to read large files? Make sure that you have set up multi-threading with the JULIA_NUM_THREADS environment variable. And then it goes like a ROCKET!
#julialang #DataScience #CSV

タグ: CSV DataScience julialang

posted at 01:21:36

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語

github.com/keizai-seminar...
『経済セミナー』「定量的マクロ経済学と数値計算」
連載第8回(2・3月号)
Julia版のノートブック

の型安定性を @ code_warntype で確認してみましたが、見事にAnyのまっかな表示が!

やはり、グローバル変数で函数間の情報のやり取りは鬼門の1つのようだ。

タグ: Julia言語

posted at 01:18:25

kashi @mkashi

20年9月13日

これ、m=25はdouble-double intervalみたいな飛び道具が必要なので、doubleの範囲で何とかしようとしてみた。普通に書くとm=16が限界でm=17は決定不能になるが、ちょっと工夫するとm=17, m=18はうまく計算できた。なお有理数計算ではm=16くらいでも計算量的に厳しいはず。

タグ:

posted at 01:13:14

(「・ω・)「ガオー @bicycle1885

20年9月13日

あと原著のプレプリント?は公開されてる。
terrytao.files.wordpress.com/2011/01/measur...

タグ:

posted at 00:13:13

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語

私のようなパッケージの開発者ではないライトユーザーであっても、パッケージをインストールするときのパッケージマネージャーの表示から、様々なパッケージを他のパッケージが気軽に利用している様子が見えます。

ある種のやり方に過学習してしまうと見えない世界があるのだと思う。

タグ: Julia言語

posted at 00:12:10

(「・ω・)「ガオー @bicycle1885

20年9月13日

原題は"An Introduction to Measure Theory"だから測度論と積分論の入門で、別にルベーグ積分に限った話ではない。

タグ:

posted at 00:12:04

黒木玄 Gen Kuroki @genkuroki

20年9月13日

#Julia言語

少なくともJuliaの開発者達は、Juliaで書かれた沢山のパッケージ間の相互利用が非常にうまく行っていると考えていると思います。

Julia言語において、パッケージの開発者間のコミュニケーションのコスパは非常によいと思われます。

続く twitter.com/taleofduckedon...

タグ: Julia言語

posted at 00:07:23

積分定数 @sekibunnteisuu

20年9月13日

今回の件、国語の専門家や言語学関係の人は何か言っているのかな?

「『箱の中に飴が4個入っています。3個食べると、箱の中は1個になりました。』だと、主語は『箱の中』になるので文法的に間違い」

と言う人が多数いるのは、

国語教育の失敗に思えるけど、どうなの?

タグ:

posted at 00:05:58

Yukihiro Matz @yukihiro_matz

20年9月13日

@miura1729 コンピューターの性能向上でカバー(1980年代のようなことを言う)

タグ:

posted at 00:02:56

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

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

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

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

送信中

送信に失敗しました

タグを編集しました