情報更新

last update 03/29 00:15

ツイート検索

 

@genkuroki
サイトメニュー
Twilogユーザー検索

Twilog

 

Stats Twitter歴
5,100日(2010/04/13より)
ツイート数
315,589(61.8件/日)

ツイートの並び順 :

表示するツイート :

2020年07月04日(土)143 tweetssource

7月4日

@kikumaco

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

逃避行動として研究のプログラム書いてました。こういうことをするのは久しぶりです。楽しい。
Juliaのメモリー消費を減らすための勘所がいまひとつわかりませんね。Cなら全部自分で管理できるのだけどね。GCが発生しちゃうのがなあ。でも、Juliaのほうが圧倒的に便利だとなのよねえ

Retweeted by 黒木玄 Gen Kuroki

retweeted at 23:53:58

7月4日

@MathSorcerer

ごまふあざらし(GomahuAzarashi)@MathSorcerer

Julia側のデータをRのplot関数に渡すのが添付の図のようにできて初回の描画実行も(Plots.jlにくらべて)さくっと描画できる。しらなかった〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 pic.twitter.com/Chwm4nkpFs

Retweeted by 黒木玄 Gen Kuroki

retweeted at 23:41:23

7月4日

@fractals_bot

Fractal Bot@fractals_bot

julia(seedR=-0.0787, seedR=-0.0435, zoom=2.7660)
fractals.azurewebsites.net/api/createFrac pic.twitter.com/53mpcxf0Ls

Retweeted by 黒木玄 Gen Kuroki

retweeted at 23:39:44

7月4日

@rohika_

ひか@rohika_

今日登校時にまず連絡帳でやりとりし、今できることは一段落かなとなりました

共感や励ましのお言葉ありがとうございます
ただ、学校や先生には今まで良く対応して貰った感謝/信頼もあり、前述のようにこれだけで反発/敵対するつもりはありません
一緒に子供に向き合えるよう一緒にがんばります

Retweeted by 黒木玄 Gen Kuroki

retweeted at 21:40:18

7月4日

@rohika_

ひか@rohika_

理不尽すぎる!と一瞬思ったけど、ここで敵対するのは本意ではないし

先生にも狙いがあるんでしょうが、それが伝わってないようなので、申し訳ないけど今後なにとぞ丁寧に説明を、お手数かけるけど電話くれれば親からも説明するんで、学校嫌いにさせないようにどうかどうか、という感じで伝えるかな

Retweeted by 黒木玄 Gen Kuroki

retweeted at 21:40:15

7月4日

@rohika_

ひか@rohika_

学校とトラブった…
自粛期間中に渡されたプリント、一部だけやっとくやつだったらしくて、指示してない箇所までやってあるのはおかしいと言われて泣きながらプリントぐしゃぐしゃにしながら消したって…
その消した箇所を書き直すのが宿題だって…
まじかー…

Retweeted by 黒木玄 Gen Kuroki

retweeted at 21:40:11

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

@keno_ss @389jan @N_Y_Big_Apple @designpatterngf #数楽 特異点解消後の分配函数と対応するゼータ函数の計算の概略については

nbviewer.jupyter.org/github/genkuro

を参照。多分、この私のノートが関連の解説で一番易しい。

特異点解消後の計算は易しい。逆に言えば特異点解消の具体的遂行が重要な問題になるということ。 pic.twitter.com/CxTf9DZcVA

Retweeted by 黒木玄 Gen Kuroki

retweeted at 21:39:28

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

@keno_ss @389jan @N_Y_Big_Apple @designpatterngf #数楽 特異点解消後の分配函数と対応するゼータ函数の計算の概略については

nbviewer.jupyter.org/github/genkuro

を参照。多分、この私のノートが関連の解説で一番易しい。

特異点解消後の計算は易しい。逆に言えば特異点解消の具体的遂行が重要な問題になるということ。 pic.twitter.com/CxTf9DZcVA

posted at 21:39:21

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

算数プリントの解答欄の「式  答え 」の形式に従うことは子供にとって非常に有害だと思います。

