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月10日
並び順 : 新→古 | 古→新

2020年09月10日(木)

Tom @tomtom_tom3

20年9月10日

子供全員がマスクをすることで、当然ストレス症状を呈する子供も出てくるんだけど、ストレス反応の子供と、RSのゼーゼーとか風邪やインフルエンザからの脳炎・心筋炎のどちらが重篤感があり、医療費にも影響するかというのを考えると、後者の方を減らしたい、とは思うよね。

タグ:

posted at 23:34:03

@Miyaran99

20年9月10日

昔Pythonで書き散らした分析用コードをJuliaでリファクタした後に処理速度でニヤニヤするの楽しい。

タグ:

posted at 23:30:04

神草 経知 @keiji_dl

20年9月10日

これから学ぶなら、 #Python #Javascript ですよね!

#Julia も気になるところです。
そもそも、単純なWebアプリやサイト作成、自動化なら、ノーコードで #Bubble#Zapier#Adalo という選択肢もありますね。

言語バリアのある #Bubble を英語なしで始められます!
www.amazon.co.jp/dp/B08FZKTYHL/ twitter.com/tech_world18/s...

タグ: Adalo Bubble Javascript Julia Python Zapier

posted at 23:10:25

大石雅寿 @mo0210

20年9月10日

@Historyoflife 松本氏が宇宙太陽光発電衛星をやろうとしていた頃、私はある国際学会で電波天文への影響について話してくれと頼まれて講演した。直後に松本氏がやってきて「電波天文は月の裏に行けば良い。我々は人類全体のためにやっている。」と言った。私は「では月の裏に電波天文台を建設して下さい」と返答した。

タグ:

posted at 22:44:22

Flavon @Flavon6

20年9月10日

バイバイ Python。 ハロー Julia! qiita.com/baby-degu/item... #Qiita

タグ: Qiita

posted at 22:22:32

Shuhei Kadowaki @kdwkshh

20年9月10日

宣伝は、、、今の実装でトップレベルの実行をシミュレートするためにめちゃくちゃhacky(dirty)なAST操作をしたりとか、実行速度が遅かったりとかまだちょっと問題ありなので、その辺改善して満足できたらやろうかな…
とりあえずいまはただの落書きです。

タグ:

posted at 22:04:02

Shuhei Kadowaki @kdwkshh

20年9月10日

そうです!
抽象解釈は実際に実行されないところも見るのでもしかしたらデッドコードなだけなのかもしれませんが、この`z`が未定義変数であるのには変わらないので、いずれにしてもfixされるべきものですね :)

(興味ある方いたらここです github.com/JuliaPlots/Plo...) twitter.com/genkuroki/stat...

タグ:

posted at 22:00:11

Stefan Karpinski @StefanKarpinski

20年9月10日

@erikengheim @munificentbob In dynamic languages with type annotations, the types are often just normal code so if the parser sees < it might be a less than operator, so you can’t use that syntax for type parameters like you can in static languages (even there it causes a lot of parsing headaches)

(2/2)

タグ:

posted at 21:56:03

万博@盲学校マジック @bampaku

20年9月10日

子供が教師に迎合する必要はない。

タグ:

posted at 21:51:07

Stefan Karpinski @StefanKarpinski

20年9月10日

@erikengheim @munificentbob I think they just want things to look like C++

In many static languages, there’s are places where the parser knows a type must occur next and comparisons can’t occur in types because they have special syntax, so if it sees < there it must be introducing a type parameter

(1/2)

タグ:

posted at 21:50:48

Tom @tomtom_tom3

20年9月10日

今まで「○○病なら○日休んで治癒証明もらいましょう」みたいなことをずっとやってて、毎年風邪が流行してたわけだけど、検査しなくても、治癒証明なんてなくても、行動変容でここまで風邪か減るわけよ pic.twitter.com/lnBCxCwmCz

タグ:

posted at 21:50:16

なかむら @kenchi8n

20年9月10日

ついに数値データが出てきた

都心オフィス賃料、6年ぶり下落 空室は3%台、在宅拡大で解約(共同通信)
#Yahooニュース
headlines.yahoo.co.jp/hl?a=20200910-...

タグ: Yahooニュース

posted at 21:49:28

りゅうりゅう@VBAer × ココナラP @blacklist_ryu

20年9月10日

@okinawa__noodle juliaって言語のサイト見てると、pythonは遅いってよく見かけますが、ホントですか?💦

タグ:

posted at 21:42:08

積分定数 @sekibunnteisuu

20年9月10日

@musicisthebest_ @VEDAMachine 「ちがいはいくつ」って、相違点がいくつあるか?という意味にとってしまいそうですよね。

タグ:

posted at 21:29:32

k @musicisthebest_

20年9月10日

