黒木玄 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 を見て下さい。
2018年04月01日(日)
バラ曲線(Rose Curve)のインタラクティブプロットを作ってみた
en.wikipedia.org/wiki/Rose_(mat... pic.twitter.com/3tuDDtgRJ9
タグ:
posted at 22:33:44
Julia,"?関数"でその関数のドキュメントがすぐに確認できるのほんと便利.仮にその関数にコメントが無くても,関数の引数になるべき型はわかるから割とあたりがつく.
タグ:
posted at 22:00:45
非公開
タグ:
posted at xx:xx:xx
twitter.com/k1ito/status/9...
TBA = Thermodynamic Bethe Ansatz
というネタを思い出した。
www.google.co.jp/search?q=Therm...
タグ:
posted at 19:15:09
#数楽 私は ⊗ 記号を辞書に登録して「てんそる」の変換で入力できるようにしてあります。
LaTeX的には \otimes です。 #Julia言語 対応環境でも \otimes [TAB] で入力できます。 pic.twitter.com/kmuzDdMbwQ
posted at 18:31:29
#数楽 例:
u = 1e_1+2e_2,
v = 3e_1+4e_2
について
u⊗v
= 1・3 e_1⊗e_1
+ 1・4 e_1⊗e_2
+ 2・3 e_2⊗e_1
+ 2・4 e_2⊗e_2.
添付画像も見て下さい。
以上の例を知っていれば ⊗ が出て来てもそうビビらずにすむと思う。
#Julia言語 pic.twitter.com/yIozE3qnYY
posted at 18:31:25
#数楽 ベクトル空間のテンソル積V⊗Vの基底を
e_1⊗e_1, e_1⊗e_2, e_2⊗e_1, e_2⊗e_2
の順に並べることにしましょう。これらの線形写像f⊗gによる像を計算すると、f⊗gの行列表示は
1・5 1・7 3・5 3・7
1・6 1・8 3・6 3・8
2・5 2・7 4・5 4・7
2・6 2・8 4・6 4・8
#Julia言語 pic.twitter.com/5bJUPRQdbN
posted at 18:31:22
twitter.com/genkuroki/stat...
#数楽 リンク先でテンソル積 ⊗ を使ったせいで、びびって置いてけぼりを食う人が増えると嫌なので解説。
話がややこしくならないように、スカラーが体の要素の場合に限定。
最初は、ベクトルa,bのテンソル積a⊗bは「単にベクトルa,bを並べたもの」という理解でよいです。
タグ: 数楽
posted at 18:31:10
上の方で私が採用した流儀では a^i_j がVからVへの線形写像に対応する行列に対応:
A = Σ_{i,j} a^i_j e_i⊗e^j.
これの転置A^TはV^*からV^*への線形写像になるので、
A^T = Σ_{i,j} a^i_j e^j⊗e_i.
曖昧さは生じません(⊗積の順序を変えただけ)。数学レベルで問題は解決しているわけです。
タグ:
posted at 17:32:04
現実への応用では添字がもっと多次元的に並んでいると思った方が自然なのですが(例:格子模型の類)、そういう話はここではしないことにする。
しかし、⊗ と V^* の理解は必須。
タグ:
posted at 17:32:03
2つ前で紹介したスライドの最終ページのType 1, 1’, 2の区別は形式的には
Type 1: 添字の上下と順序を両方区別
Type 1’: 添字の上下は区別するが、順序は区別しない
Type 2: 両方区別しない
なのですが、そういう理解だとどうページのType 1での3つのProblemsを十分に理解できなくなる。
タグ:
posted at 17:32:02
#Julia言語 素朴なベクトルと行列の扱いを超えて各種のテンソルを真面目に実装しようとすると、どのようにややこしい話になるかについては次のリンク先の最終ページを参照。
それなりに「高等」な線形代数を知っていれば誰でも気付く問題。
www.slideshare.net/mobile/acidfla... pic.twitter.com/SroVWDEwXc
タグ: Julia言語
posted at 16:57:02
教員引率,ってますます強制じゃないか > 東京五輪ボランティア、自己負担多く「やりがい搾取」と批判、「保険加入なし」は本当?(弁護士ドットコム) - Yahoo!ニュース headlines.yahoo.co.jp/hl?a=20180401-... @YahooNewsTopics
タグ:
posted at 16:55:53
重要な資料だと思うので教えてもらった議論へのリンクをこちらでも紹介。
シンプルでわかりやすいことは重要。しかし、様々な要求とシンプルさを両立させることは難しい。
(すでにissueが立っていた!検索はしていたが見逃していた!)
github.com/JuliaLang/juli...
タグ:
posted at 15:29:48
ユーザー側を縛ることなく、抽象化も選択できて(ただし中途半端な抽象化でも困らないようになっていて欲しい)、しかもシンプルに使えて、オーバーヘッドも生じないようにするにはどうすればよいか、は結構面白そうな問題だと思うのですがどうでしょうかね?
タグ:
posted at 15:18:58
ユーザーにとっては、抽象化のコスト(そのコストを支払えばコードはシンプルになる)と複雑なコードを書くコストのどちらを選ぶかに関する権限があった方がありがたいです。
欲しいのはプログラムではなく、それによる計算結果のほうである場合には、ユーザーに選択肢を委ねるべきだと思う。
タグ:
posted at 15:18:57
コンピューターで実装するときには、テンソル積と双対空間云々を気にしなくて使える素朴なインターフェースと、テンソル積と双対空間云々を気にするとシンプルにコードが書けるインターフェースの両方があった方が良いと思う。
タグ:
posted at 15:18:56
双対(ベクトル)空間についても同様です。
定義だけを見てもありがたみがわかるはずがない。
一度、沢山の添字に関する複雑な和が乱舞する場面を経験して、「整理しないと理解不可能」であることに気付いてから、テンソル積と双対空間が基本構成要素だと知るとシンプル過ぎて歓喜することになる。
タグ:
posted at 15:18:56
どこかで、「数学におけるテンソル積と応用上必要なテンソルは無関係に見える」というような感想を見たことがありますが、きちんと理解していればそういう誤解はすぐに解けます。
たぶん、逐次的に一般化すれば易しいのに、そこをぶっとばして、いきなり普遍性によるテンソル積の定義を見るのが悪い。
タグ:
posted at 15:18:55
一般相対性理論やリーマン幾何では双対基底 e^i として dx^i を取って、計量を
g = Σ_{i,j} g_{ij} dx^i dx^j
と書きます。これを
Σ_{i,j} g_{ij} e^i⊗e^j
と書けば上の方の話に繋がる。
タグ:
posted at 15:18:54
あと形式的な積として導入された⊗はテンソル積と呼ばれています。物理の文献では「直積」と呼ばれていることがありますが、上下にたくさん添字がついたテンソルを理解するための基本演算なので「テンソル積」と呼んだ方が良いと思う。
タグ:
posted at 15:18:54
添字の付け方が下付き e_i になったり、上付き e^j になったりしているのは、ベクトルと双対ベクトルを区別するためです。
もっと一般の場合も、双対ベクトルとベクトルを積で潰してスカラーにするという演算が基本。
これを理解できると、上下に沢山の添字がついたテンソルも易しくなる。
タグ:
posted at 15:18:53
これが行列の積の一つの解釈の仕方です。行列との対応は、双対ベクトルe^iとベクトルe_iで
e^i*e_j = (i=jなら1, そうでないなら0)
を満たすものについて、行列 A=[a^i_j]を
Σ_{i,j} a^i_j e_i⊗e^j
と同一視することによって得られます。
タグ:
posted at 15:18:52
行列の積の演算はその典型例です。
ただし、ベクトルの形式的な積演算⊗を用意しておかなければいけない。
a,c∈V, b,d∈V^*について、a⊗bとc⊗dの積は、bが双対ベクトルでcがベクトルなのでそれらの積がスカラーに潰れることから
(a⊗b)*(c⊗d)=(b*cというスカラー)*(a⊗d)
と定義できます。
タグ:
posted at 15:18:52
単に「双対ベクトルwとベクトルvの積がスカラーになる」という考え方をすればよいだけなので、双対ベクトル空間はシンプルで易しい概念。wとvの積はどのように実装されていても構わない。
そして線形代数の基本演算の構成要素は「双対ベクトルとベクトルの積でスカラーが得ること」なのです!
タグ:
posted at 15:18:51
特に、ベクトル空間Vとその双対空間V^*の関係を行列やテンソルまで拡張することは本当はシンプルなのに、「和を取る」という発想だけで見るとわけのわからない感じになってしまいます。
双対空間V^*の定義は、w∈V^*とv∈Vについて、w*v∈{スカラー}が定義されていて幾つかの条件を満たしていること。
タグ:
posted at 15:18:50
ベクトルなら v[i] とインデックスが1つになり、行列なら A[i,j]と2つになり、一般のテンソルならもっと増える。
こういう発想で行くと、本当はシンプルな事柄であっても急激にややこしく見えるような話になってしまいます。
続く
タグ:
posted at 15:18:49
twitter.com/genkuroki/stat...
解説:線形代数(スカラー、ベクトル、行列、テンソル、…)を応用するときには、「配列」の計算で実装することになります。
配列の要素=ベクトルや行列の成分とみなして各種演算を実装するわけですが、
Σ_i a[i]*b[i]
のタイプのインデックスiを揃えた和が基本になる。続く
タグ:
posted at 15:18:47
@genkuroki ただまあこの issue を見ても実際の理由は良く分からなくて、これは私の感想ですが、歴史的な経緯がなければ RowVector になったかもしれません。というわけで、「Juliaっぽくない」は個人的な意見の誇張表現だったことは認めます。
タグ:
posted at 14:23:16
@genkuroki 気になっているなら想像で語るのではなくて開発者がどんな議論してたか調べたらどうでしょう。ググったらすぐ見つかりましたよ。 github.com/JuliaLang/juli... 最近まで議論はあって、確かに 1.0 で RowVector にしたいという意見もあったみたいですね。結局は行列になったみたいですが。
タグ:
posted at 14:19:28
@genkuroki 既に成分は任意なものに対応してますよね。 (Abstract)Matrix には成分の型についてパラメタライズされてますし。たとえば成分が Dual number になってるものは各種パッケージで使われてますよ。
タグ:
posted at 13:43:28
@genkuroki * など各種演算は関数ですし Julia ではディスパッチを利用して複数のケースについて定義されてますから、カテゴリが違うと切り捨てる意図がよくわかりません。例のトークにも * は polymorphic だって話が登場します。
タグ:
posted at 13:39:56
@tkf ちなみに、私は
www.slideshare.net/mobile/acidfla...
のスライドを今回の議論以前から知っており、すでに長々と紹介しています。
私はそれを読んで、成分が任意の(例えば四元数でもよい)一般化されたケースの線形代数へのユーザーインターフェースについてJulia言語の開発者は真剣に考えていると思いました。
タグ:
posted at 13:33:54
蝸牛の周波数特性が地味にまだ伸びてる。あと有毛細胞(Hair cell)の周波数特性もおもろいで。 twitter.com/ceptree/status...
タグ:
posted at 12:46:28
…カルトの教祖が終末予言を外すと、常識的な発想だと、その教団は衰退あるいは崩壊するという予想になるだろうが、現実には逆の現象が起きる。むしろ終末予言が外れた事によって教団は活性化し布教活動が盛り上がって拡大するのだという。そのメカニズムは興味深いものだ
amzn.to/2J7QVkq
タグ:
posted at 12:22:45
コワレフスキのコマはどう解いても難しく、私も頭の中ですっきりとは理解できていない。Michèleはやはり幾何の人だなという印象を持っている。彼女はすぐれた数学史家でもあり、伝記 "Remembering Sofya Kovalevskaya"
www.springer.com/br/book/978085...
は興味深い本である。
タグ:
posted at 12:18:38
和書で超楕円函数の解説を含めて丁寧に書いてあるのは萩原雄祐「天体力学の基礎」下巻の最後だが、とても読みやすいとは言いがたい。洋書なら
Leimanis www.springer.com/jp/book/978364...
Golubev www.amazon.com/dp/B0006AXGK0
でも丁寧に書かかれているが、これも読みにくい。後者にはPainleveがちらっと登場する。
タグ:
posted at 12:18:37
真面目な話。コワレフスキのコマについて、3,4年生あたりで勉強しようとしても良い本が少ない。戸田盛和「波動と非線形問題30講」の終わりの所に多少触れてある。大貫吉田「力学」には方程式に対して丁寧な解説はあるが解いてはいない。邦訳もあるMichèle Audinの本で「解いた」という実感が持てない
タグ:
posted at 12:18:37
広瀬隆による「東京壊滅」他複数の終末予言は外れたが、今も広瀬隆の講演が行われ著書は売れ雑誌には登場し支持者は熱心に布教活動的行動を続けている。この不思議について参考になる著書がある。
「予言がはずれるとき―この世の破滅を予知した現代のある集団を解明する」
amzn.to/2J7QVkq
タグ:
posted at 12:18:29
#仮面ライダービルド #数式 第29話からの新オープニングの最後に流れる数式解説まとめ sci.tea-nifty.com/blog/2018/04/p... pic.twitter.com/FToEc5iHeq
posted at 12:01:57
式変形が得意な人は優秀なのですべて同じトーンで式変形をしてしまうし、苦手な人は本などに式が出てくると読み進めるのをすぐに諦めてしまう。数式処理ソフトを丁寧に使うと、メリハリがつけれてその間はかなり埋められると思うので、積極的に使いたい。
タグ:
posted at 08:28:12
ブログ更新しました→「PythonのSymPyで変分ベイズの例題を理解する」 - StatModeling Memorandum statmodeling.hatenablog.com/entry/variatio...
タグ:
posted at 07:50:59
@genkuroki twitter.com/tkf/status/979... に書きましたけど、「型でディスパッチせずに値(size)に依って分岐させるのは Julia らしくない」と思います
タグ:
posted at 05:56:05
EM普及させてる人達が個人情報を知りたがるのは,家に押しかけたり,職場にクレームを入れたりするためです。実際,そういう活動ばっかりやってますし,私の周辺もやられた人多数です。
タグ:
posted at 00:52:59
自動車産業の過去を見てるとGMやフォードの人材なんて大した事ないだろと思いがちなんだけど、うちの数学科からも博士持ちがどんどんそういう企業に入ってくのが最近の流れ。結構侮れないと思うんだよな。
タグ:
posted at 00:11:29