使えるのは常識とちょっとした計算力だけ。
公式は暗記していない。
先生が説明したやり方も覚えていない。
しかし、どんな場合でも自力で対応可能。

こうなる方向を目指さないと辛い。

Retweeted by 黒木玄 Gen Kuroki

retweeted at 20:44:41

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

12秒で16m進むとする。
倍の24秒で32m進む。
24秒は15秒より長い。
12秒の半分の6秒で16mの半分の8m進む。
さらに半分にすると3秒で4m進む。
3倍すると9秒で12m進む。
5倍すると15秒で20m進む。

解答欄が「式  答え 」の形式なら、式の字を二重戦で消して、以上の議論を全部書けばよい。

Retweeted by 黒木玄 Gen Kuroki

retweeted at 20:44:35

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

数学の極意の1つは問題文にない問題も沢山解いてしまうこと。

例えば「12秒で16メートル進むと、15秒で何メートル進むか?」では15秒以外の場合の問題もたくさん解いてその過程でついでに15秒の場合もわかる、というのが良いのです。

公式に当てはめるだけだと積むべき経験が大量に失われる。

Retweeted by 黒木玄 Gen Kuroki

retweeted at 20:44:32

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

これは良記事。

速さや割合が絡む問題では右側に書いてある方法で子供に解いてもらうことが非常に良い経験になります。

最悪なのが公式に当てはめて解く方法。

新聞記事にある方法ならば予備知識は常識だけでよい。色々計算するうちに数と量について、子供の心の中に良質の回路ができて行きます。 twitter.com/conoki69/statu pic.twitter.com/ZgNmfzDSQb

Retweeted by 黒木玄 Gen Kuroki

retweeted at 20:44:27

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#統計 Y-Ŷ=(I-P)Eが平均が0分散共分散行列がσ²(I-P0の多変量正規分布に従うことより、その成分の二乗和 ||(I-P)E||² の1/σ²倍が自由度n-2のχ²分布に従う。

自由度のn-2はYを射影する先のIm Xの直交補空間の次元。

Im Xからはみ出す揺らぎの自由度がn-2.
χ²分布の自由度は揺らぎの自由度になる。

posted at 20:39:40

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#統計 これらの式はŶ-Xβ=PE, Y-Ŷ=(I-P)Eの成分達の分散共分散の公式とみなされる。

ゆえに、E_i達が平均0分散σ²の正規分布に従う確率変数達であるとき、Ŷ-Xβ, Y-Ŷは期待値0で分散共分散行列がそれぞれP=X(X^T X)⁻¹X^T, I-Pのσ²倍の多変量正規分布に従う独立なベクトル値確率変数になる。続く

posted at 20:39:39

7月4日

@ohtanilson

にるそん@ohtanilson

juliaでの速度ダウンの鬼門は、interpolation.jlと逆行列計算だな。それがアルゴリズムに含まれてなければ、他言語を凌駕、書き方次第ではC++に肉薄。ただinterpolationに関しては、マクロの人がより賢い書き方知ってそうな気もする。あと多変量cdfのパッケージが薄い、ってのも同期と話した。

Retweeted by 黒木玄 Gen Kuroki

retweeted at 19:40:54

7月4日

@buku_t

ぶく@buku_t

僕も昔小学校で、こういう感じの問題があった時に、手前の面積求めてから奥行き掛けて計算(6×7-3×3)×3したら、先生に「縦に3つに切ってちゃんと(底面積)×(高さ)で計算しなさい」と言われて修正させられて、算数嫌いになりかけたことがある。 twitter.com/conoki69/statu pic.twitter.com/vSMMShTx4F

Retweeted by 黒木玄 Gen Kuroki

retweeted at 18:30:01

7月4日

@kale_aojiru

あおじるPPPPP@kale_aojiru

先日の、神奈川かどっかの難関(らしい)高校の子も教員に与えられた呪いを自信満々で吹聴してたが(大学教員が否定してるのに自分のところの教諭がそう言ったからそれが正しいと言い張っていた)、そう考えると指導者は自分の発言にもっと慎重になったほうがいいと思うね

Retweeted by 黒木玄 Gen Kuroki