@VEDAMachine 「のこりはいくつ」はまだ日常で使えますが「ちがいはいくつ」は不自然さが否めないし「もとにする量」にいたってはもはや誰か口にすることがあるのかレベルに。

タグ:

posted at 21:07:03

うえだましん @VEDAMachine

20年9月10日

@musicisthebest_ 「のこり」って「超算数用語」なんですね…(ハァ…

もう…アレじゃないですか…
私立の「超算数学校」でも作ってその中だけでやっててくれませんか?って世界ですね…

厳格な「信仰」を強いられる家庭の子供がおかしな言葉遣いをするようなもんですね…
(「神理」とかね…

タグ:

posted at 21:02:39

ゆうき まさみ @masyuuki

20年9月10日

美しい!ヽ( ´▽`)ノ twitter.com/hdanchiano/sta...

タグ:

posted at 19:54:08

Tom @tomtom_tom3

20年9月10日

人工呼吸することもあるRSが減ることは小児科医にとって喜ばしいこと。だから、このRSが流行らない現状の対策を続ける方がいいのでは、と小児科医なら当然考える。その対策は「休校、鎖国、マスク手洗い」のどれかであることは確実。このデータを見て小児科医はそれを捨てられるか?

タグ:

posted at 19:26:22

eval parse @evalparse

20年9月10日

Julia syntax quiz: From a fresh session, what will the last line print?

fn(x,y; a=1) = x+y+a

fn(x,y; a=1, b=1) = x+y+a+b

fn(1, 1; a = 1)

#julialang

タグ: julialang

posted at 19:13:06

kajyuuen @kajyuuen

20年9月10日

Introduction to Julia (2017) youtu.be/4igzy3bGVkQ @YouTubeより

Julia、配列のindexが1始まりという噂を聞いて避けていたけど触ってみたくなってきた

タグ:

posted at 19:11:34

Koji Saito @KojiSaito

20年9月10日

何気に重要&興味深い話。

同じ実装を Fortran と Julia で使うしかない気がします。
メルセンヌ・ツイスタは Fortran 版があるし、Julia は C 版を FFI で呼ぶ…とか(使う時は種を同じにして)。

MT の実装は全部整数演算なのだろうか?
途中で浮動小数点演算とか入っているとややこしそう。 twitter.com/cometscome_phy...

タグ:

posted at 18:47:46

Tom @tomtom_tom3

20年9月10日

しかし、「新コロが収束したら…」とか言ってるけど、他の風邪がすでに収束して新コロだけ残ってる現状で、「新コロだけが収束して他の風邪が例年のようにぶり返す」とか、そんな都合のいい話があり得るのかね…

タグ:

posted at 18:05:19

Tom @tomtom_tom3

20年9月10日

「迅速検査やってない」という意見もあるけれども、検査に関わらず新コロが流行れば、重症化した高齢者が増えて必ず病院に来るように、RSが流行れば重症化した乳児が必ず病院に来るはずだが、来ないのでやっぱり流行ってない。

タグ:

posted at 17:52:09

積分定数 @sekibunnteisuu

20年9月10日

これは誤解。これは、#超算数 の問題。
こんな採点、国語としても算数としても間違っている。 twitter.com/ginroh567/stat...

タグ: 超算数

posted at 17:38:11

積分定数 @sekibunnteisuu

20年9月10日

@uochumeinan 失礼します。説明する必要はありません。というか、採点が間違っていて答案は正しいので、この採点を正当化する説明はできません。

「これは正解だよ。〇だよ」と言ってあげるのがいいでしょう。下手に「先生の〇をもらうにはどうしたらいいか」とやりだすと、将来のつまずきになりかねません。

タグ:

posted at 17:36:07

積分定数 @sekibunnteisuu

20年9月10日

この採点を擁護する人が複数いるんだ!
すげーな twitter.com/uochumeinan/st...

タグ:

posted at 17:16:05

黒木玄 Gen Kuroki @genkuroki

20年9月10日

計算が重くならないなら、統計がらみのシミュレーションでは #R言語 も非常に良い選択肢だと思うし、言うまでもなく、#Python もよい選択肢だと思います。

理解のためのモンテカルロシミュレーションを実際にやってみることの方が「道具の選択」よりも重要であることは言うまでもないことです。

タグ: Python R言語

posted at 17:00:08

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#数楽 例えば、高校数学IIIで

∫x² e⁻ˣdx を求めよ

という問題を出されたら

∫e⁻ˣdx
∫x e⁻ˣdx
∫x² e⁻ˣdx
∫x³ e⁻ˣdx
∫x⁴ e⁻ˣdx


を上から順番に求めて行った方が楽だし、得られる理解も段違いになる!

タグ: 数楽

posted at 16:19:42

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#数楽 数学教育的には

* 学校での定期試験の数学の点数を気にしちゃダメ。

* 実際にひどい問題も出されている。

* 理解することだけを気にしていればよい。

* 問題を解く極意は「〇〇を求めよ」と書いてあったときに、要求されていない〇〇以外のモノも「全部」求めてしまうことである。

が大事。

タグ: 数楽

posted at 16:19:41

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#数楽 WolframAlpha.com を使う場合にも「高校数学III」の知識は「不完全ガンマ函数」(の特別な場合)が出て来たときに役に立つ。

数学がよくできる高校生は将来的に「不完全ガンマ函数について高校の教科書に書いてあった!」と__自力で__思いつくように育てて欲しいと思います。(自力大事)

タグ: 数楽

posted at 16:09:55

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#数楽 不完全ガンマ函数(の特別な場合)については高校数学IIIで習っているはず。😊

証拠は添付画像。 twitter.com/minami_suiha/s... pic.twitter.com/Npc3RGbgqu

タグ: 数楽

posted at 16:02:50

Tomoya TENDO @end_tt

20年9月10日

6枚の紙を組み合わせて作るカレイドサイクル
#Kaleidocycle pic.twitter.com/HAQODfgcXt

タグ: Kaleidocycle

posted at 16:01:46

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 doc stringの例

数式入りのdoc stringは次のように書ける。

@ doc raw"""
logabszeta(s) はRiemannのゼータ函数の絶対値の対数

```math
\operatorname{logabszeta}(z) = \log|\zeta(s)|.
```
"""
logabszeta(s) = log(abs(zeta(z)))

nbviewer.jupyter.org/gist/genkuroki... pic.twitter.com/9horlmQdwv

タグ: Julia言語

posted at 15:36:10

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

Juliaへの理解が十分なら、函数の引数の型を書いても害はなくなる。

しかし、理解が進んだせいで、函数の引数の型を書かなくなる場合が増えると思う。

函数の仕様についてはdoc stringを書くべきだと思います。

"""
函数f(x)と引数xの説明
"""
function f(x)

end

タグ: Julia言語

posted at 15:30:49

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

❌ 函数の引数の型をしっかり書いた方が安全になる。
⭕️ 安全にならない。

むしろ危険になる場合さえある。

❌ 函数の引数の型宣言をした方が計算が速くなる。
⭕️ 速くならない。

JITコンパイルでは、函数の引数の型を書かなくても、コンパイラは函数の引数の型を全部知っている。

タグ: Julia言語

posted at 15:26:38

黒木玄 Gen Kuroki @genkuroki

20年9月10日

あと、統計学的概念のスッキリした記述には線形代数が必須。

理解を深めるためには線形代数が自然に使えるようになっている環境でプログラムを書いた方がよい。

例えばGauss過程回帰も #Julia言語 ならばせいぜい十数行あれば書ける。

結論:満足できそうな合理的選択は #Julia言語 ほぼ一択。

タグ: Julia言語

posted at 15:17:09

黒木玄 Gen Kuroki @genkuroki

20年9月10日

統計の数理を気楽に理解するコツは、統計分析用のコードのテストをモンテカルロシミュレーションで確認すること。

疑似データをランダムに大量に生成して、疑似データからの推定結果の分布をプロットしてみることが典型的な作業。

これ、計算量が増えるので、高速なプログラム言語が必須です。

タグ:

posted at 15:13:10

黒木玄 Gen Kuroki @genkuroki

20年9月10日

あと、統計がらみの計算は複雑な場合が多いので、プログラムのコードだけから、何をやっているかを理解するのは難しい場合が多い。

教科書にあるような数式を使ったアルゴリズムの説明がないと後でコードを読み直したときに非常につらい思いをすることになる。

タグ:

posted at 15:10:37

黒木玄 Gen Kuroki @genkuroki

20年9月10日

グラフの多彩な形式の歴史は統計学の歴史そのものだと言っても言い過ぎにならないほど、統計学全般においてグラフは重要だと思う。

統計がらみのコードを書く場合には、グラフのプロットまで一挙に書いてしまった方が理解が進む。

しかし、グラフのプロットの仕方を学ぶコストは高いので要注意。

タグ:

posted at 15:08:51

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 Jupyter notebookでの使用例

添付画像

1. ギリシャ文字αを使用。doc stringも書いてある。

2. ヘルプでdoc string中の数式がきれいに整形されて表示される。きれいな数式は後で見直したときの最理解を円滑にしてくれる。

3, 4. 理解の助けになるプロット。

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

タグ: Julia言語

posted at 15:03:02

黒木玄 Gen Kuroki @genkuroki

20年9月10日

これはほんとの話。
最も効率の良い投資かも。
人生の楽しみも増える。 twitter.com/hyuki/status/1...

タグ:

posted at 14:53:52

結城浩 / Hiroshi Yuki @hyuki

20年9月10日

『コンピュータの数学』から離れて、一般的な話になりますが、プログラミング関連を学ぶ上で、良い本にはお金を使って損はありません。私が本を書いているから言うわけではありませんが、本ほどコスパがいいものはなかなかありません。

タグ:

posted at 14:47:27

池田 岳 @gakuikeda1109

20年9月10日

そんなだから行と列も覚えられなかった💧 twitter.com/gakuikeda1109/...

タグ:

posted at 14:39:54

黒木玄 Gen Kuroki @genkuroki

20年9月10日

そのおかげで #Julia言語 では変数名に μ, σ², φ, x₀, X̅, θ̂, …などを使用した「まるでアルゴリズム説明用の疑似コード」に見えるプログラムを書いて、そのまま実用的に動かすことができる。

自分で書いたコードを教育でも利用したい人にとっては大きなメリットだと思われる。

タグ: Julia言語

posted at 14:34:39

黒木玄 Gen Kuroki @genkuroki

20年9月10日

最近のプログラミング言語ではユニコードを変数名や函数名に使えるようになっているが、 #Julia言語 のように任意の言語圏のコンピュータ環境でも入力できるようにしてくれているものは珍しい。(Julia以外にある?)

タグ: Julia言語

posted at 14:30:10

黒木玄 Gen Kuroki @genkuroki

20年9月10日

目標がプログラミング自体ではなく、アルゴリズムの理解やシミュレーションによる統計数理の理解であるならば、気楽にかつシンプルにコードを書けて、線形代数に強く、計算が速くて、グラフのプロットが易しい環境でプログラムを書くべきだと思う。

この条件だと、#Julia言語 ほぼ一択。

タグ: Julia言語

posted at 14:28:04

Hiromitsu Takagi @HiromitsuTakagi

20年9月10日

www3.nhk.or.jp/news/html/2020...

会見用質問案(ご自由に)

Q1 資金移動業者として犯罪収益移転防止法に基づく本人確認はどのように行なっているとの認識でしたか?

(想定回答)口座振替の銀行登録をすることによって本人が確認されているとしていた。

Q1-2 口座振替を利用するにあたって、…

タグ:

posted at 14:24:01

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#統計 #Julia言語 P値を計算する函数が実装済みなら、信頼区間函数の実装は

ci(n, k, α) = find_zeros(p -> pval(n, k, p) - α, 0, 1)

の1行で終わることは注目に値する。この事実は統計学入門の教科書を見ても出て来ない。

一般に統計学入門の教科書における信頼区間の説明はひどい。

タグ: Julia言語 統計

posted at 14:23:44

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 二項検定のP値と信頼区間のコード

using Distributions, Roots

⪅(x, y) = x < y || x ≈ y

pval(n, k, p) = let bin = Binomial(n, p); sum(pdf(bin, j) for j in 0:n if pdf(bin, j) ⪅ pdf(bin, k)) end

ci(n, k, α) = find_zeros(p -> pval(n, k, p) - α, 0, 1)

たったの4行! pic.twitter.com/eSXxfKGWm2

タグ: Julia言語

posted at 14:20:33

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#宮城県 ゆうちょ銀行、七十七銀行、仙台銀行を使っている人も危険にさらされているので要注意。添付画像は

docomokouza.jp/detail/bank_li...

より。 twitter.com/satodainu/stat... pic.twitter.com/7x0CW0grt9

タグ: 宮城県

posted at 14:03:54

大' @satodainu

20年9月10日

ドコモ口座で一体何が起こったのか、一番わかり易いのはこれかな。引用したツイートでは画像を置いてるけど、オリジナルはこのURLにある(表示順が変だけど)。
news.yahoo.co.jp/profile/user/t...
銀行口座を持ってれば誰でも被害者になり得る。ドコモ口座を一杯作ればパスワードはそのうち当てられる。 twitter.com/no_sakumotsu/s...

タグ:

posted at 13:47:46

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 以下の特徴があるので、Juliaがベスト。

* 気楽にアルゴリズムを実装できる。

* 速い。

* Jupyter notebook化すれば数式を含む解説文とコードとプロットを1つのファイルにまとめられる。

* パッケージ化が容易。

* 他言語との連携によって例えばPythonやRでも使えるようにできる。 twitter.com/tkow39/status/...

タグ: Julia言語

posted at 13:45:31

buvery @buvery

20年9月10日

ドコモ口座と提携している銀行リストはこちら。

docomokouza.jp/sp/bank_list.h...

タグ:

posted at 13:27:34

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 なるほど! sprint(f, x...) はそういう仕組みか。

gist.github.com/genkuroki/238d...

github.com/JuliaLang/juli...
(::Function はない方がよいのだが、結構見つかる) twitter.com/MathSorcerer/s... pic.twitter.com/uap32ChFhn

タグ: Julia言語

posted at 13:20:10

ぜく @ystt

20年9月10日

Julia の Plots で極座標プロットしたときに動径を対数スケールにする方法が分からない。Matplotlib だと set_rscale でできるんだけど。

タグ:

posted at 12:58:10

Chuui @es_chuui

20年9月10日

@akhdhys @antimon2 ありがとうございます。
言葉は少し訂正して、クラスというより「継承ベースのオブジェクト指向」ですね、Pythonや他の言語は。
ただ、JuliaやRustはクラスの構文自体がなくて、これってプログラミング界のパラダイムシフトだなあ、と。(← 昔からある概念だが、最近復活してきた感。)

タグ:

posted at 12:39:42

てらモス @termoshtt

20年9月10日

まず乱数列をファイルに書き出します…(´・ω・`)

タグ:

posted at 12:27:11

Yuki Nagai @cometscome_phys

20年9月10日

あ、Fortranのrandを呼べばいいのかな。でもどうやって…

タグ:

posted at 12:26:46

Yuki Nagai @cometscome_phys

20年9月10日

FortranとJuliaで同じ乱数列を出すにはどうすればいいんだろ

タグ:

posted at 12:26:25

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 訂正

❌ メモリ割合
⭕️ メモリ割当 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 12:26:11

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 「型をしっかり書けばより安全になる」のは型付けの整合性をコンピュータが自動的にチェックしてくれる場合に限ります。

そうでない場合に一所懸命型を書いても全然「安全」にはならない。

この辺についても誤解があるように思えます。

単純パターンマッチ思考の過学習は常にまずい。

タグ: Julia言語

posted at 12:21:46

千葉 雄登 Yuto Chiba @ForzaYuto

20年9月10日

「大麻の薬理作用でこれといった健康被害は生じていないのに、刑罰や社会から与えられるスティグマやバッシングによって人生が台無しになっている」

松本俊彦先生のこの指摘は非常に重い。

過剰な報道、感情論によるバッシングは、そろそろやめるべきでは。
www.buzzfeed.com/jp/naokoiwanag... @nonbeepanda

タグ:

posted at 12:19:39

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 これ、何が困るかというと、@ viewマクロを付けていない段階ではまともに動いていたものが、付けた瞬間に動かなくなること。

そういう誤りを犯すのはJuliaの初心者だと思うので、実際にそういう目に会うと、ひどく困惑してしまうでしょう。(実際に私は困惑した)

タグ: Julia言語

posted at 12:15:58

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 例:配列から部分配列を抜き出すときに、新たに配列を作らずに、SubArrayという新しい型を作って、ユーザー側には新たに配列が作られたように見せることができる。(@ view)

SubArrayはArrayではないので、引数の型をArrayとした函数は使えなくなります。(私は実際にそういう失敗をした)

タグ: Julia言語

posted at 12:13:44

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 で激しい計算をやらせたことのある人は、速度低下の主要な原因の1つが「無駄なメモリ割合」であることを知っているはずです。それを回避するには何らかの遅延評価をするようにすればよいのですが、見た目的に同じ形式でのアクセスを許すために「別の型」を利用することが多い。続く

タグ: Julia言語

posted at 12:13:44

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 「函数の引数の型が他の変数の型に伝搬するように書くこと」を実践していれば、函数の引数の型を書かないことによって生じる危険はほぼないです。

しかし、Juliaに関する理解が十分でないのに函数の引数の型を書くと、後で最適化のためのコードの変更時に困ることになることが多いです。

タグ: Julia言語

posted at 12:13:43

K.B.砂糖 @KB_satou

20年9月10日

JuliaのSlackに参加すればつよつよな人の知見とか参考にできるんだろうけど、心理的ハードルが高い(とつぶやき反応を集めることでハードルを下げようとする姑息な作戦)

タグ:

posted at 12:10:42

KTYD @KTYDRCB

20年9月10日

@genkuroki ありがとうございます!精読いたします!

タグ:

posted at 12:04:24

黒木玄 Gen Kuroki @genkuroki

20年9月10日

@akhdhys #Julia言語 の開発者達は「やった方がよいことはたくさん残っているが、人手が足りてないので、優先順位を決めなければいけない」のようなことをよく言っています。

毎年のユーザーアンケートに沿って優先順位を決めているようにも見えるので、私はそのアンケートには真面目に回答しています。

タグ: Julia言語

posted at 11:38:17

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 => や (:) はconstとして定義されています。他にもたくさんある!見た目をそういう方法でいじっている。

diagmの定義は

github.com/JuliaLang/juli...

で閲覧できます。

Juliaのソースコードは全公開されていて、大部分がJuliaで書かれているので読み易いです。読めば疑問は瞬殺される。 pic.twitter.com/aaHNlKvdej

タグ: Julia言語

posted at 11:32:44

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 => の定義は本質的に

struct Pair{A,B}
first::A
socond::B
end
const => = Pair

でしかありません。Pair(a, b)を a => bとも書けるようにしてあるだけ。そして、diagmがPair型のオブジェクトに対して定義されているだけ。

diagmの定義の引用に続く

github.com/JuliaLang/juli... twitter.com/ktydrcb/status... pic.twitter.com/G1fZKdoUE6

タグ: Julia言語

posted at 11:32:41

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 続き~、using Myすると、Myモジュール内で MyType, FooType, f の名前でアクセスできる対象に、using My したモジュール(=名前空間)内から、MyType, FooType, f の名前で(My.を付けることなく)アクセスできるようになる。

module, usingにはたったこれだけの意味しかない。

タグ: Julia言語

posted at 11:09:21

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

module My
struct MyType end
using Foo: Foo, FooType, f
export MyType, FooType, f
Foo.f(x::MyType) = ~
end

とすると、

* Myモジュール内で Foo.FooType, Foo.f に FooType, f でアクセス可能になる。

* export MyType, FooType, f してあるので、~続く pic.twitter.com/15Q2Iz7RfJ

タグ: Julia言語

posted at 11:09:21

非公開

タグ:

posted at xx:xx:xx

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

Fooモジュールのfがexportされていなくても、

using Foo: Foo, f

とすると、Foo.f に f という名前でアクセスできるようになります。しかし、

f(x::MyType) = ~

の形式で Foo.f をオーバーライドできず、

Foo.f(x::MyType) = ~

の形式でそうする必要があります。 pic.twitter.com/XisGdfADLW

タグ: Julia言語

posted at 11:01:06

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

注意: Fooモジュールのfがexportされていないとき、

using Foo: Foo
f(x::MyType) = ~

とすると、using Foo, f したモジュール=名前空間に、Foo.f とは別の f が定義されます。

moduleは「単に名前空間を区切る道具」なのでこれは当たり前ですが、要注意だと思う。 pic.twitter.com/CEzRlzXDOA

タグ: Julia言語

posted at 11:01:04

KTYD @KTYDRCB

20年9月10日

LinearAlgebra.diagm()は対角行列を作れるらしいのですが、=>という演算子で配置位置をシフトできるよう。
helpモードで=> を調べたところ、Pair Objectというものらしいのだが、使い方と、なぜdiagmがこれでシフトできるのか、いまいちわからず。。そういうもんだ、でもいいんだけど。#julia言語

タグ: julia言語

posted at 10:56:41

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 訂正 Foo が抜け落ちていた

❌ using: Foo, f
⭕️ using Foo: Foo, f twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 10:49:23

ごまふあざらし(GomahuAzaras @MathSorcerer

20年9月10日

using はエンドユーザーが使う感じの理解
(ここら辺の疑問は既にJulia の FAQ でも紹介されている) twitter.com/KB_satou/statu...

タグ:

posted at 09:48:43

eval parse @evalparse

20年9月10日

TIL the `mod1` function from @opensourcesblog

It makes modulo arithmetic much easier for 1-based-index languages.

#julialang pic.twitter.com/r0c9r88mES

タグ: julialang

posted at 09:46:22

PAW @akhdhys

20年9月10日

@genkuroki 実質cooからcscへの変換であるsparse関数が用意されているのにcooが型としては用意されていないのは何か意図的なものを感じていたのですが、案外そんなものでしょうか

タグ:

posted at 09:13:24

あ〜る菊池誠(反緊縮)公式 @kikumaco

20年9月10日

安倍政権で雇用は大きく増えたよということ。やっぱり消費税増税が悪かったね twitter.com/iida_yasuyuki/...

タグ:

posted at 08:45:17

畠山勝太/サルタック @ShotaHatakeyama

20年9月10日

エリート大学の効果とは?というお話。エリート大学に行っても学力が上がるわけではないのに、賃金だけ上がるという。英米の高校についても似た手法で同じラインの結果を出した研究があって、Elite Illusionはインドの大学でも見られるんだ!という面白さ(続)
www.economist.com/graphic-detail...

タグ:

posted at 08:31:21

飯田泰之 @iida_yasuyuki

20年9月10日

なにかと論争になる多い実質賃金.

平均賃金では減少は言い過ぎだけど,伸びは雀の涙なのも確か.大して賃金上がってないなかで増税してるんだから,これは人災.

事務系40代・50代は多分低下.賃金カーブのフラット化とデジタル化,景気がサービス業・製造業主導なことが理由か.

タグ:

posted at 07:25:01

飯田泰之 @iida_yasuyuki

20年9月10日

雇用激増
実質賃金横ばいか微増
(消費税なければ明らかに上昇!って言えたのに)

家計所得伸びたのに消費が全然だめなのは家計の期待転換が達成できなかったためか?

次の総理の大きな課題に

gendai.ismedia.jp/articles/-/754...

タグ:

posted at 07:03:50

yuko @YUK0_0725

20年9月10日

@808Towns 35mの波って、津波じゃん?ってコメントが多いんだけど、普通の波と津波は構造が全然違います
波は風で水面が上がったもので、波長が短い
津波は地震のプレートの動きで水面が上がってるので波長が桁違いに長い。襲ってくる水の量が全然違います
学研の漫画サイエンスの知識…意外と知らない人多い pic.twitter.com/hghCXYOBMa

タグ:

posted at 06:43:42

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 答え:長時間の計算の結果、「メソッドが見つかりません」とエラーを出して終わる。

@ view a[:,:,end] は SubArray になり、Matrix{T} = Array{T, 2} にならないので、f(x::Matrix{Float64}) は使用できず、return f(@ view a[:,:,end]) を実行できなくなる。

タグ: Julia言語

posted at 04:38:31

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

問題:

function f(x::Matrix{Float64}) ~ end

と定義されたf(x)を別の長時間の計算時間を要する函数の最後で

return f(a[:,:,end])

と使っていた人が @ view をつければメモリ効率が良くなることを知って

return f(@ view a[:,:,end])

に書き換えるとどうなるか?

タグ: Julia言語

posted at 04:35:15

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 Baseモジュールの四則演算に自分で定義した型の四則演算を追加したい場合には、promoteやpromote_typeの使い方も理解しておいた方が良いです。Juliaのリポジトリにあるソースコードを検索すればすぐに使い方が分かる。

ユーザーに気楽に使ってもらえるような設定を細かくできます。

タグ: Julia言語

posted at 04:19:03

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 というわけで、Base.:+ の形式のメソッド(Base.:+ と + の実態は同じ)を追加したい場合には、

Base.:+(x::MyType, y::MyType) = ~

の形式で行えばよいと思います。

別の例↓では実際にそうしています。 twitter.com/genkuroki/stat...

タグ: Julia言語

posted at 04:15:32

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 usingだけしか使っていないならば、Foo.fの形式のメソッドを

Foo.f(x::MyType) = ~

の形式で追加できても、

f(x::MyType) = ~

の形式では追加できません。個人的には当然そうであって欲しいです。しかし、import Foo: f してあると、できるようになってしまいます。

タグ: Julia言語

posted at 04:11:30

Hiroyasu Kamo @kamo_hiroyasu

20年9月10日

→等式にこの四つの性質があることも、この四つを使えば一次方程式が解けることも正しい。つまり、数学的な間違いはありません。ところが、数学教育的に重要な「等式の両辺に同じ操作を施した結果は等しい」がまるっと欠けているので、「とりあえず、この四つを覚えておけ」との誤解が誘発されます。→

タグ:

posted at 04:10:55

Hiroyasu Kamo @kamo_hiroyasu

20年9月10日

「数学的に間違ってはいないが数学教育的には不適切」の例が『中学校学習指導要領解説』(≠学習指導要領)数学第3節「各学年の内容」第1学年A「数と式」にあります。「等式の性質」の節に列挙されている等式の四つの性質です。www.mext.go.jp/component/a_me... 75頁。→

タグ:

posted at 04:10:54

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 一般にFooモジュールのFoo.f函数が見えていれば、いつでも

Foo.f(x::MyType) = ~

とできます。Baseモジュールの中身は最初から見えているので、どこでもいつでも

Base.:+(x::MyType, y::MyType) = ~

のようなことをできます。続く

タグ: Julia言語

posted at 04:05:56

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 using Myすると、Myモジュールでexportされている名前達がMy.抜きで見えるようになります。 pic.twitter.com/gZdI8vo5oB

タグ: Julia言語

posted at 04:02:53

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 Myモジュールが読み込まれた時点で、Myモジュールの中身はMy.*の形式で見えています。My.は略せないが、期待通りの結果が得られる。 pic.twitter.com/c0BVQT3Tmt

タグ: Julia言語

posted at 04:01:30

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 上の using Foo: Foo, f は using Foo: Foo で十分ですが、f(x)とFoo.f(x)が違うものになってしまって混乱し易いです。添付画像のようにエラーが出た方がうれしい。

MyモジュールでFoo.fが見えていれば、

Foo.f(x::MyType) = "Mine"

と定義できます。右辺にxがないので左辺のxは略せる。 pic.twitter.com/AGQdg9QICn

タグ: Julia言語

posted at 03:59:30

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 minimal exampleを作って来ました。

一般にFooモジュール(=Foo名前空間)のfを型MyTypeに定義したければ、

using: Foo, f
Foo.f(x::MyType) = "Mine"

のようにすればよいと思います。Baseモジュールは最初から見えているのでusingはいらない。続く

gist.github.com/genkuroki/778c... twitter.com/kb_satou/statu... pic.twitter.com/X414cpsWFT

タグ: Julia言語

posted at 03:49:56

Daniel Piker @KangarooPhysics

20年9月10日

Here's the model if you want to spin it around or 3d print it:
github.com/Dan-Piker/Scul...

タグ:

posted at 03:30:49

しーげっち@C102/2日目/西お28a @seagetch

20年9月10日

すげーなこれ。Jupyter notebookのサンプルまでついてきてる…

タグ:

posted at 02:41:23

しーげっち@C102/2日目/西お28a @seagetch

20年9月10日

中国の開発者様がありがたいAPIを作られておる…
github.com/upbit/pixivpy

タグ:

posted at 02:39:32

Daniel Piker @KangarooPhysics

20年9月10日

@akivaw It is indeed. Well spotted! With some self-repulsion it relaxes into this more symmetric form pic.twitter.com/WD0YvTEUxz

タグ:

posted at 02:25:47

Tetsuo Ishikawa @fronori

20年9月10日

早速jupytext入れてみました。こんな感じのYAMLになって、JupyterLabとRStudioの間で .ipynb ⬅️➡️ .Rmd を行ったり来たりできるようになりました。慣れて使いやすいRStudioで編集して、シームレスにJupyterに移行し、行きつ戻りつする道が拓けました。ありがとうございます! twitter.com/u_ribo/status/... pic.twitter.com/RlEyE521gz

タグ:

posted at 01:57:00

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

Juliaでは函数の引数の型を書いても、「安全」が得られるわけではない。

函数の引数の型をどんなに詳しく書いても、函数を実行してかなり長時間経った後で「メソッドが見つかりません」というエラーで計算が止まるリスクは無くならない。(引数の型を書けば書くほどその危険は増す!)

タグ: Julia言語

posted at 01:43:24

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

Juliaでは誤っていない型でもエラーが出るように容易に書けることが問題。

既出の f(x::Vector{Float64}) や g(s::String) は典型例。

f(x::AbstractVector) とか g(s::AbstractString) なら多くの場合に大丈夫ですが、実質的なメリットが得られる場合は少ない。 twitter.com/mat_der_d/stat...

タグ: Julia言語

posted at 01:34:35

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

20年9月10日

Base.(:) がまんまそれだった(あたりまえ体操)

タグ:

posted at 00:52:55

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

入力

函数

出力

において、もしも函数内部において計算に使われるモノ達の型が、入力の型から自動的に決まってしまうならば、函数内での型の指定を人間側は1つも書く必要がなくなります。

実際にそうなっているJuliaのコードをよく見る。

このストーリーでは型システムが重要。

タグ: Julia言語

posted at 00:43:45

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 実害が出易いのは

function f(x::Vector{Float64}) ~ end

とか

function g(s::String) ~ end

のような書き方。SubArrayやSubStringに適用できない函数ができて、思わぬタイミングでメソッドが見つからないと、Juliaさんに怒られることになる。

以前、何度もやらかした。

タグ: Julia言語

posted at 00:38:43

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語

函数の引数の指定はmultiple dispatchのためには必須!(当たり前)

タグ: Julia言語

posted at 00:33:58

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 引数の型を指定しなくても速度的な害は生じないが、
函数の引数の型を指定すると適用可能範囲が狭くなるという害が生じる危険性あり。

害が確実にないのは例えばFloat64にしか使えないことが確実な函数を

function f(x::Float64) ~ end

と定義する場合。特殊函数の実装ではありがち。

タグ: Julia言語

posted at 00:31:33

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 上の parseMap(x) は

parseMap(x) = map(s -> parse(Int, s), x)

とか

parseMap(x) = map(x) do s parse(Int, s) end

とも書ける。ブロードキャストを使って

parse.(Int, x)

で済ませてもよいと思う(微小にオーバーヘッドがあるが速度的にはほぼ同じ)。

Simple is best!

タグ: Julia言語

posted at 00:26:41

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 例えば

parseInt(x) = parse(Int, x)

のとき

parseMap(x) = map(parseInt, x)

と書かずに

parseMap(x::Array{SubString{String},1})=map(parseInt,x)

と書くことにメリットはないと思われる。後者の書き方をしても計算速度は上がらず、単に函数の適用可能範囲が狭くなるだけ。続く

タグ: Julia言語

posted at 00:26:40

黒木玄 Gen Kuroki @genkuroki

20年9月10日

#Julia言語 函数の引数の型を一切書かなくてもても、Juliaのコンパイラはコンパイル時に函数の引数の型を全部知っている。だから、計算速度を上げるために函数の引数を指定することは無意味。

函数の引数の型を指定すると、multiple dispatchによって、単にその函数の適用可能範囲が狭くなるだけ。

タグ: Julia言語

posted at 00:17:29

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

20年9月10日

自作の julia のプログラムで (x, y) -> x:y っていう無名関数定義してるけど、これ標準の関数でないのかな

タグ:

posted at 00:16:54

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

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

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

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

送信中

送信に失敗しました

タグを編集しました