黒木玄 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年08月11日(水)
日本の大学生で人文科学専攻が多いのは,民主主義で放っておいたからではなく,大学教育の拡大を民間にやらせた「資本主義」のせいではなかろうか。理系だと教育コストが高く(補助金の少ない私学では)学費が4-5割ほど割高,卒業後の収入や就職率に大きな差がなければ需要側も供給側も文系を選好。
タグ:
posted at 01:25:53
#Julia言語 多重ディスパッチのカジュアルな使い方を覚えるには、自分が定義した型のオブジェクトのデフォルトでの表示の仕方を Base. show の定義で設定することを試すとよいです。
Hello型オブジェクトHello(a)が Hello, a! と表示されるようにするには、Base. show(io::IO, x::Hello) を定義。 twitter.com/genkuroki/stat... pic.twitter.com/LXAKAS0Qw8
タグ: Julia言語
posted at 05:33:57
#Julia言語 上のままだと、Hello(π) が
Hello, π = 3.1415926535897...!
と表示されない。そのように表示されるようにするには、Base. show(io::IO, ::MIME"text/plain", x::Hello) を定義してやります。 pic.twitter.com/wLqbFQkAQB
タグ: Julia言語
posted at 05:36:54
#Julia言語
structの定義で試行錯誤する場合には module でstructの定義を囲んで、定義の変更はモジュール全体の上書きで行うと楽です。
以上のソースコード
github.com/genkuroki/publ...
Base. show の公式ドキュメント
docs.julialang.org/en/v1/base/io-...
docs.julialang.org/en/v1/base/io-... pic.twitter.com/XprjGjztsv
タグ: Julia言語
posted at 05:43:43
#Julia言語 最近印象的だったのは、「Landau分布をJuliaで扱うには?」という質問に、確率分布を扱う基本パッケージのDistributions.jlにLandau分布を追加する別の独自パッケージLandauDistribution.jlが紹介されていたシーンです。
discourse.julialang.org/t/landau-distr...
github.com/Moelf/LandauDi...
タグ: Julia言語
posted at 06:23:13
#数楽 以下のスレッドを書いていて、
数学の解説は個性が出易い分野である
という持論がさらに強化された感じがしました。
自分の名前(一貫したペンネームでよい)のもとで個性的な数学の解説を書く人が増えるとよいと思います。
そして実際に読者を得るのは魂のこもった個性的な解説だと思う。 twitter.com/genkuroki/stat...
タグ: 数楽
posted at 06:48:55
#Julia言語 表示函数を定義するとき、後で表示結果を文字列で取得したくなる可能性があるなら、
function show_Hello(io::IO, x)
~
end
show_Hello(x) = show_Hello(stdout, x)
とIO型オブジェクトへの表示函数経由で、stdoutへの表示函数を定義しておくとよい。sprintでつかえるようになる。 pic.twitter.com/BGaYws9tjb
タグ: Julia言語
posted at 07:13:37
#Julia言語 続き。一般に f(io::IO, x) 型の表示函数について、文字列をえるために sprint(f, x) が使えます。
すでに用意されている函数で使い易い部品となる函数を書けるようになると色々手間が省けるようになることもあるかも。
ソースコード
github.com/genkuroki/publ... pic.twitter.com/wV2bxN02mi
タグ: Julia言語
posted at 07:16:57
あと、数学書好きの多くは「高度で難しいことについて書かれているように見える本を好む」という傾向を持っていると思います。
だから、紹介した梶原健さんの本はそういう人達に表紙を見ただけで敬遠される可能性がある。
しかし、その内容は独自のアイデアに満ちた本格的なものになっています。
タグ:
posted at 07:27:19
背景には「緊縮財政」があります。
入管施設で働こうとする医師は少ない。待遇も悪い。
矯正施設も同様。
法務行政を経験した者は理解しています。
でも退官するまでは政府方針に逆らって財源不足を口にすることはできない。
収容のスリランカ人女性死亡 “体制不十分” www3.nhk.or.jp/news/html/2021...
タグ:
posted at 07:37:52
#Julia言語 My.Hello型オブジェクトのshowによる表示のされ方はrepr函数で文字列にできます。
github.com/genkuroki/publ... pic.twitter.com/QNd6IRZcv2
タグ: Julia言語
posted at 07:40:49
#Julia言語 例えば、有理数の型を持つ a, b から複素数の型を持つ a*1im + b*1im が添付画像のように適切に得られます。有理数からガウス体ℚ(√-1)の要素のようなものが得られている(添付画像①)。
Pythonはこのような mixed-type arithmetic が適切に実装されていません(添付画像②)。 pic.twitter.com/4jOJ9fiTBN
タグ: Julia言語
posted at 07:59:56
#Julia言語 mixed-type arithmetic は Swift でさえうまく実現することができないでいるようです。添付画像は github.com/apple/swift-ev... より。Juliaで実現されたことがNon-goalsになってしまっています。
この点はJuliaのパラメトリック型による多重ディスパッチの優れた点だと思います。 pic.twitter.com/Urof7FuAFq
タグ: Julia言語
posted at 08:05:37
#Julia言語 が mixed-type arithmetic の実現のための promotion problem をどのように解いているかについては公式ドキュメントの
docs.julialang.org/en/v1/manual/c...
を参照。
タグ: Julia言語
posted at 08:11:10
Tracer-particle #simulation of an #glacier impact crater. Made with #Python and #Matplotlib pic.twitter.com/ZGSwyNCgho
タグ: glacier Matplotlib Python simulation
posted at 08:11:16
#Julia言語 promotion problemの一般的な解決には本質的に、Juliaのパラメトリック型が使われており、Case Study: Rational Promotionsの例が本質的に重要。
分子分母の整数型が混ざった演算を適切に行う方法をパラメトリック型を使って実現。
github.com/JuliaLang/juli...
docs.julialang.org/en/v1/manual/c... pic.twitter.com/cF8ZW3DHQy
タグ: Julia言語
posted at 08:21:53
#Julia言語 例えば分子分母がInt64型の有理数と分子分母がBigInt型の有理数の和の計算では、前者を分子分母がBigInt型の有理数に変換(昇格 promote)させてから、たし算を計算して欲しいのですが、Juliaでは実際にそうなっています。続く pic.twitter.com/mb7O49W5b1
タグ: Julia言語
posted at 08:26:47
#Julia言語 このような仕組みの実現には「分子分母がT型の有理数の型」がないと苦しいです。Juliaでは型パラメータT付きの型Rational{T}を定義して、それを多重ディスパッチで利用することによって、有理数型の適切な昇格を実現しています。
言われてみればほとんど当たり前に聞こえる解決策。 pic.twitter.com/iGxC1mrhin
タグ: Julia言語
posted at 08:29:59
私がリアルワールドで聞いた話によれば、中学生あたりもひろゆきのYouTube動画を結構面白がって見ているようです。
そういう能力に秀でている人物なので我々は相当に注意を払うべきなのかもしれないと思いました。
たぶんあのスタイルに中高生の段階で影響を受ける子も出て来る。 twitter.com/takeokato719/s...
タグ:
posted at 08:42:10
非公開
タグ:
posted at xx:xx:xx
数値計算のコードを書くときに、浮動小数点数型(もしくは限界精度)によらない一般的なアルゴリズムウィ記述したいと要求すると、ほぼ必然的に浮動小数点数を含む場合の mixed-type arithmetic を実現する必要が生じます。
タグ:
posted at 08:54:12
例えば
f(x) = 2x
というコードで、Int64, Float64, Float32, BugFloat型の数を2倍する函数を一挙に作れないと不便です。型ごとに
f(x::Int64) = 2x
f(x::Float64) = 2.0x
f(x::Float32) = 2f0x
f(x::BigFloat) = big"2.0"*x
と書くのはつらすぎる。
タグ:
posted at 08:54:13
型の昇格について理解していれば、浮動小数点数の計算のコード中に整数を意味する2を気楽に書くことができるようになります。多くの場合にわざわざ2.0のように書く必要はない。
タグ:
posted at 08:56:22
大堀龍一 (Ryuichi OHORI) @__DaLong
Juliaにも苦手なこと is 何 twitter.com/genkuroki/stat...
タグ:
posted at 09:01:20
@cometscome_phys それよりあの発言は、Juliaは最近急速に発展した言語で枯れた情報が少ないことも踏まえて「検索する側がその情報を自分に取り込む際に『どれだけ古い情報か』ということと『それが今も通じるか』ということを見極める能力が必要だよね」ということを言っているのだと思ってました。
タグ:
posted at 09:07:51
Juliaはゴリゴリ変更がされるしそれでいい。日本語で探してキーワードを知って、最新の公式ドキュメントや実装を見に行って読むことで深い理解と英語が学べる。良いことばかりじゃないか!!
タグ:
posted at 09:11:47
非公開
タグ:
posted at xx:xx:xx
単独で動く小さなバイナリの生成は現時点ではまだ苦手です。(数年後にはこの発言が時代遅れになっているかもしれませんが)
個人的な意見では、多くの使用目的においてこれは無視できる欠点です。
しかし、解決すると嬉しい人達がいることもわかる。(でも、動的ディスパッチはどうするんだろうか?) twitter.com/__dalong/statu...
タグ:
posted at 09:18:25
Juliaで、メタプログラミング使いまくりの基本特殊函数の爆速実装を書いて(コードの自動生成は強力)、それをコンパイルした結果をバイナリのライブラリとしてJulia無しの環境でも利用できれば非常に便利だと思うのですが、そういうことを現時点ではまだ気軽にはできない。(おそらくできるようになる)
タグ:
posted at 09:18:26
MITでの講義の宿題の答えでは、実際に使用されているFortranライブラリの5~6倍の速さで動く指数積分函数のコードをJuliaのマクロを使ったアルゴリズムの最適化で実現しています。
これ、Julia外でも使いたいですよね。
nbviewer.jupyter.org/github/steveng...
nbviewer.jupyter.org/gist/genkuroki...
タグ:
posted at 09:24:59
大学の授業も、別に先生が提示した本を買う必要ってないですよね。図書館とかで漁って、自分が読みやすいのを買ったりすれば良い。有名な本なら中古でも流通してます。 twitter.com/genkuroki/stat...
タグ:
posted at 09:26:29
#Julia言語 すでにこういう試みはある。ただし、experimentalでかつ2年ほど更新されていない。原理的には基本特殊函数のコンパイル済みライブラリをJuliaでも作れそう。
↓
github.com/tshort/StaticC...
タグ: Julia言語
posted at 09:30:14
@NatsureNatsure 型セレクタと言います。引数に「型」そのものを受け渡す時の定石的な書き方です、つまりその例の場合
`cutoff_points(NoCutoff)`
という呼び出しができて `0` が返ってきます。
↓参考
docs.julialang.org/en/v1/manual/t...
タグ:
posted at 09:36:35
個人的な意見では、基本特殊函数のコードの整理と最適化は今後あり得る分野の1つだと思う。
ぶっちゃけ、既存のライブラリはアルゴリズム自体が十分に最適化されていないっぽい。
コード中で使われる定数の類は何らかの最適化によって自動生成されることが望ましい。
メタプログラミング必須。 twitter.com/genkuroki/stat...
タグ:
posted at 09:39:50
大昔から使われている基本特殊函数のコードに手が出し難くなっている理由は実際にコードを見ると分かります。RやJuliaで使われている不完全ベータ函数のコード(Cで書かれている)は
github.com/JuliaStats/Rma...
で読めます。2000行もあって、コードもきれいとはとても言えない。
これは手が出せません。
タグ:
posted at 09:43:37
斉藤ひでみ・現職教師(西村祐二) @kimamanigo0815
【岐阜新聞 2021.8.11】
岐阜新聞が、とってもとっても大事な県教委の見解を記事にして下さいました!!!
>県教委の担当者は「制服の着用は義務的ではあるが、100%の義務とはいえない」との見解を示した
▼校則「制服」記載→着用義務ない「標準服」に 県教委に要望
news.yahoo.co.jp/articles/9bdd5...
タグ:
posted at 09:52:45
斉藤ひでみ・現職教師(西村祐二) @kimamanigo0815
僕が見解を変えさせたいとかではなく、もう昔(1947日本国憲法施行)っから、「呼び方が制服だろうが標準服だろうが、公立学校に服装を強制させる権限はない」というのが【揺るぎない事実】なのだ。
(添付は8/23の校則見直しガイドライン検討会議youthconference.jp/archives/3701/でのプレゼン資料) twitter.com/kimamanigo0815... pic.twitter.com/SE6GXt0Kp0
タグ:
posted at 10:00:24
斉藤ひでみ・現職教師(西村祐二) @kimamanigo0815
結局、校則に合致した服装をしていないから懲戒を加えるというのは間違い。
服装に関する指導(声かけ)はできても、それが故に教育を受けさせないなんてことがあってはならないのだ。
タグ:
posted at 10:04:18
基本特殊函数のコード中で使われる定数達の自動生成には、使用する言語の機能をフルに使いたい。
定数達の自動生成から函数のコードの自動生成まで一挙にやってしまうには、Lispのような完全なマクロ(メタプログラミング)が可能なプログラミング言語の使用が望ましい。
Juliaは有力候補。 twitter.com/genkuroki/stat...
タグ:
posted at 10:04:18
Dr. Chris Rackauckas @ChrisRackauckas
@UT_MAPLE @CoryMSimon Here for example is a pure #julialang LU-factorization which was shown to outperform MKL in almost all scenarios (all except full threads on larger matrices) on a Ryzen 5950X.
github.com/YingboMa/Recur...
Because of this, it is now the default in DifferentialEquations.jl.
タグ: julialang
posted at 10:23:09
Dr. Chris Rackauckas @ChrisRackauckas
@UT_MAPLE @CoryMSimon It will use all cores of MKL by default if you do `using MKL`. See github.com/JuliaLinearAlg... for details.
タグ:
posted at 10:30:41
Dr. Chris Rackauckas @ChrisRackauckas
@UT_MAPLE @CoryMSimon But making sure the single threaded version is well-optimized is very important though for parallelizing simulations. At say 20 ODEs (20x20 LUs) you get more performance if you run the simulations in parallel since you then fill the threads to essentially full occupancy.
タグ:
posted at 10:31:24
Dr. Chris Rackauckas @ChrisRackauckas
@UT_MAPLE @CoryMSimon So for smaller ODE solves you want fast single threaded kernels which you then multithread the solve over, which RecursiveFactorization.jl does well. Then for larger ODEs you want to multithread just within the limiting LU factorization, which MKL does well.
タグ:
posted at 10:32:29
AIとチェスの歴史、よくAI側は「エキスパートシステムはチェス世界チャンピオンに勝ったけど、その後の発展性がないからAIブーム終わったんだよね」的な感じで片付けるけど、チェス側の戦い方がまさにハックって感じで良い…
ja.wikipedia.org/wiki/%E3%82%B3... pic.twitter.com/8Gm5q2zzXM
タグ:
posted at 10:49:19
@AntiBayesian これ、Hikaru 側が舐めプしまくっていて、最後の方の 100 手くらいはただいたぶるだけの手ですw www.chessgames.com/perl/chessgame...
タグ:
posted at 10:56:54
Juliaで分からないことあってもいろいろな人が親切に教えてくれるから,なんとかなってるけど,マイナーな言語とか技術だったら,僕はそもそも「調べ方」がよくわかってないので,詰む自信がある.
タグ:
posted at 11:23:45
9月号の「数学セミナー」に1年振りに寄稿しました。「予防接種完了時の新型コロナウイルス感染症流行を
どのように見通しているか」(西浦博).単純な数理の話ではあるのですが、ぜひご覧下さい。 twitter.com/nippyo/status/...
タグ:
posted at 11:42:38
非公開
タグ:
posted at xx:xx:xx
【土居丈朗さんのコメント】「国の借金」は地方自治体全体の債務「地方の借金」と区別するための高級用語法で、キミたちのような無教養な連中は知らないだろうからわかりやすく使ってるんです。
だそうです。おいこら( *`ω´) #wbs
news.yahoo.co.jp/profile/author... pic.twitter.com/HRLv46KEaY
タグ: wbs
posted at 12:03:03
非公開
タグ:
posted at xx:xx:xx
他人と密に接触する、換気が不十分な部屋に数十人を詰め込む、マスクや手洗いを徹底しない、などのどれかが、私がずっと苦しみ続けて来た風邪をひくことの原因だったらしい。
タグ:
posted at 12:20:08
Need to submit quite a few jobs to the production cluster. Encountered an issue with the #JuliaLang JLD package.
Could not fix it for a few days. Left it be for a while, came back today, fixed within 5 minutes.
It turns out, the registry was broken.
Thank you StackOverflow! pic.twitter.com/smUXKjGSbB
タグ: JuliaLang
posted at 12:28:14
新しい記事がZennにアップされました!#Julia言語 #Julia日本語記事
zenn.dev/dannchu/articl...👈
タグ: Julia日本語記事 Julia言語
posted at 15:00:11
Aoba駒落ちで、香落ちの上手が角道を止める三間飛車を指してます。香落ちでは上手は振飛車がよい、が定跡ですが、初めて再発見できたことになります。最近のAIは振飛車全否定ですが、振飛車もまだ可能性があるように思います。www.yss-aya.com/komaochi/no_no...
タグ:
posted at 15:38:46
非公開
タグ:
posted at xx:xx:xx
#数楽 一般に
(1) xᵃ∂ᵃ⁺ᵇxᵇ = ∂ᵇxᵃ⁺ᵇ∂ᵃ
ゆえに
(2) xᵃ∂ᵃ⁺¹x = ∂xᵃ⁺¹∂ᵃ
が成立しているので、
(∂x∂)ᵏ = ∂x∂²x∂²x∂²…∂²x∂
に(2)を左側から順番に適用すれば
(∂x∂)ᵏ = ∂ᵏxᵏ∂ᵏ
が得られます。続く twitter.com/juvenile_crime...
タグ: 数楽
posted at 16:59:06
Fluidic Oscillators are devices with no moving parts that generate an oscillating jet of fluid at high frequencies bit.ly/2uf3aHw [source of the gif: buff.ly/2FhCni3] pic.twitter.com/bvT1AghrdF
タグ:
posted at 17:30:00
最近のCPUは6コア12スレッドとかが普通になっているので、メモリは多めの方がよい。メモリの容量を12で割ると急に心細くなる。4コア8スレッドでも似たようなもの。
タグ:
posted at 17:31:51
Julia言語のコードを題材にした統計学の教科書📙
Juliaの時代来るか!?(いつも言ってる) twitter.com/ynazarathy/sta...
タグ:
posted at 18:58:45
さすが、新型コロナウイルスは捏造、コロナ様症状は 5G 電波が引き起こしている健康被害、非接触式体温計からの赤外線で松果体に障害がなどの妄言を繰り返しノーマスクデモを繰り返して自民党を除籍になった池田としえ日野市市議の応援演説に行ってただけあるなと思った。 twitter.com/katayama_s/sta...
タグ:
posted at 19:32:32
非公開
タグ:
posted at xx:xx:xx
非公開
タグ:
posted at xx:xx:xx
ナゾロジー@科学ニュースメディア @NazologyInfo
筋トレが「無酸素運動なのに脂肪を燃やす」仕組みが明らかに
nazology.net/archives/94430
なぜ短時間の無酸素運動で痩せるのか?その詳細を初めてケンタッキー大が解明。筋トレを行ったとき、筋肉は脂肪細胞に向け「燃焼の命令を持ったタンパク質」を放出すると明らかにしました。 pic.twitter.com/a1IMZN95bO
タグ:
posted at 20:02:00
非公開
タグ:
posted at xx:xx:xx
これいつも不思議だったよ。空腹で筋トレすると筋肉を分解して利用してしまうから何か食べてからやれとか言われるんで、じゃあ、いつ脂肪使うんだよって思ってた。 twitter.com/nazologyinfo/s...
タグ:
posted at 21:32:08
Rubbing the stick over the notches creates both vertical and horizontal vibrations, and leads to an elliptical motion of the nail in the center of a propeller, which begins to rotate. This is a Gee-Haw Wimmy Diddle buff.ly/2JdjdhQ [explanation: buff.ly/2RmCuO0] pic.twitter.com/rjgE1hUUMn
タグ:
posted at 22:30:00
たのしいやつだ
Understanding Maximum Likelihood
An Interactive Visualization
rpsychologist.com/likelihood/ pic.twitter.com/kyOcbmFHLn
タグ:
posted at 22:46:22
非公開
タグ:
posted at xx:xx:xx
#Julia言語 あるパッケージが古いパッケージに依存していると、すべてのパッケージを最新にできなくなったりします。
その問題を回避するには、適当な空のディレクトリに移動して、
pkg> activate .
pkg> add PkgYouWantNewest
julia> using PkgYouWantNewest
のようにして使うとよいです。 twitter.com/natsurenatsure...
タグ: Julia言語
posted at 23:53:11