retweeted at 17:07:26

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#数楽 Vが1個でV*が0個のVの場合の「テンソル」はただのベクトル。

V⊗V*の元(これも「テンソル」)は Σ_{i,j} aᵢʲ vⁱ⊗vⱼは線形写像V→V

vʲ ↦ Σ_i aᵢʲ vⁱ

と同一視でき、a ᵢʲ はその表現行列の成分だと思える。

こんな感じで上で説明した「テンソル」はベクトルや線形写像を含みます。

posted at 17:04:13

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#数楽 続き。V達とV*達のテンソル積を考える。簡単のためVが2個とV*が1個のテンソル積

V⊗V⊗V*

を考える。これの基底として

vⁱ⊗vʲ⊗v_k

が取れるので、その元はスカラーaᵢⱼᵏによって

Σ_{i,j,k} aᵢⱼᵏ vⁱ⊗vʲ⊗v_k

と一意に表されます。これらを「テンソル」と呼ぶ習慣だと思う。続く

posted at 17:04:12

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#数楽 ベクトルのかけ算のボスキャラのテンソル積について理解すると、テンソル積と「テンソル」の関係が気になると思う。大雑把には以下のような話だと思っておけばよい。

ベクトル空間 Vの基底を vⁱ と書き、その双対空間V*の双対基底を vᵢと書く: vᵢとvʲの内積はi=jのとき1で他のとき0. 続く

posted at 17:04:09

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#数楽

̅ バー
̂ ハット
̌ チェック
̃ チルダ

を X, y, ζの次に書くと

X̅, y̅, ζ̅
X̂, ŷ, ζ̂
X̌, y̌, ζ̌
X̃, ỹ, ζ̃

これはちょっと便利‼️

辞書に登録した‼️

使用例:

* X̅ = (X_1 + … + X_n)/n

* f̂(p) = ∫ f(x) exp(-2πipx) dx

Retweeted by 黒木玄 Gen Kuroki

retweeted at 16:22:55

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#統計 E =

E_1

E_n

とおくと、

Y = Xβ + E
β̂ = (X^T X)⁻¹ X^T Y = β + (X^T X)⁻¹ X^T E
Ŷ = Xβ̂ = Xβ + X(X^T X)⁻¹ X^T E

なので、

Ŷ - Xβ
= X(X^T X)⁻¹ X^T E
= (EのIm Xへの直交射影)

Y - Ŷ
= (I - X(X^T X)⁻¹ X^T)E
= (EのIm Xの直交補空間への直交射影)

となっている。続く

posted at 16:20:19

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#統計 続き~直交射影をŶ=

Ŷ_1
Ŷ_2

Ŷ_n

と書く。これは

Ŷ = X(X^T X)⁻¹ X^T Y

と書ける。β=

a
b

の推定量(X^T X)⁻¹ X^T Y∈ℝ²をβ̂=

â


と書く。以上の計算は最小二乗法そのものである。

posted at 16:20:17

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#統計 Y_1,…,Y_nは確率変数で

E[Y_i] = a + bx_i

を満たすものとし、

E_i = Y_i - (a + bx_i)

とおき、

E[E_i E_j] = σ²δ_{ij}

と仮定する。このとき、線形写像X:ℝ²→ℝⁿを行列

1 x_1
1 x_2
……
1 x_n

で定め、rank X=2と仮定する。ベクトルŶ=

Y_1
Y_2

Y_n

のIm Xへの~続く

posted at 16:20:14

 

非公開

retweeted at xx:xx:xx

7月4日

@kikumaco

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

「1から始めるJuliaプログラミング」ざっと読んでしまった。知らないことはそんなに書いてなかったけど、不必要な応用例にページを割いてないのはいいかも。本の位置付けとしてはいささか半端で、完全なプログラミング初心者には勧め難い。Juliaに乗り換えようという人向けだな、やはり

Retweeted by 黒木玄 Gen Kuroki

retweeted at 14:05:40

7月4日

@vecchio_ciao

砂の女PPMP@vecchio_ciao

この時に、どうやら小学校での算数教育がおかしなことになっているらしいと知り、そこから次男が高学年になるにつれて出会うさまざまなトラップに、嵌まらず警戒しながら見守ることができた。

