黒木玄 Gen Kuroki
- いいね数 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 を見て下さい。
2021年03月27日(土)
再度強調しておくけど、件の元ネタの状況は標数0で無限体上の話だとみなされるので、多項式と多項式函数を同一視して何も問題が生じない場合になります。
これは数学的事実であり、議論の余地はない。続く
タグ:
posted at 00:37:28
さらに、有限体上の多項式環𝔽_q[x]の要素をそれから自然に決まる𝔽_q上の函数と同一視できない点を指摘して、多項式を多項式函数と同一視できないと安易に言ってしまうのもまずい。
なぜならば、𝔽_q[x]の要素は代数閉包𝔽̅_q上の函数とは自然に同一視でき、実際にそうするパターンが多いからです。
タグ:
posted at 00:43:00
多項式を単なる抽象的な環の要素とみなすだけではなく、函数ともみなせる方が数学的な考え方は豊かになります。
有限体上の場合には確かに注意は必要ですが、定義域を代数閉包まで広げれば多項式と多項式函数を同一視できるし、実際にそうすることが便利な場合があります。
タグ:
posted at 00:46:14
安易に考えたら「○○できねえ」となったとしても、実際には適切な設定のもとでは○○することができて便利ならば、たとえ高校生にすぐに理解できなさそうな話であっても正直に「できます」「便利です」と言わないとまずいと思います。
タグ:
posted at 00:50:54
加藤公一, 가토우 기미카즈(はむかず) @hamukazu
個人的にはPython言語という言い方にはちょっと違和感あるけど、Julia言語って言い方にはあまり違和感ないのはググったときの結果の違いからだろうか。
タグ:
posted at 00:54:40
popo_ collector_shad @popo_shadow
高速性に定評あるプログラミング言語「Julia」v1.6がリリース | TECH+ #SmartNews news.mynavi.jp/article/202103...
タグ: SmartNews
posted at 01:35:34
cppyy: Automatic Python-C++ bindings — cppyy 1.9.3 documentation
嘘だろ(´・ω・`) cppyy.readthedocs.io/en/latest/
タグ:
posted at 01:46:42
#Julia言語 の多重ディスパッチを強く支持している人達は、「多重ディスパッチのJuliaにはクラスベースのOOPの機能を追加するべきではない」「OOPのデザインパターンはOOPの欠陥を補完するものであり、多重ディスパッチではよりシンプルな方法で解決できる場合が多い」と主張しています。続く twitter.com/donnay1224/sta...
タグ: Julia言語
posted at 08:34:42
【19桁】新しいCC14、6406832057206010429 が見つかった。4.8e18まで処理が完了しているので、CC14は11番目の 4823486684252233139 までが正式。 pic.twitter.com/tR5uxg1Q8B
タグ:
posted at 08:34:44
#Julia言語 資料
C++の開発で知られるBjarne Stroustrupさんは、f(x,y,z)をx.f(x,y)と書くスタイルの採用は浅い考えに基く失敗で、多重メソッド(=多重ディスパッチ)の採用が良さそう、のように言っているように見えます。
discourse.julialang.org/t/is-julias-wa...
↓
www.open-std.org/jtc1/sc22/wg21... pic.twitter.com/9HuagVm9I6
タグ: Julia言語
posted at 08:34:44
#Julia言語 資料
多重ディスパッチは1980年代にCommon Lispで採用されており、Juliaはパラメータ付きの型による多重ディスパッチを使って全体が設計されています。
歴史的にプログラミング言語界で多重ディスパッチは余り広まらなかったのは不思議だという話↓
discourse.julialang.org/t/is-julias-wa...
タグ: Julia言語
posted at 08:34:45
#Julia言語 資料:多重ディスパッチの重要な応用例
①線形代数の効率的な実装
②数値型のプロモーション問題の解決
③オブジェクトの文脈依存の表示
discourse.julialang.org/t/is-julias-wa...
②にSwiftは苦労↓
github.com/apple/swift-ev...
【This proposal~DOES NOT solve the integer promotion problem】
タグ: Julia言語
posted at 08:34:46
#Julia言語 資料:多重ディスパッチの重要な応用例の追加
④拡張が容易なplot函数
matplotlibとの比較↓
discourse.julialang.org/t/is-julias-wa...
タグ: Julia言語
posted at 08:34:48
#Julia言語 関連スレッド
多重ディスパッチでは
①既存の型達の組み合わせへの新しいメソッドの追加
②既存の函数への新しいメソッドの追加
の両方が易しいという話↓ twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 08:34:48
繰り返しになりますが、
f(a,b,c,d,…)におけるa,b,c,d,…の型の組み合わせによって、同名の函数fで実行されるメソッドが別のものになるようにできる
という仕様が「普通」になっていないことが非常に不思議。
タグ:
posted at 08:38:52
田中一馬 但馬牛農家の精肉店・田中畜産 @tanakakazuma
自分が産んだ子牛が怖い→パニックで蹴る→母さんが怖い→乳を飲まなくなる。生き物だもの。そんなケースだって普通にあるよね。親にしか出来ないことがある一方で、人だからこそ出来ることもある。脚持ち哺乳法は「怖くないよ」を間に入って伝える技術。放置しない。それが人の役目なのだ。(続く) pic.twitter.com/V4IkW14Qoj
タグ:
posted at 08:39:58
#Julia言語 資料
多重ディスパッチなプログラミング言語間での引っ越し(Common Lisp → Julia)については以下を参照。
Juliaで採用されたパラメータ付きの型によるディスパッチが強力という話↓
tamaspapp.eu/post/common-li...
Switching from Common Lisp to Julia
2017/10/15
タグ: Julia言語
posted at 08:48:54
田中一馬 但馬牛農家の精肉店・田中畜産 @tanakakazuma
でもやっぱり脚持ち哺乳は子牛のためで、親牛にはストレスの極みなんだよね。いつまでも動きを封じるのではなく少しずつ離れることも大切だと感じてる。脚を下ろす→ロープを解く→軽く叩いて気を逸らす→掻き掻きする→離す。諦めも含めて、この任せるまでの判断と匙加減が牛飼いの技術だと僕は思う。 pic.twitter.com/Uc26DBO8vV
タグ:
posted at 08:53:55
#Julia言語 資料
「Juliaは本質的にFortranモデルを実装している」とおかしなことを言う人に対する対応。
でも、多重ディスパッチのお陰でクラスが無用であることが明瞭になっているJuliaのスタイルを「単なる函数群のべた書き」のように誤解するパターンは結構見る。
discourse.julialang.org/t/about-inheri...
タグ: Julia言語
posted at 08:58:05
#Julia言語 C++の開発者はx.f(y,z)のスタイルは間違いだったと言っていますが、Juliaでもf(x,y,z)をx.f(y,z)と書けるようにできます(笑) 冗談の1つとして遊びで行われている。
私もやった→ gist.github.com/genkuroki/3d29... twitter.com/genkuroki/stat... pic.twitter.com/Xf4IMIJnfw
タグ: Julia言語
posted at 09:04:20
田中一馬 但馬牛農家の精肉店・田中畜産 @tanakakazuma
↑このお母さんは動画撮る10分前まで子牛を蹴ってたんだよね。信じられないでしょ。少しずつ少しずつ。4日間かけてここまできたのだ。本当に良かったな。。昨夜から親子同室に戻した。多分もう大丈夫。 twitter.com/tanakakazuma/s...
タグ:
posted at 09:09:19
#Julia言語 関連
discourse.julialang.org/t/about-inheri...
【There is also github.com/mauro3/OO.jl 😉
(please don’t use it!)】
「使わないでね😉」的な冗談パッケージです。
Juliaではメソッドはクラスの保有物だとは考えないのですが、そのように見えるような実装は可能です。 pic.twitter.com/8vfJZwJ602
タグ: Julia言語
posted at 09:12:48
#Julia言語 私によるDistributions.jlの"x.f(y,z)"化の解説
dist1 = 平均0標準偏差1の正規分布オブジェクト
dist2 = 平均0標準偏差1.001の正規分布オブジェクト
dist1が「保有」するisapproxメソッドでdist2と比較している(ように見える)。
相対誤差0.01でdist1とdist2は近似的に等しい。 pic.twitter.com/5zG3hESwqh
タグ: Julia言語
posted at 09:18:24
#Julia言語 Juliaでは普通
dist1 ≈ dist2
とか
isapprox(dist1, dist2; rtol=1e-2)
と書きます。函数 a ≈ b, isapprox(a, b) はa,bの型ごとに違うメソッドを実行するようになっています。
Distribution型のオブジェクトxについて、f(x,y,z)をx.f(y, z)とも書けるようにする方法↓(容易) pic.twitter.com/VYoOgSVhUk
タグ: Julia言語
posted at 09:22:43
#Julia言語 個人的な意見では、"x.f(y,z)" スタイルの最大の利点は「タブ補完の実装が容易なこと」です。
「x. タブ」でオブジェクトxに実装されているメソッド一覧が表示されるのはマジ便利。
私の「実装」でもBase. propertynamesの設定によって「dist. タブ」で補完できるようにしています(笑) twitter.com/genkuroki/stat... pic.twitter.com/zml510YkEh
タグ: Julia言語
posted at 09:42:16
@genkuroki CLOSには最初から多重ディスパッチがありましたし、C++のtemplateもコンパイル時多重ディスパッチとみなすことができます。OOP対多重ディスパッチなんて、20年以上遅れた何をいまさらな話です。
タグ:
posted at 09:44:42
#Julia言語 多重ディスパッチでは、メソッドが1つのオブジェクトに保有されていると考えることはできず、複数のオブジェクトの型の組み合わせで使用できるメソッドが決まります。タブ補完の仕様の決定自体が難しい問題になる。しかし以下を参照↓
github.com/JuliaLang/juli...
タグ: Julia言語
posted at 09:48:19
#Julia言語 あと、わざわざJulia好きが集まる場所にやって来て、「Juliaでも継承を実装しろ」と言うパターンも検索すると結構出て来る。
よくある回答は「compositionを使えないのか?」「minimal working exampleを示して下さい」です。
結果的にJuliaと無関係な話題になる。 twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 09:56:33
Masayuki Konishi @masayuki_ko24
@Perfect_Insider ほんとに、そう案内してありますね。。。 信じられん。 この、他人 (ここでは家族だけど) に、暗証番号教える運用を行った時点で、マイナンバーカードによるネットでの申請は、本人による申請か、家族による申請かを区別できなくなった。 という事実に気付いているんだろうか? 崩壊してない?
タグ:
posted at 10:09:10
#Julia言語 確率分布を扱うためのパッケージDistributions.jlについて、"x.f(y,z)"化を試してみた理由は、そのパッケージが例外的に "x.f(y,z)" スタイルと相性が良いからです。
確率分布を1つのオブジェクト(例えば Normal(2, 3))とみなすこと自体はそれなりに自然な考え方です。続く twitter.com/genkuroki/stat...
タグ: Julia言語
posted at 10:12:15
パラメータ付き確率分布 p(x|θ) の実装では、外部からxやθが動ける範囲が見えている必要があります。
Distributions.jlでは dist(θ) をオブジェクト化しているのですが、θ抜きでオブジェクト化するという考え方もあります。
タグ:
posted at 10:38:33
高速性に定評あるプログラミング言語「Julia」v1.6がリリース news.mynavi.jp/article/202103... #スマートニュース
タグ: スマートニュース
posted at 11:36:00
@tsatie 私が知る限りにおいて、tsatieさんは特殊なケースです。
普通はちょっとしたアドバイスですぐにJupyterを使えている。
すでに1.5.3で使えているのだから、普通の人にはできないような特別な予想外のヘマをやっているだけだと思います。 twitter.com/tsatie/status/...
タグ:
posted at 12:02:45
Elaboración propia de gráficas mediante el lenguaje de programación #JuliaLang y con datos de: www.gob.mx/salud/document... [fin de hilo]
タグ: JuliaLang
posted at 12:15:22
@tsatie 1.5.3で使えているのだから、1.6.0の側で初歩的な失敗をしているだけの可能性が高いです。できてしまえば、「たったそれだけのことで苦労していたのか」となる可能性が高い。 twitter.com/tsatie/status/...
タグ:
posted at 12:17:36
#第1種カニンガム鎖 のリベンジ
圧倒的先を行く @kazmuzik さんコメントから
・素数pのmodベースで考えると、CC_n鎖で合成数になるので候補をだいぶ外せる
等から
CC12(12桁) ⇨ CC14(17桁)
の確認に成功
あと #Julia言語 v1.6.0のこけら落とし
gist.github.com/pppp314592/e29...
posted at 12:20:43
こ、これが、東大出の博士で、教授…
日本の理系は数学の本質的な理解をあまりにも蔑ろにし過ぎでは… twitter.com/tsuyu2011/stat...
タグ:
posted at 12:37:17
@Cal215 @yamazaksv2 @kamo_hiroyasu @mike_twinkle これ、すでにしつこく書いたのことですが、最初の式で分母が0になるからこそ、「x=±1を使うといいことがあるだろう」と考える方が数学に慣れていれば普通だと思います。
直接代入するのは無理でも、分母を払えば代入できる。実際に計算もシンプルになっています。
タグ:
posted at 12:54:28
@Cal215 @yamazaksv2 @kamo_hiroyasu @mike_twinkle 瑕疵の有無に特に注目すると数学的につまらない話にしかならないのですが、分母が0になる極の位置に注目することが様々な御利益を生み出すという話にすれば、数学的に面白い話になります。
面白い話になるのに誤り扱いにして潰すのは非教育的。
タグ:
posted at 12:58:12
胸が痛い。コロナで亡くなったかたのこと。
私は今まで7回入院しました。家族が面会に来てくれて、愚痴ったり食べたいものを持ってきてくれたり、そういうことが支えになりました。誰とも会えず最期を迎えるなんて、そんな辛いことが毎日起きているんですね。コロナでなくても今はどこも面会禁止です。
タグ:
posted at 13:01:13
@Cal215 @yamazaksv2 @kamo_hiroyasu @mike_twinkle 分母を払った 2 = a(x+1) + b(x-1) を得た後であっても、xに直接±1 を代入することにどうしても抵抗があるなら(笑)、xを±1に近付ける極限を考えれば良いと思います。x→1とすると結果的にxに1を代入したのと同じ結果になる。
色々な考え方をして納得の仕方も複数あると気付けばよいと思います。
タグ:
posted at 13:04:29
押谷先生が、昨年の春、自分の行動の先に亡くなる方がいることを想像してほしいとおっしゃっていました。自分はだいじょうぶでも、その先に人生を断たれるひとがいるかもしれないことを想像してほしいと。
タグ:
posted at 13:05:39
@Cal215 @yamazaksv2 @kamo_hiroyasu @mike_twinkle 「xを1に近付けたときにどうなるか?」という発想であれば、元の 2/(x²-1)=a/(x-1)+b/(x+1)の段階でも可能です。両辺とも発散が 1/(x-1) の定数倍のオーダーで起こり、その定数倍部分の比較で a が求まります。
まずは教える側がこういうことを理解していることが大事。
タグ:
posted at 13:07:39
@Cal215 @yamazaksv2 @kamo_hiroyasu @mike_twinkle 特に大学受験での数学の試験のアドバイザーの仕事をする人は、採点する側が保有している数学の知識やセンスに通じている方がよいと思います。
タグ:
posted at 13:11:08
@ppp3141592ppp アルゴリズム的には私のとほぼ同じですが、Juliaのコードでは圧倒的にエレガントです❣️ たぶん処理速度も速いような気がします。19桁の処理が落ち着いてきたところで、コードを整理してgithubに載せようと考えていたけど、リンクを貼らせてもらうだけで十分な感じです。
タグ:
posted at 13:15:57
@yamazaksv2 私は問題文に「恒等式」と書いてあること自体が良くないと思っています。
有理函数を函数とみなすときの定義域は可変。
例えば、1/xの函数としての定義域からは0を除きますが、xをかけて得られる定数函数1の定義域からは普通0を除いたりしない。そういう代物について「恒等式」と言うのはビミョー。
タグ:
posted at 13:18:45
@yamazaksv2 おそらく、昔からそういう場合にも「恒等式」という用語を使って来たのでしょうが、論理的にクリアに理解したいときには「そんなのカンケーねー」です。
「±1以外のすべての実数xについて2/(x²-1)=a/(x-1)+b/(x+1)が成立するような定数a,bを求めよ」ならクリア。
タグ:
posted at 13:21:47
日本の大学入試の数学では、今のところ、採点者の無知無能が原因で正しい解答が誤り扱いされる心配をする必要はありません。受験生のみなさんは、ダメ採点者への忖度など考えずに数学を学んでください。
タグ:
posted at 13:23:40
よく知られているように共通テストの記述式とやらで大学入試の採点への安心が崩壊する危機がありましたが、ギリギリで回避されました。回避に向けて動いたすべての方々に感します。
タグ:
posted at 13:23:41
@yamazaksv2 中高の数学の教科書には19世紀の時代遅れのスタイルが残っています。
だから、論理的厳密性にこだわりたい人は、中高の教科書を基本文献として参照するべきではないです。
多分、この辺から改善が必要なのだと思います。
タグ:
posted at 13:25:05
私は押谷先生のその記事を読んで、泣いてしまいました。こんなふうに思ってくださる方がいらっしゃるのだと。当時は「死ぬのは年寄りばかりだから、コロナに罹って死ねばいい」そんなツイートもあったのです。
タグ:
posted at 14:45:47
第1種カニンガム鎖プロジェクトに関する今月中旬のアルゴリズム twitter.com/kazmuzik/statu... を @ppp3141592ppp さんが独自にきれいに Juliaで実装してくれた❣️ twitter.com/ppp3141592ppp/...
タグ:
posted at 14:49:51
カニンガム鎖関連の論文 arxiv.org/abs/1807.08777 と arxiv.org/abs/2103.04483 を読んで、Hardy-Littlewood予想をベースにした推定値を計算する過程を通して twitter.com/kazmuzik/statu... 現在のアルゴリズム自体を画期的に改善することはほぼ限界に達している感じがする。ただし実装をさらに最適化して‥
タグ:
posted at 15:11:27
ヒカルリ(ハイパー都内勤務エンジニア) @hika_ruriruri
自分のパソコンの個人データは削除して.bashrcに"alias python='julia'"って書いて研究室を最後にした。
タグ:
posted at 17:31:03
#Julia言語 配列に関するforループ3題
gist.github.com/genkuroki/94a4...
①整数の和
for x in A
@ inbounds for i in eachindex(A)
よりも
for i in eachindex(A)
が遅い。配列の要素に A[i] の形式でアクセスする場合には論理的なデバッグが終わった後に @ inbounds を付けると速くなる。 pic.twitter.com/MfX7E8CSrN
タグ: Julia言語
posted at 18:57:57
#Julia言語 配列に関するforループ3題
gist.github.com/genkuroki/94a4...
②Float64の和
@ simd for x in A
@ inbounds @ simd for i in eachindex(A)
は速いが後者から@ inbounds @ simdの片方を削除するとかなり遅くなる。 pic.twitter.com/SfyrOukigi
タグ: Julia言語
posted at 19:00:22
#Julia言語 配列に関するforループ3題
gist.github.com/genkuroki/94a4...
③配列にはメモリオーダーでアクセスした方が速い。
2次元配列 A[i, j] の話をforループで計算する場合には、
for j in axes(A, 2)
を外側に
for i in axes(A, 1)
を内側にするべきである。これを逆にするとかなり遅くなる。 pic.twitter.com/tpbRrK4OTs
タグ: Julia言語
posted at 19:04:05
田中一馬 但馬牛農家の精肉店・田中畜産 @tanakakazuma
そんな脚持ち哺乳法について解説しました。(全編はYouTube見てね。)youtu.be/Ab113gtay2I pic.twitter.com/fdAk0Z56PN
タグ:
posted at 19:15:23
#Julia言語 多次元配列アクセスのための多重forループの他の書き方については
discourse.julialang.org/t/how-much-can...
と
discourse.julialang.org/t/how-much-can...
discourse.julialang.org/t/how-much-can...
を参照。
タグ: Julia言語
posted at 19:48:18
#Julia言語
discourse.julialang.org/t/julia-motiva...
要約【多重ディスパッチとの出会いは20年前の大学でのCommon Lispを使った授業でのCLOS。C ++の方法よりもずっと綺麗で強力だと思った。約10年前にClosure学んだときや、数年後にRのS4システムについて学んだときにCLOSでの経験が活かされた。】
タグ: Julia言語
posted at 20:00:07
埼玉のミネラルマルシェで炭化ケイ素の欠片を手に入れたので、
点接触型LEDを作ってみた
ちゃんと青色に光るけど36Vかけても20mAしか流れない pic.twitter.com/T45pckiHUd
タグ:
posted at 20:12:20
#Julia言語 多重ディスパッチ関連の話題から脱線。
「どうして Python + Cython, Numba, Pythran よりも Julia が優れていると考えられるか」についてのJulia側の考え方は、以下のリンク先スレッドのリンク先以降を見れば分かります。
discourse.julialang.org/t/julia-motiva...
タグ: Julia言語
posted at 20:29:05
ディフェンスに定評のある池上。
高速性に定評あるプログラミング言語「Julia」v1.6がリリース | TECH+ news.mynavi.jp/article/202103...
タグ:
posted at 20:43:01
これもJupyterだけかもしれないけど、sampling中にprogress barが毎秒新しい行にプリントされるので出力がえらいことになる…抑制できるのかな?
タグ:
posted at 20:55:59
マイナビニュース: 高速性に定評あるプログラミング言語「Julia」v1.6がリリース.
news.mynavi.jp/article/202103...
@GoogleNewsから
タグ:
posted at 22:05:41
Juliaでvectorを返す関数があって、その関数を普通にbroadcastすると、ネストされたvectorのvectorになるんだけど、これをMatrixで直接出力する最適な方法はなんだろうか🤔。
タグ:
posted at 22:16:36
#数楽 4次方程式を3次方程式に帰着する仕組みと、4次の置換群がKleinの4元群を正規部分群として持つことに関係の詳しい説明については渡辺敬一・草場公邦『代数の世界』のpp.230-231(添付画像①)を見て下さい。
やろうと思えば計算で確認できる類の話を添付画像②③④に示しておきました。 twitter.com/rtx_gh/status/... pic.twitter.com/58C2OrG5R9
タグ: 数楽
posted at 23:14:14
#数楽 特にその④に書いてあることは高校生に数学を教える人達には知っておいてもらいたいです。佐武一郎『線型代数学』の行列式の章は何度見直しても非常に面白いです。
x³+y³+z³-3xyzが因数分解可能になることの1つの説明は「巡回行列式だから」です。有限Abel群の場合に一般化される。 pic.twitter.com/nk4Um1sI92
タグ: 数楽
posted at 23:18:06
加藤公一, 가토우 기미카즈(はむかず) @hamukazu
ちなみに「クリティカルシンキング」という日本語を最初に見たときは、「致命的な沈没」だと思いました。
タグ:
posted at 23:20:07
#数楽 大事な注意→有理函数は定義より写像としての函数ではないです。
だから、有理函数の話をしているのに、多項式函数の話に勝手にするのはおかしい。
一般の体上の多項式の微分ではh→0の極限を使えないので、多項式(f(x+h)-f(x))/hにh=0を代入して定義することが定義の1つの方法になります。 twitter.com/k_ito1213/stat...
タグ: 数楽
posted at 23:48:53
まあ、いずれにせよ、高校生に対して、元ネタの問題について
2/(x²-1)=a/(x-1)+b/(x+1)
↓
2=a(x+1)+b(x-1)
とした後にx=±1を代入できなくなるような指導をする人は、その高校生を害しているので、非難されるのは仕方がないことだと思います。
着地点はx=±1を代入してよいことの理解であるべき。
タグ:
posted at 23:55:32
あと、多項式と多項式函数の同一視は大したことはなく、そこに問題があるわけではない。まるで多項式と多項式函数の同一視が問題であるかのように言った人はミスリーディングな発言をしている。
有理函数(=多項式環の商体の元)を写像の意味での函数とみなすことの内容は非自明なので要注意。
タグ:
posted at 23:59:45