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 » 2021年05月06日
並び順 : 新→古 | 古→新

2021年05月06日(木)

TaKu @takusansu

21年5月6日

@OTOKUEMON @sekibunnteisuu @genkuroki @HackStudying @kamo_hiroyasu 積分定数さんが批判しているのは特定の式のみ正等扱いする指導(掛け算の順序で誤りにする等)です。
文科省の見解では、掛け算の順序を理由にバツにしろとは言っていません。

タグ:

posted at 23:29:53

TaKu @takusansu

21年5月6日

@OTOKUEMON @sekibunnteisuu @genkuroki @HackStudying @kamo_hiroyasu 学習指導要領の【場面を式に表したり】は曖昧な表現で、何を指しているか明記されていません。
学習指導要領解説でも不明瞭です。
8254.teacup.com/kakezannojunjo...

タグ:

posted at 23:29:33

富士見坂 @Te393098

21年5月6日

ディテールを端折った(のか?)
新井家の不完全性定理 公式見解

>いつまでも平行線のまま
わかりあえない可能性がある、っていうのが
「ゲーデルの不完全性定理」です
「人は言葉だけでは絶対にリアリティを共有できない」そういう定理なんですよ 2018.5.14
www.1101.com/torobo_talk_ar...

タグ:

posted at 23:22:31

富士見坂 @Te393098

21年5月6日

↑書評続き
だからこそ記数法から不完全性定理までわずか224ページの本書に収まっている
「計算とは何か」新井紀子著 監修 新井敏康 著
2009.10.7出版

不完全性定理で思い出すのは
共著者の言葉
↓ 
新井敏康「どれどれ?あ、これ、僕同じ説明昔したことある」
2018.6.20
togetter.com/li/1238972

タグ:

posted at 23:15:05

富士見坂 @Te393098

21年5月6日

小飼 弾氏
「計算とは何か」新井紀子 書評
ディテールの端折り方に納得が行かない
基本的に著者のディテールの端折り方は「生き抜くための数学入門」と変わらない。ページ数を見ての通り本書で扱っている具体的な諸計算が「なぜそれでOKなのか」は本書だけ読んでもわからない
blog.livedoor.jp/dankogai/archi...

タグ:

posted at 22:53:59

富士見坂 @Te393098

21年5月6日

2008.2.11小飼 弾氏による
(改定前)生き抜くための数学入門書評
後の方に行くにつれ本書はどんどん理解型になっていき三角関数のあたりまでいくと高校の教科書よりもひどくなり、博士の愛した数式に挑戦!になると理解型の生徒すらおいてけぼりを食らうような端折り方になる
blog.livedoor.jp/dankogai/archi...

タグ:

posted at 22:42:22

富士見坂 @Te393098

21年5月6日

*「東ロボくん」ディレクターによるロングセラーが
増補改訂でついに復刊

#超算数 #読解力

増補新版 ハッピーになれる算数 新井紀子

www.shin-yo-sha.co.jp/book/b577467.h...

タグ: 読解力 超算数

posted at 22:29:13

まるまる @EZX2FOFxVpvStIK

21年5月6日

@genkuroki モジュール書き換えるという発想はなかったです。毎回走り直させてました

タグ:

posted at 22:25:25

こーた丼 @rental_math

21年5月6日

今日は、#Julia言語 とだいぶ仲良くなれた一日だった。Pythonのようなベクトライゼーションで苦労する必要がないのは嬉しい。

来年のゼミ生向けに資料でも作ろうかな、、、

タグ: Julia言語

posted at 21:51:09

積分定数 @sekibunnteisuu

21年5月6日

「#超算数 メタメタさんに限らず、数恐々の人達は「...」の会話スレッドまとめ - まとめbotのすまとめ sumatome.com/chat/138831374...

タグ:

posted at 21:18:26

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#超算数

算数の教科書やそのマニュアル本の内容がひどいこと及びその酷さが算数教育界の歴史そのものがあることを知っていると、算数教育の研究家がひどくなりやすい理由は、伝統的にひどいスタイルに忖度しなければいけないからだとよく分かる。

くだらない伝統は全部否定した方がよい。 twitter.com/nabekichi32/st...

タグ: 超算数

posted at 21:13:29

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語

module A

end

の間で全てを定義して、モジュールAごとすべて上書きすれば事故る確率が減る。

この方法ならstructやconstの定義も書き換え放題になる。

その代わりに、A.Hoge のように書くことを強制されることになる。

タグ: Julia言語

posted at 21:02:30

積分定数 @sekibunnteisuu

21年5月6日