Retweeted by 黒木玄 Gen Kuroki

retweeted at 13:55:29

7月4日

@shinchanchi

質問者2@shinchanchi

山本太郎支持者は、山本太郎氏の原発デマやワクチンデマはどのように捉えているのだろうか?

反◯◯無罪
消費減税無罪

などの臭いがする

景気が悪くなると極端な思想に走る人が増えるという

労働者の味方をやめた政党…
その反動か更に極端な思想に走る人が増えている気がしてます

経済安定化不足

Retweeted by 黒木玄 Gen Kuroki

retweeted at 13:53:05

7月4日

@viktorinini

💙💛𝓥𝓘𝓚𝓣𝓞𝓡𝓘𝓐•💛💜@viktorinini

@valeriazolota @bettinaschroed5 @akpolyme @NkViktori42 @ANASTALYA @AmI3580 @AraiEij @marienassar_ @habibisilvia @marie_nassar ( ͡°❥ ͡°)🌿🍇🍒🍏@valeriazolota
( ͡°❥ ͡°)🍇🍒🍏@marie_nassar
( ͡°❥ ͡°)🍒🍏@bettinaschroed5
( ͡°❥ ͡°)🍇🍒🍏@akpolyme
( ͡°❥ ͡°)🍒🍏@ANASTALYA
( ͡°❥ ͡°)🍇🍒🍏@AraiEij
( ͡°❥ ͡°)🌿🍇🍒🍏@NkViktori42
( ͡°❥ ͡°)🍇🍒🍏@habibisilvia
( ͡°❥ ͡°)🍒🍏Good day
( ͡°❥ ͡°)🍏All frends pic.twitter.com/WvNE87yFMe

Retweeted by 黒木玄 Gen Kuroki

retweeted at 13:45:55

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 Taylor展開を扱う場合には0始まりが便利です(添付画像1)。a_n/n^sの和は1始まりがうれしい。

Juliaの場合には多項式計算を高速にやってくれるevalpolyという函数があって、1始まりを前提としています。

evalpolyを使うと素朴なsumよりもとても速くなります(添付画像2)。 pic.twitter.com/OE84YS1ocV

posted at 13:19:46

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 配列のインデックスは0始まりでも1始まりでも困る場合があって、自由に選べて欲しいといつも思います。

Juliaの場合には多くの基本ライブラリが1始まりを前提に書かれています。

それが「嫌い」になる自由はあるが、頭の硬くなっていることを疑われる覚悟する必要はあると思う。

posted at 13:19:46

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 あと、Juliaのパワーユーザーは数学強者であることが多いので、Juliaのパッケージの情報を通して、プログラミングではなく、数学の勉強になっている部分もかなりあります。

おそらく、Juliaに触れなければ一生触れることができなかった可能性が高い数学にも触れることができた。

posted at 11:28:37

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 「どんどん改良されて行くことの実感」は現在進行中のJuliaのような技術に触れなければなかなか経験できないことだと思います。

リポジトリを見に行って頑張って探せば具体的にどのように改良されたかも知ることができる。

posted at 11:28:37

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 そして、v1.0以前からJuliaいじめの遊びを続けていると、

「あれ?以前のJuliaでは激遅になっていたはずなのに、遅くならない!」

と気付きます。末端一般ユーザーには容易に見えないところで、コンパイラの地道な改良が進んでいる。

これはユーザー的には非常にうれしいところです。

posted at 11:28:37

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 その過程で気付くことの①は「Juliaは相当にひどく速度的に劣化する場合であっても動いてくれる」です。とにかく動いてくれないと困る場合にはありがたいです。

posted at 11:28:36

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 を使い始める人は「堅苦しくなく、高速に動くプログラムを書きたい」という動機の人が多いと思います。そして、速度的に劣化する場合があることを知り、「Juliaをいじめて計算が激遅になるようにする遊び」を始めます。

posted at 11:28:36

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

数学を使うときにも、目的に合わせて、目的のために必要最小限の予備知識の範囲内で、上手に問題をこなせれば困らない。

