忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
4次方程式「もしかしたらこの先、お前を正数域に平行移動した上で、片平方根目盛に閉じ込めることになるかもしれん」

円「まじで!?」


4次方程式「ご覧のようにな!」

円「うげっ!?俺もう円じゃないじゃん!しずく型!?微分不可能なポイントができちゃってるんですが><」
 
フェラコイル4次方程式「正数域に移動したことを感謝してもらうことはあっても恨まれる筋合いはないよ
君がもし負数域から少しでも足を洗うことができなかったら、実数ではすまなかったところだ」

拍手[0回]

PR

ぎょええええええ!?(CV:ほーちゅーさん)


行列指数関数と固有ベクトルは出なかったけど、
固有値だけはとりあえず出た!出やがった!っていうか意外とすっきりしてる!!!!!

拍手[0回]

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くらいの複素平面全体でてさぐってみるのもやりたいね~

拍手[0回]

こないだね、

この展開が4乗でループするのが「3ペアの6つ」って間違えて書いちゃったんです。

正しくは以下の「4ペアの8つ」でした。

残りの6ペア12個は4乗でループしないんですね。

普段用いる右肩下がりのいわゆる「対角」とは別の、「右肩上がり」の対角
赤線で示したやつなんですけど、左と右はこの「右肩上がりの対角線」を軸に対称になっているのがわかるかと思います。


また、この8つに共通するのは、この「右肩上がりの対角」上に1つの変数しか入っていないこと
反対角行列っていう概念がすでにあるみたいなんですけど
それが排他的になってるんです。これを今回「反対角XOR」と呼ぶことにしました。

それともう1つ、反対角要素以外にも
たとえば一番下の1ペアを見てもらうとわかる通り、s1があるとs6はこれず
s2があるとs5がこれない。ここにも排他的な感じが現れています。
これを個人的に「反転置XOR」と呼んでいます。

この「反対角XOR」と「反転置XOR」の両方の条件を満たしているものだけが、4乗でループするようです。


拍手[0回]



の固有ベクトルPとその逆行列は



 
  
の固有ベクトルPとその逆行列は


で、AP=PJだけで解けますね。
PA=JPに頼らなくても万能でしたね。 



なんかごちゃごちゃしちゃったんで途中計算消しました><
要は、0/0を発散と捉えないで、不定と捉えることで、解けるってことを言いたかったんです。
あとは、縦ベクトルで

って出ても
横同士で通分もできて

なんてことが可能だよってことです。

拍手[0回]

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*と表現している。掛け算の記号ではない)

拍手[0回]

サイラボを手に入れた!サイキックラボー!いつも手のひらの宇宙!


「なんとかして逆ラプラス変換の内部事情を見せてもらえないでしょうか!?そこをなんとか!

 (開口一番それ言っちゃうんだ・・・
 「できるかどうかはわかりませんが、努力してみますね

「え!?そんな工場ないの!?

 「はい、たぶん。まだないかも。知らんけど

「『見てみて~あれが留数定理器だよ~』ってパパが自慢げに見せてあげたいんですけど!

 (あったら私がいの一番に見てみたいわ!!!

拍手[0回]

ここがな、不連続的で魅せ場がないっちゅう

なんとかならんかなって思ってふと思いついた1つの解決案

テイラー展開したらどうだ?

どっちみち不連続だけど、ないより魅せ場にはなるやろ!



カルノーサイクルが曲線から直線になっていく途中が見たい




あとあれな目盛とか軸が変わるっていえば相対論
あれもっと自在に扱えたら楽しいんだろうけど
僕相対論素人やし
斜交座標がリニアからアークだかハイパボリックだかのタンジェントになっていくさまはなぁ
あんま単純じゃないから困るんだよなあ

クルスカルスゼッケルだかペンローズだかしらんけど

拍手[0回]


こいつに対してはたまたま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


で、何を血迷ったか、ポインタの学習だと思って「大文字小文字変換」を組み始める俺な
それポインタ関係ねーよ

拍手[0回]

複素行列に関しての注意点はほとんどないと思います。
実数行列の実数の部分が複素数になるだけで、そんなに注意はいりません、たぶん。


ただ、多少の注意点を挙げるとするなら
対角化する際のブラとケットを規格化して、エルミート行列にするときの場合でしょうか。

たとえばパウリ行列の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乗和のルートです。





あ、そうだ。
目的の行列自体は実数行列なのに、固有値が複素数のせいで、
固有ベクトルが複素行列になっちまったどーしてくれてんだ!って場合もあるかと思います

拍手[0回]

たとえば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次元平面内だけで行われる概念でよかった。


詳しく書きたいけど、積んでるアニメが溜まってて・・・

拍手[0回]


なるほど確かに次元数4なのに変数が6つあるwwwww
6つの回転軸を混ぜるのなwwww
それでどうも、任意回転軸は1本ではなく2本残るらしい
四角形の中に三角形が2つできる的なイメージでそれでいいのかわからんwwww

これどうにかできるのかwwww
っていうか右手系とかそういう概念どうなんのwwww噂じゃないらしいって聞くけど、定義足さなきゃダメっぽくね?

拍手[0回]

c[j][k]=A×B=∑(a[j][i]*b[i][k])


でも、試すなら3行3列じゃなくても2行2列で十分だったorz


実装、できるかな?
って、実装したくてうずうずしてるのに後に回すぐらいなら
たぶん今すぐに実装しても問題なく動きそうなのがプログラミングの世界のような気がするw

時間と労力のコスパすげー安いのなw

あーこりゃ生身で宇宙に行けない間に見ることだけははるか宇宙のかなたまでいけますわ
ソフトウェアのソフトさは異常。

拍手[0回]

∑(n)=-1/12って無限級数ね


色々落とし穴があるみたいで

やっぱり普通に考えればプラスに発散して当たり前なんだそうだ

落とし穴の1つに、「目的の級数が収束半径の外にある」っていうのがあるみたいで
収束半径を拡張した際の具体的な話を
なんかテキトーに解説サイトを見たんだけど、なんだろうこのキツネにつままれた感は。


アレに似てる。
フーリエ変換をラプラス変換に拡張した際の減衰項に似てる。
いまいちよくわからない。
当てにしたサイトがたまたま悪かったんだろうか。

拍手[0回]

ただのこじつけですけど

for(素数ポインタiパンツァー4++){
 count+=mod(素数[i],4)-2;
}

でもいけるやんね

ソースダウンロード

拍手[0回]



忍者ブログ [PR]
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析