@genkuroki @OTOKUEMON @HackStudying @kamo_hiroyasu と考えたら、式が状況を表すなんて馬鹿げていると思いますがいかがでしょうか?

タグ:

posted at 21:00:39

積分定数 @sekibunnteisuu

21年5月6日

@genkuroki @OTOKUEMON @HackStudying @kamo_hiroyasu 10-7だと、10人いて7人帰ったら何人残るか?という意味になりませんか?

何人かいて、4人帰って12人やって来た。最初より何人増えたか?

12-4だと、12人来て4人帰った、になっちゃいますよね?そうすると、-4+12とするのが正しいのでしょうか?

タグ:

posted at 21:00:34

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 定義域が狭い同名の函数を定義すると、その後はディスパッチが効き続けることになって、意味不明のアナザーワールド的エラーに悩まされることがあります。

あと、以前はよくやっていたのが

function f(x::Vector) ~ end

と書く失敗。引数としてview (SubArray)を受け取れなくなる。

タグ: Julia言語

posted at 20:59:35

積分定数 @sekibunnteisuu

21年5月6日

@genkuroki @OTOKUEMON @HackStudying @kamo_hiroyasu twitter.com/OTOKUEMON/stat...

先輩に聞いてほしいのだけど、増加の足し算には順序がある、5人いるところに3人来たら何人か?は5+3とすべきで、3+5となる、式は場面を表すというけれど、

その理屈だと

7人いて、何人か来たので10人になった。何人来たか?

だと、10-7と求めるのはおかしいですよね?

タグ:

posted at 20:57:20

橋本麻里 @hashimoto_tokyo

21年5月6日

前2RT:#ニコ美 春画展第2夜での笹紅実演には、伊勢半さんの小町紅を使わせていただきました。オンラインショップで同様の製品をお求めいただけます。バリエーションもいろいろあるので、ぜひご覧下さい。isehanhonten-onlineshop.com/?_ga=2.2456172... twitter.com/hashimoto_toky...

タグ:

posted at 20:51:08

こーた丼 @rental_math

21年5月6日

ほんとだ。すんなりうまくいきました。

<<型を指定しない方がいい。。>>

肝に銘じておきます。 twitter.com/genkuroki/stat... pic.twitter.com/gzybj1E7eX

タグ:

posted at 20:48:41

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 さらに、

f(x) = x^2 - 2
df(x) = 2x

と書くと、読み易くなります。

df の代わりに f\prime TAB を使うとさらに数学書っぽくなる。

function f(x)
x^2 - 2
end

と return も省略できる。Juliaの文はすべて値を持つ式になる。 twitter.com/hackstudying/s...

タグ: Julia言語

posted at 20:47:31

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 エラーメッセージによれば f(x::Vector{Int64}) が実行されているせいで、BoundsErrorになっているようです。

おそらく、添付画像のようなことになっているのだと思う。

型によるディスパッチが必須の場合はそう多くないので、函数の引数の型を書くことをやめれば事故る確率が減ります。 twitter.com/hackstudying/s... pic.twitter.com/KoNEHSyA5y

タグ: Julia言語

posted at 20:43:18

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語 X が縦長の行列なら b = X \ y の1行で最小二乗法が終わります。添付画像は sin + ノイズ のデータを3次多項式の最小二乗法でフィッティングしています。

Juliaの線形代数まわりはおそろしく便利です。

この辺を整備してくれた人達は神。 pic.twitter.com/Aoulu5d1Gq

タグ: Julia言語

posted at 20:15:47

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語 例えば In[277] でも Vector 化する必要はないです。

A = Rational[
1 2 3
4 5 6
7 8 8
]
b = 1:3
x = A \ b

で行ける。using LinearAlgebraもいらない。 pic.twitter.com/B35nZ1TKGj

タグ: Julia言語

posted at 20:12:53

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語 そして多くの場合に、collectにあたることが計算途中で無駄に実行されて、メモリアロケーションが多めになるコードを書くと遅くなります。

1:5 や range(0, 2π; length=1001) などはcollectせずにそのまま利用する方が勝る場合が多い。

タグ: Julia言語

posted at 19:58:31

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語 1:3のような実態を持たないモノを実態を持つ配列に変換する函数として、collectを覚えておくと便利です。

Vectorと違って、collectなら、1次元配(Vector)に限らず、高次元配列になる場合も使えます。 pic.twitter.com/DRfNglsjWv

タグ: Julia言語

posted at 19:56:30

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語 In[217]について

xとyを配列に変換する必要はないです。zは