#Julia言語 は「面倒だから手抜きでいいや」という方針で書かれたコードも動く設計になっているので(もちろん速度的劣化は起こり得る)、数学と同じような感じで使い易いです。

posted at 11:10:14

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 しかし、Juliaを超高級電卓として利用している場合にはそこまで細かいことを気にして使うのは合理的ではないと思います。

自分の知識に応じて、例えば、Int64型やFloat64のような基本的な型のみを心にとめて、それらを明瞭に区別するようなコードを書くのでもよいと思います。

posted at 11:07:34

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 以上のように、函数の引数 x の型が様々な場合に、xの型から他のものの型が順番に適切に決まって行くようにコードを書けば、その様々な場合のすべてに適用できる函数ができあがります。

posted at 11:07:33

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 型の伝搬の例

f(x, k) = x^k

と定義すると、当然

f(3, 2) → 9

となるのですが、

f(3, -2) → DomainError with -2

となります。「整数^負の整数」はドメインエラーになる。そこで、

g(x, k) = typeof(inv(one(x)))(x)^k

とxをinv(one(x))の型に変更するようにすると~続く

posted at 11:07:32

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 このようにしておけば、

x = Foo(123, "hoge")

はFoo{Int64, String}型になり、

y = Foo([1, 2, 3], Float64[1 2; 3 4])

はFoo{Array{Int64, 1}, Array{Float64, 2}}型になり、中身の具体的な型が外部に見えるようになって、型推論がうまく働くようになります。

posted at 10:08:33

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 Juliaの型システムを全然理解していない段階では、自前の型を定義するときに、内容の型の指定を忘れたり、内容の型を抽象型で指定して、速度的劣化を招く可能性があります。この問題の初心者向けにシンプルな解決策は

struct Foo{Ta, Tb}
a::Ta
b::Tb
end

のように書くことです。

posted at 10:04:36

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 失敗例の追加。

f(K) = Σ_{k∈K} k^2



f(K::Array{Int64, 1}) = sum(k^2 for k ∈ K)

と定義すると

f(1:10)

を実行できない函数fが出来上がります。この問題のシンプルな解決法は、引数に型注釈を付けずに、

f(K) = sum(k^2 for k ∈ K)

と書くことです。速度的劣化は一切ない。

posted at 10:00:12

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語

Juliaで函数を定義するときには「定義域と値域を固定して、その間の写像を作る」という発想は通用しません。

Juliaの函数では引数の型から型推論によって返り値の型が決まる!

Juliaの函数は定義域が可変で値域は定義域ごとにダイナミックに変わり得る。

posted at 09:55:06

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 続き。これ、初心者だとかなり悩みます。

この問題の最もシンプルな解決法は、函数の引数に型注釈を付けずに、

function f(x)

end

と書くことです。

へたに函数の引数に型注釈をつけると、適用範囲が無用に狭くなって部品として使えない函数ができてしまいます。

posted at 09:50:03

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 例えば、そのように定義された函数fに、Array{Float64, 2}型のuの境界部分を除いてできる

ũ = @ view(u[2:end-1, 2:end-1])
(@ の後の空白を消す)

をf(ũ)と適用しようとすると、エラーが出ます。その理由はũはSubArray型であり、もはやArray型ではないからです。

続く

posted at 09:50:03

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 Int64やFloat64のような型であればシンプルに理解できますが、配列のようなものの型は大量に種類があってややこしい。

だから、Float64型の2次元配列のようなものを引数とする函数を

function f(x::Array{Float64, 2})

end

と定義すると、初心者は後で苦しむ可能性が高い。続く

posted at 09:40:46

7月4日

@genkuroki

黒木玄 Gen Kuroki@genkuroki

#Julia言語 例えば函数中で

y = 2x

と書くと、xがInt64型ならyもInt64型になり、xがFloat64型ならyもFloat64型になります。xがArray{Float32, 2}型ならyもその型になる。

z = 2.0k

と書くと、kがInt64型でもFloat64型でも、2.0に合わせた型の自動プロモートによって、zはFloat64型になります。

posted at 09:40:46

残り43件のツイートを見る

このページの先頭へ

×