20080511~
13と7と11の倍数の論理積は13と7と11の積の倍数である。
和ァ・・・
3d軌道の一部がトーラスになっていることを解析的に確かめる?
たぶんここの、d3z^2-r^2ってやつだな 3d軌道の「3かどうか」は関係ないのか。「dであること」だけ気にすればいいわけね 1s、2p、3dとかの、数字部分が主量子数nでエネルギー、アルファベット部分が縮退されてるやつ電子雲の形を表していると考えてよさそう、かな n,l,m,sって4つの量子数があるうち、スピンsは除くとして n以外縮退して機能してないのを「2重」って呼べばいいのか、「3重」って呼べばいいのか。 3つが1つになってんだからええと…わからん 次元と縮退の関係もわからんし、なんでwikiで「水素原子とかの縮退」と「中性子星の縮退圧」が水先案内されてんのかも全然わからん 量子数が増えるから次元を高く考えるのか??だとしたら学ぶ突破口が開けそうな気がしないでもない なんで11次元とか26次元とかやってんのかさっぱりだもんな
備蓄はとりあえず使い切るスタイル
小ネタしかないので今日のブログはブツブツしています 係数を無視して、球面調和関数の Y=sinθcosφ と Y=sinθsinφ 先日はpzをやったので、今回どちらがpxでどちらがpyなのか。 球面座標系の定義から見ていきましょう。 pzはz方向にタマタマが2つあったので、pyはy方向、pxはx方向にタマタマが2つ並んでいると予想できます。 ですので、φ=0で|Y|=1になるほうがpxで、もう一方がpyなのだと仮定し、計算を進めていきましょう。 Y=sinθcosφがpxだとすると、これを x=|Y|sinθcosφ y=|Y|sinθsinφ z=|Y|cosθ に代入して x=|sinθcosφ|sinθcosφ y=|sinθcosφ|sinθsinφ z=|sinθcosφ|cosθ sinθcosφ>0のとき (x-0.5)^2+y^2+z^2=0.5^2 sinθcosφ<0のとき (-x+0.5)^2+y^2+z^2=0.5^2 となることを証明すればよい どちらにしても (x-0.5)^2+y^2+z^2=0.5^2 こうなるので、x,y,zを代入すると (|sinθcosφ|sinθcosφ-0.5)^2+(|sinθcosφ|sinθsinφ)^2+(|sinθcosφ|cosθ)^2=0.5^2 (sinθcosφsinθcosφ-0.5)^2+(sinθcosφsinθsinφ)^2+(sinθcosφcosθ)^2=0.5^2 sinθcosφの2乗でまとめると さらにカッコの中をsinθの2乗でまとめると おわり =========== はい次py Y=sinθsinφがpyだとすると、これを x=|Y|sinθcosφ y=|Y|sinθsinφ z=|Y|cosθ に代入して x=|sinθsinφ|sinθcosφ y=|sinθsinφ|sinθsinφ z=|sinθsinφ|cosθ sinθsinφ>0のとき x^2+(y-0.5)^2+z^2=0.5^2 sinθsinφ<0のとき x^2+(-y+0.5)^2+z^2=0.5^2 となることを証明すればよい どちらにしても x^2+(y-0.5)^2+z^2=0.5^2 こうなるので、x,y,zを代入すると x^2+(y-0.5)^2+z^2=0.5^2 (|sinθsinφ|sinθcosφ)^2+(|sinθsinφ|sinθsinφ-0.5)^2+(|sinθsinφ|cosθ)^2=0.5^2 (sinθsinφsinθcosφ)^2+(sinθsinφsinθsinφ-0.5)^2+(sinθsinφcosθ)^2=0.5^2 sinθsinφの2乗でまとめると さらにカッコの中をsinθの2乗でまとめると おわり
小ネタしかないので今日のブログはブツブツしています
係数を除けば、Y=cosθなので、これを x=|Y|sinθcosφ y=|Y|sinθsinφ z=|Y|cosθ に代入すると x=|cosθ|sinθcosφ y=|cosθ|sinθsinφ z=|cosθ|cosθ cosθ>0のとき x^2+y^2+(z-0.5)^2=0.5^2 cosθ<0のとき x^2+y^2+(-z+0.5)^2=0.5^2 となることを証明すればよい どちらにしても x^2+y^2+(z-0.5)^2=0.5^2 こうなるので、x,y,zを代入すると (|cosθ|sinθcosφ)^2+(|cosθ|sinθsinφ)^2+(|cosθ|cosθ-0.5)^2=0.5^2 (cosθsinθcosφ)^2+(cosθsinθsinφ)^2+(cosθcosθ-0.5)^2=0.5^2 cosθの2乗でまとめると さらにカッコの中をsinθの2乗でまとめると おわり
2018年3月26日の、3次元井戸型ポテンシャルについてのブログを参考に、水素原子様の電子殻の、2p軌道の電子雲を描いてみました。
今回異なるのは、直交座標ではなく球面座標になったところです。 妥当な計算かどうかもよくわからないので、結果だけ表示するのではなく 途中の計算過程も公開しようと思います。 wikipediaの、水素原子様の波動関数のページを見てみると、長ったらしいページの途中に 具体的な波動関数が記述されているので、それを使います。 今回は2p、とりわけ2pzについて描画したので 動径方向の波動関数RはR2pを (r:距離、a0:ボーア半径、Z:原子番号で、今回Z=a0=1とします) 球面調和関数Θ(θ)Φ(φ)は、表の2段目(l=1、m=0)の (θとφはそれぞれ、wikiの「球面座標系」を参照してください なので、φとθの範囲は0°≦φ<360°、0°≦θ≦180°となります。 φとθの取り違えと、θの範囲にご注意ください。θの範囲は分野によっては-90°~90°のときもあります) をそれぞれ用います。 さっそくExcelでの実装に移ってみましょう。 r=5*rand() φ°=360*rand() θ°=180*rand() (rand()は0~1の一様乱数を返す関数です) とそれぞれ入力し、1000行ほど繰り返します。 (rのrandに掛け算した5は、なんとなくです) 次に、φとθの単位を°からradに変換するために、pi()/180を掛け算します。 それから、これを直交座標系に変換します。 x=r*sin(θ)*cos(φ) y=r*sin(θ)*sin(φ) z=r*cos(θ) なので、これを反映させます。 それではいよいよ、波動関数を実装してみます。 (PCユーザーの方は、図をクリックすると等倍表示に拡大されます) Rrには先ほどの にrを掛け算したものを用い、 ΘΦにも先ほどの この式を入力してください それから、「確率」の列には RrとΘΦを掛け算して、さらに2乗した数値を入力します 確率=(R*r*Θ*Φ)^2 そして、図の中央付近の列の、「判定」の列には if(確率>0.5,1,0) を入力します。 この「確率」の列には0か1のどちらかしか入らないのですが 1000行ほどある確率の列全体の半分くらいが1になるように、「確率」の列に適切な定数を掛け算して、調整してください。 このままだと、再計算のたびに乱数の値がうごくので、 x,y,z,判定の列を、「値のみコピー」して別のところに貼り付けます そうして張り付けたのがこちらになります。 ここで、x,y,z,判定のラベルに、2つ以上の書式を設定してください。 今回は「中央よせ」と「太字」を設定しました。 こうすることで、並べ替えが行えるようになるので、「判定」を基準に降順で並べ替えると 以下のようになります。 この表の、判定が「1」となっている上半分くらいを範囲に、y-zをグラフ化してみると、 このようになります。(合ってんのかなあ?「2pz軌道 波動関数」とかで、特に「画像検索」の「アニメーション」を選択して検索すると、他の方の計算結果が参照できます) 回してみました1 回してみました2 合ってるかどうかについては、「一様乱数」界隈が気になりますね… pixivのほうにもスクロール用を挙げておきました
昨日から今日くらいにかけて、久々にExcelでガリガリ計算して、久しぶりに水素原子の波動関数について定量的かつ具体的に考えるなどしていました。
詳しいことは後日書きたいのですが、球面座標は本当に面倒なものですね。 直交座標系はあんなにxとyとzが対等だったのに 球面座標系だと、まずrと、θ・φの次元が違うし θとφは時々入れ替わっているかもしれないし φは範囲が360°なのに対してθの範囲は180°だし そのφの範囲も0~180だったり-90~90だったりまちまちだし それも分野ごとに平然とプロトコルが違う!!! その上、変数分離したあとのrを変数とする動径方向の波動関数Rは R単独で表記することもあれば Rにrを掛け算して表記することもあり Rにrを掛け算してから2乗して積分しないと、存在確率が規格化できない! それなのに、平然とR単独の量やグラフも重宝されている!!! ホントもう、ブランクが空くと、「水素原子 波動関数」でググったwikiを見るだけでも苦労です 部品としてのみ使いたい人の方が余計に苦労されるんじゃないすか。 教科書とかwikiとか、整備されてるはずの情報に対して片っ端から疑心暗鬼になりますね。 しかもこれ、波動関数そのものを知りたいのならいいですけど 電子運の分布を描画したいときは、確率的にしか描画できないので まず合っているかどうかを確かめるすべがないところから始めるのが苦労するところで 波動関数そのものだったらそれはそれで、3次元空間にさらに波動関数の次元を用意しなきゃならないので、一体どうなってしまうんだと途方にくれるわけですよ。 デバッグの方法すら実はよくわかっていなかったと。 動径方向の波動関数Rの規格化はまあわかるんですが 残りの球面調和関数Y=Θ(θ)Φ(φ)がまたわけわからんですよね なんでφの関数に虚数入ってんだよ!とwwwwいつから複素平面でやってたんだよとwww 実は今日初めて知った情報なのですが、球面調和関数の描画方法、僕実は知らなくて x=rsinθcosφ y=rsinθsinφ z=rcosθ のrを|Y|に置き換えるといいんだそうです。 知ってから数時間生きてたらだんだん意味が分かってきたんですが 最初「なんですか?それ」でしたよ!!!! 2p軌道も疑心暗鬼で こいつが小さな2つの球々(たまたま)なのかどうか気になって仕方がありませんでした たとえば2pzだったら係数はさておきY=cosθになるわけですけど x^2+y^2+(z±0.5)^2=0.5^2 が本当に成り立つのか、不安でしたねえ (±は、Y=cosθ>0ならマイナス、Y<0ならプラスです) 2pxと2pyはそれぞれ (x±0.5)^2+y^2+z^2=0.5^2 x^2+(y±0.5)^2+z^2=0.5^2 が成り立ちます。 以前、直交座標系で3次元の井戸型ポテンシャルみたいなのをやったときを参考に 球面座標に応用してみました。 解釈があってるのかどうかいまいちよくわかりませんが、おおむねそれっぽい図ができたみたいです。 それも後日紹介したいです。 やーまじ合ってるかわかんないんで、やり方も含めて恐る恐るの公開ですよ。 早いもので僕ももうすぐ40歳、大学を出てからの歳月も20年近くになるんですよね。 思えばずいぶんと回り道をしてきたような気がしますが、今なお考え続けることができていることには本当に感謝ですね 今回のブランクは結構重症なくらい期間が空きましたが それでも少し慣らしたら感覚が追いついてくれてよかった。 僕にとってこういう計算は、スポーツでいうスキーのようなものかもしれません。 思いっきり体に染みついてるんで、ブランクが少し空こうが体が、指が覚えてるんですよね 若いころにがむしゃらにやっといてよかった。 ただ、腰が痛い。 椅子に長時間座っていられない ブログを長々書いていると、片方の足が妙にしびれる ああ、困ったなあ。 計算したことブログに上げる体力がないです。困った ああそうだ。球面調和関数の規格化ってどうなってんの!!!! そのうち自力で突き止めてやるからなーーーー!!!!
6563というナンバーを見かけた。
64の2乗から1を引くわけだけど 65には13、63には7が素因数として含まれているので 65*63と1001=11*13*7の最大公約数は91になるはずだ。 ところで、63*65はいくつか 64は2の3乗の2乗なので2の6乗 64の2乗は2の12乗 2の10乗が1024なので、それを4倍して4096 4096から1引いて、4095 なるほどちゃんと5の倍数になっている。 また、4+5=9なので、9の倍数でもある。 5を2倍した10を409から引くと、399 9を2倍した18を39から引くと21でこれは7の倍数なので、4095も7の倍数だし 5を4倍した20を409に足したら429で 9を4倍した36を42に足すと78、 8を4倍した32を7に足すと39になってこれは13の倍数なので、4095も13の倍数 よしOKだ。 4095を1001で割ると、4あまり91
ある数10m+nがあります。m,nは整数です。
これが任意の整数Aの倍数かどうかを判定する式を作りたいとき、どうするか。 たとえば7の倍数判定だったらA=7で -m+2nが7の倍数だったら10m+nも7の倍数 13の倍数判定だったらA=13で m+4nが13の倍数だったら10m+nも13の倍数なんですが、 この4とか-2とか、Aを一般化したいわけです。 10m+n=A*z1 B2*m+B1*n=A*z2 としてみましょう。 (z1,z2、B1,B2も整数です) 1つ目の式を変形して、 n=A*z1-10m このnを2つ目の式に代入して B2*m+B1*(A*z1-10m)=A*z2 展開して B2*m+A*B1*z1-10m*B1=A*z2 mを含む項と含まない項に分け B2*m-10m*B1=A*z2-A*B1*z1 (B2-10B1)*m=A*(z2-B1*z1) こうした上で、A=7だったら B2=-1、B1=2とすると、左辺のカッコの中が-1-10*2=-21になって、両辺が7で約分できるので、判定式として成立します。 同様にA=13だったら B2=1、B1=4とすると、左辺のカッコの中が1-10*4=-39になるため、両辺が13で約分できて、これも判定式として成立します。 つまり、以下の形に変形することにより、任意のAに対して (B2-10B1)*m=A*(z2-B1*z1) B2とB1を定めやすくなる、というわけです。 ためしにA=4だと B1=1、B2=6とか B2=2、B1=-1とかで成立します。 32が4の倍数だと判別するために、後者を採用すると 下1桁2から、それ以外3に2をかけて6にして引き算 -4になってこれは4の倍数なので、元の数32も4の倍数と、ちゃんとできています。 A=3だったら B1=1、B2=1とすると たとえば36だったら下1桁6とそれ以外3を足した9が3の倍数だったら、元の数36も3の倍数 A=11だったら B2=-1、B1=1 121を相手にしてみると 下1桁1からそれ以外12を引いて11なので、元の121も11の倍数 とできます。 任意の数の倍数判定に使うことができます。 が、速度は遅いし、あまり役に立たないです。 2のべき乗と3のべき乗と5のべき乗と11のべき乗などを区別しません。 ですので、2や5のべき乗の倍数判定(十進数)では必ず割り切れるのでほとんど意味がありませんし 3や9の倍数判定、「各桁を足す」に対して、完全下位互換となりますし(おそろしく遅い) 11の倍数判定「偶数桁の合計と奇数桁の合計を引く」に対しても完全下位互換になります。 たとえば1053が3の倍数だということを確かめたい場合、 1+5+3=9なのですぐにわかりますが、今回の方法では 105と3を足した108が3の倍数か知るために8に10を足した18が3の倍数か知るために 1+8=9と、数珠つなぎのような地獄を味わうことになり、大変判定が遅くなります。 なお、ある数Aの倍数判定のための式は1つではなく、無数に作りだすことができます 100m3+10m2+m1とかにしたらどうなるんでしょうね?
昨日までの、35を13でわったあまりの判別方法
証明しようにも証明するべき式がうまく確立できなくてずっとモヤモヤしてた。 今朝さっきトイレに入って、ああそうか両辺を4倍すれば割り算入らないからいけるやん! ってことにようやく気づいた。 m,nを整数として、 10m+n って数があったとすると、これを13でわったあまりd1は mod(10m+n,13)=d1 mod(4n+m,13)=4d2 のd2と等しいので、d1=d2 これを証明すればいい。 たぶんこれでかつる。 modが邪魔なので 勝手な整数L1、L2を用意して 10m+n=13*L1+d1 4n+m=13*L2+4*d2 のd1=d2である(L1=L2とは限らない) という問題に変換できそう。 2本目の式から m=13L2+4d2-4n を1本目の式に代入して 10(13L2+4d2-4n)+n=13L1+d1 130L2+40d2-40n+n=13L1+d1 130L2-13L1+40d2-d1-39n=0 13(10L2-L1-3n)=d1-40d2 もしd1=d2=だったら、 13(10L2-L1-3n)=-13*3d 両辺ともに13の倍数になる というのはやり方が強引だろうか?? もしこの証明ができたら、13や7以外の、4とか5とか17とか11とか3とか 必要だったりまったく不要な下位互換だったりの任意の数で割ったあまりの判別方法も 作りだせるんじゃないかって期待してたんだけど うーん…これだけだとどうなのかなあ?いまいちピンとこない 今日は起きたばっかりでストレスもほとんどなかったから 整数を扱っても頭の端っこがキューっとならなかった。 どうも大学を出てから整数を扱おうとすると時々不調になる。 元々整数論みたいの好きだったと思うんだけどね、 意味もなく3や9で割ったあまりとか計算しまくってたし でもなんかこう、あらかじめ得意だった分野をあとから学業で学ぶときの僕って 舐めプする癖があるみたいで、そういうのに限ってダメになる傾向があるような気がする 整数論とか確率とか、あるいは英語全般とかね 整数論は特に、「ああ、デジタルね~」って感じで舐めプする人が多いんじゃないかって 数学ガール読んだときに思った
昨日は、「下1桁を4倍してそれ以外と足して13で割る」っていうのは
本来は「下1桁以外を4分の1して下1桁と足して13で割る」から派生したオマケなんだよ っていうのを強調したくて、つい忘れていたんだけど、別アプローチがあるんだ。 というのは、「下1桁を4倍してそれ以外と足す」までは同じなんだ。 35を13で割ったあまりの例で見てみよう。 下1桁5を4倍して20 20と3を足して23 ここから事情が変わる。 ここで23を4で割ってさらに、それを13で割ったあまりを考えるんだけど 23は4の倍数じゃない。 そこで、今度は23に13の整数倍を足し引きして、4の倍数に持ってくる。 ちょうど、23+13=36が4の倍数になっている。 36÷4は9だ。 だから、元の数である35を13で割ったあまりも9 昨日の話とつじつまが合っている。 計算尺的な楽しみはこのアプローチでも相変わらず残ってくれる 4等分するときに物差しの折り紙をしたいのだ。 都合のいいことに、折り紙をした際の誤差は、整数を扱っているからという理由で キズモノのCDをコピーするみたいにノイズを消し去ることができる。
chouchoが舞えば気象兵器が儲かる
ローレンツ方程式 ほれ3行 '(ダッシュ・プライム)は微分を意味するので、この3行の方程式は連立微分方程式です。時間tで微分します。 なお、非線形ですので行列は帰って、どうぞ。 x,y,zが求められるべき関数で、x(t)、y(t)、z(t)らしいです。 p,r,bはパラメータです。 p=10、r=28、b=8/3っていうのが割りと注目されるらしいです。 今回数値計算でシミュレーションしましたが、初期値はx=10、y=12、z=15を参考にしました。 一度オイラー法での差分方程式によるシミュレーションを試しましたがすぐに変な値に収束してしまうので、ルンゲ・クッタ法でやり直したらExcelでもうまくいきました。陰的とかブッチャー配列とか知りません。古典的でやりました。 ルンゲクッタ法は以上のような手続きを取るそうです。 積分における短冊・台形近似をシンプソンの公式にしたやつの微分方程式版と言われて言葉ではなんとなく把握したけども、いまいち理解していません。 ですので、応用が利かず、たとえばy'=-xz+rx-yの場合任意の関数fはf=-xz+rx-yなのでf(x,z,y,t)なんでしょうが今はx,zのことは考えなくていいとして yにxとかzとか掛け算されてたらどうしよう!?gkbrとか思ってたんですが3本の式とも杞憂に終わってしまって助かりました。 たとえば y'=xyとかだったらどうしよう?って話でした! (PC版ではクリックすると原寸大が見れます、スマホ?ピンチアウト(スワイプみたいなあれ)でなんとかなるんじゃないすか(適当)) xの構成方法と、xに関するk1~k4の計算方法を図に記述しました。 y,zも同様です この状態で、h=0.01、n=2000くらいまで計算させました。 それからですね、 こんな感じの3次行列を用意します。 「x軸回転」のすぐ下にdegreeの角度θ、そのさらに下にradの角度θを格納し、行列の意味は こんな感じです。これをy軸回転、z軸回転で同様に繰り返し このような感じに並べます。 一番下の3次行列はx,y,z、3軸回転行列の積で このような意味合いです。 =MMULT(MMULT(x軸:x軸,y軸:y軸),z軸:z軸) という演算をやっています。配列全体に染み渡らせたいときは、演算させたい範囲を囲ってctrl+shift+エンターです。 なお、sinの符号は、片方がもう片方の逆符号であればどっちがプラスでもいいです。どうせ逆回転になるだけなんで。 そうして出来上がった3D回転行列を、 元のx,y,zに作用させましょう。 =MMULT(x:z,$合成行列) そうして出来上がった新しいx,y,z座標のxとyだけをグラフに反映させると このようになります。 x→y→z軸の順番で、180度ずつ回転させてますので、全部の回転が済めば元の回転角に戻ります この図が動く仕組みを説明しましょう まず now()-today() を入力します。 関数now()は時刻込み今のの日付のシリアル値を出力します。 関数today()は、時刻抜きの今日の日付のシリアル値を出力します。 シリアル値というのは、1900年1月1日の0時0分0秒を「0」とし、24時間を「1」と定義した表現方法なので、 たとえば同日の朝6時というのは0.25という数値になります。 6:00と打って、書式をシリアル値から数値に戻すと、0.25になっているはずです。 また、1900/2/1と「イコールなしで」打てば、1月1日から数えて32日目なので、書式を数値に戻すと32になるはずです。 これらを踏まえて、日付に半角スペースを入れてから時刻を入力すると、たとえば 1900/2/1 6:00:00 でしたら、32.25という数値になります。 now()はたとえば今が2019/6/4の10:57だったら 2019/6/4 10:57のシリアル値を算出するので 43620.45758 ぐらいの数値になります。 実はこの数値、一番小さい桁を見ると、ミリ秒単位ぐらいで動いています。 F4を連打するとうごめいているのがわかるかと思います。 これを動画の媒介変数に用いることができます。 たとえばnow()の値を700万倍に拡大してグラフに反映させることができれば、目に見えて動きます。 が、整数部が5桁もあるので、700万倍したらオーバーフローしてしまいます。 これを解決する手っ取り早い方法として、(色んな方法がありますが)「関数today()で関数now()を引き算する」というのがあげられると思います。 必ず1未満の数値になりますし、引き算という演算を行っているため、Excelはシリアル値ではなく数値と勝手に解釈して出力してくれます。 今回は、180度の回転を3回繰り返したいので、180×3=540°の周期が必要です。 ですので、now()-today()を700万倍した数値を540で割り算した剰余(あまり)が役に立ってくれます。 剰余の関数はモジュロ演算なので、modという関数です。 A=mod(700万*(now()-today()),540) という演算を行います。 x,y,z軸の回転角θ1、θ2、θ3のdegreeにそれぞれ θ1=IF(A<=180,A,180) θ2=IF(A<=180,0,IF(A<=180*2,A-180,180)) θ3=IF(A<=180*2,0,A-180*2) と入力すると、上のように動くグラフが作れます バタフライ効果という名前の由来そのものが ・「蝶が舞えば気象兵器が儲かる」 と ・ローレンツアトラクタのグラフが蝶のように見える の2種類あるというのがなんとも、 2つの過去が1つの未来に収束したみたいで興味深いです シュタッL・ψ・卍=3ゲー |
カレンダー
カテゴリー
最新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)
アクセス解析
|