f(x, y) = x^2 + y^2
z = f.(x', y)

のように作ると楽です。

Juliaではドット構文が神です。 pic.twitter.com/OIivIXrmcg

タグ: Julia言語

posted at 19:42:40

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語

a = [1,2,3,4,5] のとき、

b = copy(a)
c = a

の違いが

b = a[2:4]
c = @ view(a[2:4])

の違いにほぼ対応しています。メモリを無駄に消費したくなければ、viewの方を使います。多くの人がそれをサボってガベージコレクションの嵐に苦しむ経験をする(笑)。ほぼ恒例行事。

タグ: Julia言語

posted at 19:33:02

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語 Juliaでは偏微分方程式の数値解法を試したい人が多いので、スライスについてはviewについても説明しておいた方が親切です。

a = collect(1:5)
→ [1,2,3,4,5]

b = a[2:4]
→ [2,3,4] # aと無関係の別の配列、メモリ割り当て発生

c = @ view(a[2:4])
→ aの第2~4成分へのview pic.twitter.com/3jZ2yLBFuu

タグ: Julia言語

posted at 19:29:28

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語

zeros(配列の型, 配列の行数, 配列の列数)
ones(配列の型, 配列の行数, 配列の列数)

の「配列の型」は「配列の要素の型」が正しいです。

Vector{T}, Matrix{T}, Array{T, N} という配列の型とそれらの要素の型(eltype)は区別しておいた方が無難。

タグ: Julia言語

posted at 19:23:54

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語 の [] はeltypeがAnyの空の1次元配列(型はVector{Any} = Array{Any, 1})であり、空のリストではないことを強調した方がよいかもしれないと思いました。

[]にpush!して作ったeltype Anyの配列を使って計算すると100倍以上計算が遅くなる場合があります。 twitter.com/genkuroki/stat... pic.twitter.com/pKxONEXhgl

タグ: Julia言語

posted at 19:10:58

黒木玄 Gen Kuroki @genkuroki

21年5月6日

@rikuri1113 #Julia言語

rikuさんによるJuliaの紹介のipynbファイルのnbviewerによる表示↓

nbviewer.jupyter.org/github/Riku111...

html版↓

htmlpreview.github.io/?https://githu...

タグ: Julia言語

posted at 18:03:14

M. Kanamaru @AstroshaperJP

21年5月6日

@genkuroki コメントありがとうございます。
doc stringはfunction以外にもつけられたのでしたね。
以降、やってみます!

タグ:

posted at 18:01:17

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 多くの場合に、structの中身の具体型はJuliaさんに自動的に決めてもらうのが楽で良いと思います。

説明文はコメントではなく、doc string に書いておくと、閲覧しやすくなって便利です。REPLからなら ?Shape で閲覧できる。

"""
ここに説明を書く
"""
struct Shape{~}

end twitter.com/asteroid_maru/...

タグ: Julia言語

posted at 17:47:07

ウルサい小僧 @1_2_3_Don

21年5月6日

@greyauk @ebina_1 It seems that a shellfish laid its eggs in a discarded can.
en.m.wikipedia.org/wiki/Septaria_...

タグ:

posted at 17:29:58

こーた丼 @rental_math

21年5月6日

あ、うまくいきました。型の問題かもしれません pic.twitter.com/QZEQV9WjZ6

タグ:

posted at 17:02:32

こーた丼 @rental_math

21年5月6日

Juliaの仕様なのかな?

ベクトルを引数にした関数をうまく使えない pic.twitter.com/scE189Biit

タグ:

posted at 17:00:22

ごまふあざらし(GomahuAzaras @MathSorcerer

21年5月6日

MyWorkFlow.jl のJulia 1.6.1 対応しました。Binderで遊んでね。

github.com/terasakisatosh...

#Julia言語

タグ: Julia言語

posted at 16:55:35

非公開

タグ:

posted at xx:xx:xx

こーた丼 @rental_math

21年5月6日

お!Julia 1.7が使えました。うれしい

関数のパラメータがごちゃごちゃしないのはすごくわかりやすい pic.twitter.com/zahVvYJKn3

タグ:

posted at 15:49:12

富谷(助教);監修 シン仮面ライダー @TomiyaAkio

21年5月6日

こちらのコードはnagai さん @cometscome_phys との共同開発です。
github.com/akio-tomiya/La...

タグ:

posted at 15:36:33

ICHIHASHI Yurie @akawshi

21年5月6日

Julia 言語なんてあるのか

タグ:

posted at 15:32:45

M. Kanamaru @AstroshaperJP

21年5月6日

#Julia言語 で構造体の型付けに悩んでいたけれど、思考停止してコンパイラに全部任せたら、うまくいった。計算速度も拡張性もこれで問題なさそう。構造体のメンバーがStaticArrayやStructArrayを使っていて、手作業での型付けに限界がきていました。とはいえ、もう少しちゃんとした書き方があるはず。 pic.twitter.com/sOeG8X8G65

タグ: Julia言語

posted at 15:31:52

富谷(助教);監修 シン仮面ライダー @TomiyaAkio

21年5月6日

うまくできた人は、#LatticeQCDjl などでスクショ上げてもらえると喜びます。

スマホでも格子QCDできます! pic.twitter.com/dpbeVhfZ9C

タグ: LatticeQCDjl

posted at 15:27:13

積分定数 @sekibunnteisuu

21年5月6日

#超算数
www.youtube.com/watch?v=pHcWGp...

「比の値について考える」とあるけど、比の値と言う謎の概念についてなぜそんなものが必要なのか説明しているはずもない。

単に、比の値の求め方を説明しているだけ。

算数教育の世界では「考える」というのが独特の意味を持っているのかな?

タグ: 超算数

posted at 15:08:45

積分定数 @sekibunnteisuu

21年5月6日

#超算数
www.youtube.com/watch?v=e1rS-e...

「等しい比について考える」とあるから、比が等しいというのは一体何が等しいのか?

みたいな話

な訳がない。

2:3と10:15は等しい比 みたいな話だった。

タグ: 超算数

posted at 15:06:23

積分定数 @sekibunnteisuu

21年5月6日

#超算数
twitter.com/nabekichi32/st...

事前にこれを読んでいたけど、まあ同様の感想しか持たない。

基本的に、解き方の説明 だよね。全部こうなのかな?

タグ: 超算数

posted at 15:00:43

積分定数 @sekibunnteisuu

21年5月6日

#超算数

鉛筆の長さの比、とか問題が出てきたが、それを求めて何になるの?

例えば、
水200gに10gの砂糖を入れた。
水300gに何gの砂糖を入れれば、これと同じ味になるか?

というなら、比を求める意味があるけど、そういうのが一切ない。

タグ: 超算数

posted at 14:57:45

積分定数 @sekibunnteisuu

21年5月6日

#超算数 
www.youtube.com/watch?v=t8ySnO...

比について考えよう と言っているんだけど、
赤い球6個 と 黄色い球2個 の割合は6:2 これを、「個数の比」というというのだが、

何のために比であらわすのか、その必然性が全く見えない。

タグ: 超算数

posted at 14:55:22

riku @rikuri1113

21年5月6日

Julia言語に関して日本語における資料が少なかったので、Julia初心者向けのチュートリアルを作成してみました。プログラミング初学者の方にも分かるようには書いているつもりです。
github.com/Riku1113/julia...
間違っている点などありましたらどうぞご指摘ください。
#Julia言語 #julialang

タグ: julialang Julia言語

posted at 14:54:29

富谷(助教);監修 シン仮面ライダー @TomiyaAkio

21年5月6日

Google colab 上で #Julia言語 を使った格子QCDの計算が実行できるノートブックをつくりました!ぜひお試しください。簡単なレビューもついています。
みんなも素粒子物理にチャレンジ!(何も知らなくても実行できます)
colab.research.google.com/drive/1sxdTpIi...
#LatticeQCD #JuliaLang

タグ: JuliaLang Julia言語 LatticeQCD

posted at 14:54:27

積分定数 @sekibunnteisuu

21年5月6日

@tomoak1n #超算数 
たしかに「全部でいくつでしょう」と入れても「何が?」となりそう。

これ、最初から「掛け算の文章問題」と言っている。これで子供が「出てきた数をかければいい」と思うのは当然。

なんというか、アホだよね。

タグ: 超算数

posted at 14:44:50

積分定数 @sekibunnteisuu

21年5月6日

#超算数 4:30 から、掛け算の順序に関して教わったように、ずつが先と書くように、と言っている。
www.youtube.com/watch?v=OaPFlP...

タグ: 超算数

posted at 14:10:25

積分定数 @sekibunnteisuu

21年5月6日

#超算数
www.youtube.com/watch?v=ZPOhmA...

所謂、「逆思考の問題」なんだけど、

9-3=6 としたらどうなるのな?

「式は場面・状況を表す」という彼らの教義からしたら、9-3=6 じゃないの?

タグ: 超算数

posted at 14:02:00

積分定数 @sekibunnteisuu

21年5月6日

sansu-douga-kuroda.amebaownd.com/pages/3771293/...
下の四角のボタンをクリックすると授業が始まります

これも「どこ?」と探してしまった。

タグ:

posted at 13:53:16

積分定数 @sekibunnteisuu

21年5月6日

sansu-douga-kuroda.amebaownd.com

どこクリックすればいいのか分からなくて戸惑ってしまった。

一番上の学年をクリックするんだね。

タグ:

posted at 13:52:11

なべきち @nabekichi32

21年5月6日

こないだ流れてた(内容しか覚えてないw)「導入には工夫がみられるのに後はひたすら作業ができるようにさせるだけ」って小学校の授業批判があったけど、コレみて「最上位の指導がソレなんだから現場はしゃーないわ」ってなったでござるな。

タグ:

posted at 13:50:55

積分定数 @sekibunnteisuu

21年5月6日

これから見てみるけど、この通りなら、「算数教育を研究していたから」だろうな・・・ twitter.com/nabekichi32/st...

タグ:

posted at 13:35:06

ほりたみゅ (mastodonも見てね) @Hyrodium

21年5月6日

型Numの扱いがちょっとまだよく分かってないが… pic.twitter.com/HD97PM8gDG

タグ:

posted at 13:17:41

ほりたみゅ (mastodonも見てね) @Hyrodium

21年5月6日

Symbolics.jl初めて使ったんですが結構良さそう pic.twitter.com/N1o0hq1XHf

タグ:

posted at 13:13:37

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語

これでやりたいことが合っているか自信がないのですが

添付画像①②

成分を書き換え可能なconstを const commonval = Ref(0) で作っている。

②ではBase.getpropertyとBase.setproperty!をオーバーライドしている。

ソースコード↓
gist.github.com/genkuroki/246f... twitter.com/sato56513/stat... pic.twitter.com/8v65lA0Rhq

タグ: Julia言語

posted at 13:06:56

非公開

タグ:

posted at xx:xx:xx

Jean-Ken Shun @HhJazzmaster

21年5月6日

@merompans @chaus01 これいいですよね!

社食のデザート出す日によく買ってますw

パンナコッタも夢のようでした😆 pic.twitter.com/DemI5SshCt

タグ:

posted at 12:47:52

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 Parameters.jlは非常に有用なパッケージで、その機能はJulia本体に少しずつ取り入れられて来ている。

Parameters.@ with_kwのv1.6以下での代替物は

Base.@ kwdef struct Foo{A}
a::A = 1
b::B = 2.0
end

で、Parameters.@ unpackのv1.7以上での代替物は

(; b, a) = foo

タグ: Julia言語

posted at 12:21:13

こーた丼 @rental_math

21年5月6日

@genkuroki なるほど。アップデートしてみます。

タグ:

posted at 12:06:51

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語

foo = (a=1, b=2, c=3)

(; c, a) = foo

は v1.7 以上(nightly build)でのみ利用可能。

v1.6以下でも

foo = (a=1, b=2, c=3)

using Parameters

@ unpack c, a = foo

で同じことをできます。

私は数日前の nightly build を便利に使っています。 twitter.com/hackstudying/s...

タグ: Julia言語

posted at 12:06:16

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

21年5月6日

「ニセ科学とその周辺から科学的であることを考える」

1時間半あるのですが、トピックは分かれているので、少しずつ聞いていただければいいと思います。ニセ科学問題・ワクチン問題・放射能問題について話しています。
ぜひ聞いてください!

youtu.be/lbChqX8mOYE

タグ:

posted at 12:06:00

非公開

タグ:

posted at xx:xx:xx

黒木玄 Gen Kuroki @genkuroki

21年5月6日

第一局での斎藤慎太郎八段の粘りまくりの大逆転はすごかった。
第二局と三局では渡辺明名人の強さが印象的。
強さを印象付けた直後の報道で偶然の力で笑いを取るのはすごい。

タグ:

posted at 10:06:05

黒木玄 Gen Kuroki @genkuroki

21年5月6日

あまりにもひどすぎて、笑ってしまった。

添付画像達

www.sciencedirect.com/science/articl...

vivit.blog.jp/archives/24446...

を比較すると左右が逆になっている。 twitter.com/parasite2006/s... pic.twitter.com/nWPW0W9fyK

タグ:

posted at 09:31:07

こーた丼 @rental_math

21年5月6日

Julia言語でタプルの取り出しができない pic.twitter.com/6N2nWWpUZ5

タグ:

posted at 09:23:07

Miura Hideki @miura1729

21年5月6日

PythonとAPLしか知らないければ、ほとんどの言語がPythonに似ていると思える

タグ:

posted at 08:56:32

Akinori Ito @akinori_ito

21年5月6日

「JuliaがPythonに似てる」というのも程度問題で,CとPythonしか知らなければ新言語JuliaはPython似だと思うかもしれない.{ } がないし

タグ:

posted at 08:54:24

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 0始まりインデックスにこだわって、まるでCでのポインタによる配列の実装の影響を維持し続けるのは、実装の詳細と公開インターフェースを分離するのが普通の現代では時代遅れです。

時代遅れの人達が0始まりインデックスではないJuliaに文句をつけているわけです。

タグ: Julia言語

posted at 08:50:58

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 Juliaでは配列aの最初の成分にはa[begin]で、最後の成分にはa[end]でアクセスでき、a[begin+i] や a[end-i] のような書き方もできます。

0始まりインデックスでのa[i]はJuliaでの任意始まりインデックスが可能な世界でのa[begin+i]に対応していると認識できると楽になります。

タグ: Julia言語

posted at 08:47:39

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 任意始まりインデックスの配列がどうしても欲しければ

github.com/JuliaArrays/Of...

を使えます。

タグ: Julia言語

posted at 08:44:59

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 あと、Juliaは1始まりインデックスであることに文句を言う人がいますが、確かにJuliaはデフォルトでは1始まりインデックスですが、配列の操作がきちんと抽象化されていて、インデックスの集合を任意に設定できます。

タグ: Julia言語

posted at 08:44:58

TBDD(モデルナ3回接種済) @TBDD_yahoo

21年5月6日

@parasite2006 @totototo26 まあ、論文に間違った事を載せていたわけで、きっと界隈からは批判が出ると思いますよ(思ってないww

あんなに大きなタンクとか、明確に写っているんですけどね。
石油化学系のコンビナート以外のなにものでもない。

タグ:

posted at 08:42:58

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 foo.jl の中で無視できない遅延が発生するパッケージの読み込みを行っているのに、julia foo.jl を繰り返すのも合理的ではない。

julia> using Revise
julia> includet("foo.jl") # foosolveの定義
julia> fooprob = (g = 9.80665, l = 2.0)
julia> sol = foosolve(fooprob)

が勝る。

タグ: Julia言語

posted at 08:40:58

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 「Juliaでは函数にしないと遅い」と言われたとき、大量の繰り返しのコードは函数の中に入れた方が良いですが、

prob = (g = 9.80665, l = 2.0)
sol = solve(prob)

のようなコードを函数で包む必要はないです。

速度が必要な部分はすでにsolve(prob)に函数化されています。

タグ: Julia言語

posted at 08:36:02

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 Juliaは素直なコードを書けば、効率良く計算してくれるように設計されているように感じられる。

特別に「学習」しなければ固定されることがなさそうな奇妙なスタイルに従うと失敗することが多い。問題はそのよくよく考えると奇妙に感じられるスタイルが結構広く普及してしまっていること。

タグ: Julia言語

posted at 08:30:51

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 素直にコード化すれば

# 問題を記述
prob = (;
g = 9.80665,
l = 1.0,
u0 = 0.0,
v0 = 6.0,
tspan = (0.0, 30.0)
)

# 手法を記述
alg = (; dt = 0.01)

# 問題probを手法algで解く函数
function solve(prob, alg)

end

となるはず。私はこれでよいと思う。

タグ: Julia言語

posted at 08:26:28

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語

解きたい問題があってコードを書く場合には、問題を記述するパラメータ群が何であるか、問題を解くためにどの手法を採用するか(手法を記述するパラメータ群は何か)、などを前もって明瞭にしておく必要がある。

明瞭にできているなら、それを素直にコード化すればよい。続く

タグ: Julia言語

posted at 08:23:02

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語

using Parameters
function solve(prob)
@ unpack g, l = prob
g, lを使って問題を解くコード
end

# nightly build (v1.7)以上
function solve(prob)
(; g, l) = prob
g, lを使って問題を解くコード
end

のスタイルを使えば、グローバル変数をナマで使わずに済む。

タグ: Julia言語

posted at 08:15:42

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 prob.g, prob.l と書くのは面倒なので、

using Parameters

@ unpack l, g = prob

として、g, lを使うこともできる。(@ の後の空白を削除, l, gの順序はどうでもよい)

nightly buildでなら、Parameters.jlを使わずに、

(; l, g) = prob

とさらにシンプルに書ける。

タグ: Julia言語

posted at 08:12:02

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 問題を記述するパラメータ群をまとめるためにstructを使ってもよいし、もっと気楽にTupleやNamedTupleを使ってもよい。

例えば、単振り子の問題を記述するパラメータ群をNamedTupleに

prob = (g = 9.80665, l = 2.0)

とまとめたりする。g, lには prob.g, prob.l でアクセスできる。続く

タグ: Julia言語

posted at 08:08:25

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 シンプルで分かりやすい処方箋は

①問題を記述するパラメータ群は1つの変数probにまとめる。

②問題を記述するパラメータ群が梱包された変数probをその問題を解くために使用される函数に常に引数として渡す。

③問題を解く函数をsol = solve(prob)のように使えるようにしておく。

タグ: Julia言語

posted at 08:04:29

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 続き。

問題の設定を変えたければ、グローバル変数に値を代入している行を書き変える。それを何度でも繰り返す。

手抜きのコードを気楽に書いてもよいことにするべきだと私は強く思っているのですが、わざわざ、高等教育でそういう効率の悪すぎるワークフローを教えるのはひどい。

タグ: Julia言語

posted at 07:58:45

マナマの生マナマコ @chor0sK

21年5月6日

Juliaは妙にPythonと似ている__ようにみえる__部分があるけど、「Pythonのように書ける」はあくまでキャッチコピーであって、実際に書くときはPythonのことはすっぱり忘れたほうがいいまである。Pythonより書きやすいものを書くのにPythonの知識はかえって邪魔。

タグ:

posted at 07:57:31

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 グローバル変数を函数のコード中でナマで使用せずに常に引数で渡すことが、もしも面倒に感じているなら、大学などでのよろしくない教育に毒されている疑いが強い。

問題を記述するパラメータ群をグローバル変数に代入しておいて、それらを函数の中でナマで使う行為が横行している。

タグ: Julia言語

posted at 07:55:15

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 ただし、公式ドキュメントの

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

には目を通して、したがっておいた方が無難。

特にグローバル変数を、函数に引数として渡さずに、函数のコードの中でナマで使うことはやめた方がよい。

あと、@ timeと@ code_warntypeによる確認も基本。

タグ: Julia言語

posted at 07:51:05

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 他人が作ったパッケージを利用せずに、自分専用のコードを書く場合には、

f(x, y) = ~

function f(x, y)

end

の引数の型名を一切書かずにすませてよい場合が多い。

このように書いたことが原因で速度的な劣化が起こることはない。

この辺の気楽さが非常に便利。

タグ: Julia言語

posted at 07:43:40

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語

Juliaの記号法で

f(x::TypeA, y)

を x が TypeA 型のとき

x.f(y)

と書いて、メソッド f(x::TypeA, y) がTypeA型のオブジェクトxに属するとすることが、ちょうどクラスベースのオブジェクト指向のよくあるスタイルになる。

Juliaの多重ディスパッチでは引数x, yが平等に扱われる。

タグ: Julia言語

posted at 07:32:35

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語

f(x, y) = x * y
# 定義域は Any×Any

f(x::AbstractString, y::Integer) = x^y
# 定義域は AbstractString×Integer

とすると、函数f(x, y)の実行時に(x, y)が後者のより狭い定義域に属するとき、後者のメソッドx^yが実行されるようになる。

これが実行時多重ディスパッチ。

タグ: Julia言語

posted at 07:29:01

れいそん @I_LY_TT

21年5月6日

juliaとPythonが似てる、はあんまり分からない派だ

タグ:

posted at 07:23:53

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 あと、Juliaでは、クラスベースのオブジェクト指向ではなく、パラメータ付きの型ベースの実行時多重ディスパッチを採用しており、メソッドはある特定のオブジェクトに属すとは考えない。Juliaでのメソッドはfunctionに属する。Juliaのfunctionはメソッドの集まり。

methods(sin)
pic.twitter.com/EvCgLfKuXN

タグ: Julia言語

posted at 07:23:38

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 あと「リスト」というJuliaでは間違った感覚で

Y = []
for x in X
push!(Y, sinpi(x))
end
Y

のようなコードを書くのもひどく損である。

YがAny型成分のVectorになり、大幅な速度的劣化を招く。

Y = sinpi.(X)

の方がよい。

Juliaでのドット構文は非常に便利。 pic.twitter.com/OwtHTc2y5u

タグ: Julia言語

posted at 07:16:57

鰹節猫吉 @sunchanuiguru

21年5月6日

問題ありと認識しつつも、オススメしてしまうのか…
#超算数 twitter.com/crm_i0/status/...

タグ: 超算数

posted at 07:10:37

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 具体的には、

sum([f(x) for x in X])

と書くのは、 [ ] で囲んでいるせいでVector=1次元配列が作られ、その分だけメモリアロケーションが発生するので非常に損である。[ ] で囲むのをやめて

sum(f(x) for x in X)

とした方がよい。さらに

sum(f, X)

がシンプル!

タグ: Julia言語

posted at 07:10:22

黒木玄 Gen Kuroki @genkuroki

21年5月6日

#Julia言語 はPythonに似ていると言う人がいるけど、私__も__JuliaはPythonには全然似ていないと思う。

例えば、[f(x) for x in X] はリスト内包表記では__ない__し(リストではなくVectorができる)、多くの場合に[ ]で囲まない (f(x) for x in X) の方がよい(遅延評価されるGeneratorができる)。続く twitter.com/cakkby2/status...

タグ: Julia言語

posted at 07:10:21

Hideki Kawahara: WAS @hidekikawahara

21年5月6日

音声に特化した関数はJuliaでも書いておきたい。自分の勉強用のネタにもなる。 twitter.com/hidekikawahara...

タグ:

posted at 00:52:44

nao @parasite2006

21年5月6日

@TBDD_yahoo @totototo26 この論文www.sciencedirect.com/science/articl... 掲載通知が2020年10月4日で、その1週間後からオンライン公開され、掲載号が2021年4月号として正式発行される前に半年近く抄録と絵解き抄録を誰でも見られる状態だったんですよ。そもそも唯一の日本人著者のラストオーサーがなぜ写真を差し替えさせなかったのか不思議

タグ:

posted at 00:49:23

こーた丼 @rental_math

21年5月6日

@sekai_tankyu 超算数界隈の方の議論などをみていると、、
◦ そもそも授業の組み立てがやばい時がある
◦ 教職課程で扱う心理モデルは現在の心理学では扱わないものが多い
◦ 教員に一定数、リーガルマインドが恐ろしい人がいる
ということです。最後のは、
無実の証明なんかをさせる先生がいるということです

タグ:

posted at 00:44:26

TBDD(モデルナ3回接種済) @TBDD_yahoo

21年5月6日

@parasite2006 @totototo26 写真見た瞬間に少なくとも原発ではない、もっと言えば、石油コンビナートの一角であるというのはわかると思うのですが…
こんな写真を載せている論文など、おして知るべしですねえ。
放送、どうなるか見ものですね。
多分、NHKも気付かないんだろうなあ。

タグ:

posted at 00:40:57

なべきち @nabekichi32

21年5月6日

四角形の分類とか、一切言及しない(俺はコレを誤魔化してると強烈に感じた)し、正直、小学生がアレみて何が学べるのかイマイチわからなかった。
授業ってもっと工夫されてる(研究者なら尚更)と思ってたんだけど、期待が高すぎたのかもしれなくて、普通はあんなもんなのかもしれない
#授業動画ソムリエ

タグ: 授業動画ソムリエ

posted at 00:33:34

なべきち @nabekichi32

21年5月6日

掛け順に関しては論争あるのを知ってるぽく「学校の先生に従いましょう」って忖度して誤魔化してた(「ずつが前」って普通に言ってたケドな)
あと割合はマジで何言ってるのかわかんなかったし、比に関して「同じ比とは何か」がマジで何言ってるかわからなかった。本人分かってない疑惑レベルで

タグ:

posted at 00:29:40

なべきち @nabekichi32

21年5月6日

1番見たかった「速さ」と「単位量あたり」がなかったので、割合(4年)と比(6年)、それから掛け算の導入と文章題、色々な四角形を見た。
基本「問題の解き方ばっか」やってるだけで、情熱大陸系youtuberと大して変わらんわ。オレオの中の人のが、100倍スゴい。

sansu-douga-kuroda.amebaownd.com

タグ:

posted at 00:27:13

なべきち @nabekichi32

21年5月6日

見たで。結論から言えば「算数教育を研究してて出てきた授業がコレかよ…」というガッカリ感しかなかったでござる。

大学教授が「算数の解説動画」を小学生に無料配信…これまでに1000本以上 自宅学習を支援(関西テレビ)
#Yahooニュース
news.yahoo.co.jp/articles/ef4fd...

タグ: Yahooニュース

posted at 00:24:11

タナイ @okinawa__noodle

21年5月6日

RubyってPythonに似てる言語なのかと思ってたら全然違うじゃん、楽しそう

タグ:

posted at 00:21:07

Ukicode @opaupafz2

21年5月6日

JavaScriptはCの恩恵を受けているのでシャロ―コピーなのは意外だった、というのが正直な感想。
Julia、知ってた。

タグ:

posted at 00:06:32

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

User

» More...

Tag

» More...

Recent

Archive

» More...

タグの編集

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

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

送信中

送信に失敗しました

タグを編集しました