20080511~
13と7と11の倍数の論理積は13と7と11の積の倍数である。
和ァ・・・
せめて今日何か残しといてよかった。 4次の特殊ユニタリSU(4)生成子の最大4つの固有値は、生成子がエルミート行列だから全部実数なんです 固有値をλとして λ^4-λ^2+p4×λ+q4=0 の、p4とq4は適した値を取りますが、常に実数解が4つ得られるんです。 そういう、最初(定義)と最後(性質)がわかってるのに、途中がよくわからない状況なんです! フェラーリの方法に出てくる √(u)が常に実数ってのはわかるんですよ。 中身はu=A+Bcosδって感じで、A>Bだから、u>0の実数なんですね。 ただ、λ=±√(u)±√(D) みたいな恰好をしていて このDがよくわからんのですよね。D>0なのは確かなんですけどねえ うまく可視化したイメージができない。 このDの中に、±√(u)が入ってるからこそ、λは非対称になりえるってのに わっかんねえんだよなぁ ってか手間かかりすぎて翌日になると意欲もごっそり忘れてるから困る そんなわけで片・両平方根方眼紙の中に円を入れてみたわけです。 悩みの種はほかにもあって 平方根方眼紙は楽なんですよ。縦横のx乗のxを0.5~1.0でなかば連続的に動かせばちゃんと機能するから。 ほかにぜひやりたいのは対数・リニア変換のニューンって動くバージョン! できるのか!? テイラー展開使おうって目論見までは定まってるんだけど 収束半径的なあたりが主な理由で、なんかこう漠然と不安がよぎる。 動いたらプランクの法則とかカルノーサイクル3Dとかをぬるぬる動かしてみたいよね。 もちろん回転もさせたいし、トリプル対数・リニア変換をぬるぬる動かすってのはぜひしたい プランクの法則はなあ 4乗法則と反比例法則があるからなー、両対数方眼紙はもってこいなのよー 3Dにしがいもあるし。 っていうか前にプロトを一度作ったこともあるんだけど、いまいち伝えられてない感があったからリベンジしたい もちろん対数・リニアのぬるぬるもそうなんだけど てっぺん同士を比較したり、積分したものをプロットしたりするところ あれをもうちょっと視覚に訴える何かがほしい もしこれからやるんなら、Excelグラフはもっぱら2Dを自作3D化だね。ワイヤーフレームになるのは仕方ない。 今後プログラミングの腕があがったら、ポリゴンとかでも表現したいな。 そこはやっぱ、プログラミング言語なんだから、かゆいところに手が届いてなんぼだよね
4次方程式「もしかしたらこの先、お前を正数域に平行移動した上で、片平方根目盛に閉じ込めることになるかもしれん」
円「まじで!?」 4次方程式「ご覧のようにな!」 円「うげっ!?俺もう円じゃないじゃん!しずく型!?微分不可能なポイントができちゃってるんですが><」 フェラコイル4次方程式「正数域に移動したことを感謝してもらうことはあっても恨まれる筋合いはないよ 君がもし負数域から少しでも足を洗うことができなかったら、実数ではすまなかったところだ」
a=[rand(),rand(),rand(),rand(),rand(),rand(),rand(),rand()]
a=a/norm(a) 確認のため改めてnorm(a)を計算し、1になることを確かめる。 b=a(1)+%i*a(2) c=a(4)+%i*a(5) d=a(6)+%i*a(7) x=a(3)+a(8)/sqrt(3) y=-a(3)+a(8)/sqrt(3) z=-2*a(8)/sqrt(3) A=[x,b',c';b,y,d';c,d,z] B=expm(%i*A) expにm(atrix)をつけようね~ そうです、BがSU(3)の特殊ユニタリです。 行列式det(B)≒1とでるはず。abs(det(B))やらなくても、非負実数の1だよ~。 固有値spec(B)も計算してみると 3つでてくるはずで Bがユニタリなので、3つとも複素平面の単位円周上にきますし spec(A)も出しておいて、a1,a2,a3(Aがエルミートなので全部実数)とすると spec(B)の偏角もa1,a2,a3になり a1+a2+a3=0になるはずです。(Aのトレースはゼロ) このAの特性方程式が、手計算で出したやつと一致するかを確認したいな。 まだscilabはじめたてだから変数の概念とかプロットとかもう少し勉強しないとな。 せっかく乱数出してんだし、一発屋じゃなくてサンプル数増やして傾向も見たいよね当然。 ずっとため込んでたけど、SU(3)の固有ベクトルも計算したいし SU(4)にも手を出したいし。まずは固有値の特性方程式の係数からだね λ^n-λ^(n-2)+Σ(a_(n-m)*λ^(n-m))=0 になるはずなんだ。高次SU(n)でのこのn-m番目のaが知りたいんだってば。 5次以上の行列の固有値はガロアやアーベルの理論がまだ理解できてないから無理だけど せめて4次な。これを理解したい。 Excelのあのアドインのサポートが切れてから、手間がかかるようになってしまって。 ようやく「楽な複素行列」が我々のもとに戻ってきたって感じ。 それにしても、以前友達に見せてもらったユニティだったかでも思ったけど プログラミング言語の概念が壊れるなぁ これもプログラミング環境の1つなのか・・・この中にforとかも入るんだよね? なんかこうしっくりこない ってか、早いとここの演算結果をcsvとかにぶち込む方法を理解しないとな。 特に勉強中の間はなんでもscilabでできるわけじゃないんだから Excelに分担してもらうところも多数出てくると思うんだよ グラフもどのくらい自由度があるのか未知数だし。 3Dグラフなんか特にね。結構ニッチな需要の3D用意しなきゃならないときもあるし もしあれならC#と合わせて、Excelを上回ってくれることを祈るばかりだ。まあ僕の勉強次第だろうなあ 少なくともワイヤーフレームじゃなくてポリゴンっぽいのを2面以上はほしいよね そうだ。 パウリ行列指数関数が無課金のウルフラムアルファで出ないなら せめて固有値・固有ベクトルはなんとかならないか、あとでお願いしてみよう。 ん?なんかデジャヴを感じる。 ユニタリの特性方程式を、単位円周上の実質1次元じゃなくて、実部・虚部ともに-2~+2くらいの複素平面全体でてさぐってみるのもやりたいね~
こないだね、
この展開が4乗でループするのが「3ペアの6つ」って間違えて書いちゃったんです。 正しくは以下の「4ペアの8つ」でした。 残りの6ペア12個は4乗でループしないんですね。 普段用いる右肩下がりのいわゆる「対角」とは別の、「右肩上がり」の対角 赤線で示したやつなんですけど、左と右はこの「右肩上がりの対角線」を軸に対称になっているのがわかるかと思います。 また、この8つに共通するのは、この「右肩上がりの対角」上に1つの変数しか入っていないこと 反対角行列っていう概念がすでにあるみたいなんですけど それが排他的になってるんです。これを今回「反対角XOR」と呼ぶことにしました。 それともう1つ、反対角要素以外にも たとえば一番下の1ペアを見てもらうとわかる通り、s1があるとs6はこれず s2があるとs5がこれない。ここにも排他的な感じが現れています。 これを個人的に「反転置XOR」と呼んでいます。 この「反対角XOR」と「反転置XOR」の両方の条件を満たしているものだけが、4乗でループするようです。
3次元アフィン変換Aを対角化するための行列PはP自身もアフィン変換であり
このようになる。 invP・A・Pはちゃんと対角化されるが、 これを規格化してユニタリにしようとすると、単にノルムが1になるように このようにBの規格化定数シリーズを決定したようでは、明らかにユニタリにはならないことがわかった。 そこで、グラム・シュミットの正規直交化法というのを試してみた。 すでに得ている、規格化前の固有ベクトルをv1~vnとして u1~unを求めることでユニタリになるように仕向ける方法だ。 なんだか全微分を思い出す。 u1~unは以下のように求める。 ここで、u・vは(n次元での)内積を意味しており、|u|^2=u・u(自分自身との内積)を意味している。 そうやってできた固有ベクトルu1~unの、ノルムを1にするようにして満を持してここで素直に規格化(vシリーズではなくuシリーズで)すると、ようやくユニタリ行列ができあがる。 正直、イメージ図のgifを見ても何をやっているのかさっぱりわからないが、とにかくユニタリ化できたことはわかった。逆行列が転置行列そのものになっている。もちろん行列式は1。 しかも、中身が全部実数でできたユニタリ行列だ。 しかしながら、これを改めてPとしてinvP・A・Pを求めても、対角化できない。なぜだ!? と思ったが、グラムシュミットの方法のページには、「対角化できる」とは書いていないのだ。 代わりに「三角行列ができる」とだけ書いてある。 確かに演算結果は三角行列にはなっている。 そもそもグラムシュミットについて知ったのは知恵袋的なところからであり、 「ユニタリにしたいなら規格化だけではだめで、グラムシュミットが必要だよ」という口コミがソースだった。こちらも、「ユニタリにできる」とは書いているが、「対角化」には触れていなかった。 このユニタリは一体なんのために生まれて何をして喜ぶのだろうか・・・? この生成されたユニタリPは、何らかの行列を対角化できる相手の行列本妻Aが存在するのだろうか? ======== ところで、 ふとこれを複素行列に拡張したくなった。当然の発想ではある。 すると、「複素内積」という概念が出てきて、これについて複素数は交換法則が効かないらしい。 言われてみれば、u=a+ibとおくと、|u|^2=(a+ib)(a-ib) といった風に、自身とその複素共役を掛け算することでノルムを得ている。 自分自身との複素共役だったから、たまたま、掛け算が逆になっても結果は変わらなかった。 ところが これを、u自身とではなく、ほかの複素数v=c+idとの複素内積を行うのだとしたら u・v=(a+ib)(c-id) となって v・u=(c+id)(a-ib) とは結果が異なってしまう。 どうして僕は今の今までこのような内容を全然知らされていなかったのか。 おそらく、僕の住んでいた分野ではグラムシュミットの必要性がなかったのだろう。 量子力学にしても、ジョルダン標準形があんまり必要なさそうな分野だ。グラムシュミットが必然的に不要気味でもおかしくはない。 それに、複素行列になってようやく、複素数そのものの交換法則が揺らぎ始めたのも おそらくそれまでは複素数uが孤独だったからだと考えられるのではないか。 行列の中に入って初めて、ほかの隣人複素数との内積をとるようになって、交換法則に乱れが生じるようになったのかもしれない。 あくまで複素数の問題であって行列の問題だけではないことに注意が必要だと思う。 思えば、複素数が、四則演算で交換法則を保っていたことのほうが不思議にさえ思えてくる。 また、ここでも分野と人類による対称性の自発的破れが起きており u・vを u・v=uv*=(a+ib)(c-id) と定義する分野があったり、 u・v=u*v=(a-ib)(c+id) と定義する分野があったりするらしい。 (複素数uの複素共役をu*と表現している。掛け算の記号ではない) こいつに対してはたまたまAP=PJが有効だったが こいつに対してはあまり有効じゃないので、固有ベクトルを求める際は 適宜、AP=PJとPA=JPを使い分けるのもアリかもしれない。 人間が選んだ対称性の自発的破れ的な部分は、上述の部分や量子力学における「iをかけるか-iをかけるか」などと同様に ジョルダン標準形の上三角 例 と下三角というのもあるだろう。 どちらもJのべき乗で同じように機能したのでおそらく両方使えるが人類がどちらかを選んだのだろう。 もし下三角ジョルダン細胞を使うとして、どのような用途に使われるのかまだいまいちわからないが もしかしたら、「AP=PJが上三角で、PA=JPが下三角」なのかもしれないし 上下三角と「AP=PJ、PA=JP」は独立で、「上三角AP=PJ」「上三角PA=JP」「下三角AP=PJ」「下三角PA=JP」の4パターンが存在するのかもしれない ======== ところで、最近少しずつプログラミングの世界に、「あくまで趣味として」戻ろうとリハビリ中なんだけど 行列はポインタを習得しかかってるのであと一歩でパッケージにできるかもしれないとして その前に複素数構造体はだいたいわかった。 もし、やろうと思えば今の段階でも「クォータニオン構造体と愉快なライブラリたち」は作れるかもしれない ただ、単位クォータニオンをどのように定義するかにもよる。 3つの虚数単位i,j,kを中身ナシの素粒子のように定義するのであれば ii=jj=kk=-1と、ij=-ji=k、jk=-kj=i、ki=-ik=jのルールを埋め込めばその手間だけですむが i,j,kをパウリ行列で-iσx、-iσy、-iσzと置くのであればまだまだ不可能だ。 しかし余計なルールは定義しなくて済む。 ただ、クォータニオンの使い道次第では、 たとえば回転にしか用いないとかであれば、ライブラリはものすごく少ないもので済むかもしれず、掛け算や絶対値、複素共役などがあって、もしかしたら加減算すらいらないかもしれない あと、クォータニオンには直接関係なさそうなんだが たとえば同類項をまとめる解析計算用のプログラム(文字列操作)なんてのもあると便利だろうな i,j,kを虚数単位以外に勝手に使わない約束の上で、ijが出てきたら自動的にkに置き換えたり、jiだったら逆に-kに置き換えたり、数字は前に出したうえで全部計算できるものはするとか、その次にルートみたいな文字と数字の間のものを配置するとか そういうのが作れれば、たとえば4次のユニタリ生成子とかの解析で役に立ちそうな気がしないでもない。 まあ個人的に文字列操作よりも数値の方を積極的に扱いたいんだけども。 行列でやっかいなのは余因子展開だよな~ たとえば3次行列の逆行列を求めるとしたら、2次行列を3×3=9個つくらんきゃいかんのでそこを3次元配列にするか4次元配列にするか悩ましいし 3次行列限定だとしても仮の変数とかもたくさん作りそうだし、行列式計算するのに再帰使うかもしれないし、サラスで済ますかもしれないし、3次まで落ち着いたらLU分解からサラスに切り替えるかどうかも悩ましいところだし 素人には任意次の行列なんてもってのほかだし mallocなんてメモリリークが怖くてまだまだできないし 考え物だよなぁ あとはあれか。 行列指数関数はほしいよな。概念に反して意外と作りやすいと思う 今bccの環境でやってんだけど、たぶん趣味の世界だからgccに進出はしなくていいような気がする CUIのコマンドプロンプト使ったってbccのままでグラフィックとか関数プロットとかできるみたいなこと書いてたし聞いてたから、それでいいんじゃないかな (あと僕C語以上に英語がだめなんよ。アセンブラでもA語でもないわ) こないだ、懐かしの「大文字小文字変換プログラム」を作ってみたんだけど めっちゃ簡素化しようとした矢先 なんかこいつ signbitもcopysignも存在しないとかいいやがるんだよな math.hの上書きだけで足りるのか足りないのかわかんないから何も対策してないけど。 ifで分岐するのが邪魔に見えて、あと一歩でめっちゃ短いコードになると思ったのにな。 (めっちゃ見づらいコードだろうけどな) 普通に'a'-'A'って引き算が成立しててワロタwガチであいつら数値だったのかwww で、何を血迷ったか、ポインタの学習だと思って「大文字小文字変換」を組み始める俺な それポインタ関係ねーよ
複素行列に関しての注意点はほとんどないと思います。
実数行列の実数の部分が複素数になるだけで、そんなに注意はいりません、たぶん。 ただ、多少の注意点を挙げるとするなら 対角化する際のブラとケットを規格化して、エルミート行列にするときの場合でしょうか。 たとえばパウリ行列の1つにこのような行列があります。 この行列をAとおいて、Aの固有値λを求めるとλ=±1となり λ=1を代入して得られた、規格化されてない固有ベクトルは、大多数の人はこのように算出すると思います。 さて、これを規格化する場合はどのような演算を行えばよいでしょうか。 上の1と下のiをそのまま2乗して足して、ルートを取ったものを分母にすればいいのでしょうか しかし、それでは分母がゼロになってしまいます。 そのような理由からではないのですが、この演算方法は間違いで ただの2乗ではなく、複素数の絶対値の2乗を行わなくてはなりません。 上の1は実数なのでそのまま2乗していいのですが 下のiは絶対値の2乗なので、|i|^2=1となります。iの複素共役-iと掛け算してi×(-i)=1と考えてもいいです。 つまり、規格化係数は1/√(1^2+1^2)=1/√2となるわけです。 固有値λ=-1の場合の固有ベクトルの規格化も各自やってみてください。 そうして出来上がったユニタリ行列Pは、実数行列のときと変わらず、縦ベクトルを横に並べて 以下のようになっているはずで これのエルミート共役(転置して複素共役)を取った これが、ちゃんとPの逆行列として機能していることを確認しておいてください。 場合によっては、符号やらなんやらを逆転しないとちゃんと逆行列として機能しなかったり そもそも行列式の絶対値が1になるという、ユニタリ行列としての機能をみたさないまま中途半端に規格化されていることもありえますのでね。 また、ブラかケットの中の数が純虚数や実数ではない任意の複素数の場合もあり得ると思いますので 絶対値は正しく取りましょう。 実部と虚部の2乗和のルートです。 あ、そうだ。 目的の行列自体は実数行列なのに、固有値が複素数のせいで、 固有ベクトルが複素行列になっちまったどーしてくれてんだ!って場合もあるかと思います
たとえば8次元の回転SO(8)だったら
cc111111 c1c11111 c11c1111 c111c111 c1111c11 c11111c1 c111111c 1cc11111 1c1c1111 1c11c111 1c111c11 1c1111c1 1c11111c 11cc1111 11c1c111 11c11c11 11c111c1 11c1111c 111cc111 111c1c11 111c11c1 111c111c 1111cc11 1111c1c1 1111c11c 11111cc1 11111c1c 111111cc (c:cos) で回転行列の1のところがボンバーするパズルゲームで 次元が8なのに、回転軸の本数は8C2=28本 8かっけーの頂点を結ぶ線の本数も8C2 特殊ユニタリSU(8)の生成子の末っ子σ63=(8次の対角実数行列)/√28 (7*1^2+(-7)^2)/a^2=(7+49)/a^2=56/a^2=2 a^2=28 {(n-1)*1^2+(-n+1)^2}/a^2=2 (n-1)^2+(n-1)=2a^2 (n-1)(n-1+1)=2a^2 a^2=n(n-1)/2=Σm m:1~n-1 「回転」が2次元平面内だけで行われる概念でよかった。 詳しく書きたいけど、積んでるアニメが溜まってて・・・ |
カレンダー
カテゴリー
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新記事
(01/01)
(01/03)
(09/23)
(09/23)
(02/11)
(05/30)
(05/28)
(05/28)
(05/27)
(08/04)
(10/24)
(06/08)
(05/22)
(01/13)
(11/04)
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
HP:
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます 例:H→7番目、XP→15(P)×26+23(X)=413番目。 A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
ブログ内検索
アーカイブ
最古記事
(05/11)
(05/11)
(05/13)
(05/13)
(05/13)
(05/13)
(05/13)
(05/13)
(05/14)
(05/14)
(05/14)
(05/14)
(05/16)
(05/16)
(05/16)
アクセス解析
|