1qビットのよろめき

このワークシートは[url=https://www.geogebra.org/m/twxxx3yq]Math by Code[/url]の一部です。
1.量子論理って何?
量子論理の特徴をつかむために対比をしてみよう。[br][br][b][size=150]<量子力学VS量子論理>[br][/size][/b]量子力学は物理で、量子論理は情報科学だ。[br]なぜこのちがいがあるのだろうか。[br][br]量子力学では[br]シュレーディンガー方程式を解くことが主役だった。[br]もともと運動エネルギーとポテンシャルエネルギーの和としてのハミルトニアンという物理量Hを[br]演算子^Hとした。これを状態ベクトルψに作用させると、ベクトルのスカラーE倍になるというのが[br]シュレーディンガー方程式だったね。[br][b]^H ψ(r)=Eψ(r)[/b][br]この[b]偏微分方程式[/b]の解が[b]波動関数ψ(r)[/b]だった。[br]線形代数で見ると、[b]固有値E[/b]に対応する、[b]固有ベクトルψ(r)[/b]が波動関数だった。[br]そもそも波動関数ψ(r)とは、線形代数では[b]<r|ψ>[/b]であり、[br]位置の行ベクトル[b]<r|[/b]と状態の列ベクトル|ψ>の内積だった。[br][br]量子論理では、物理量で重要な位置ベクトルがテーマからはずれる。[br]変わりに、[b]量子状態ベクトル|ψ>そのもの[/b]を情報として扱う。[br]だから、物理学から情報科学に変わるということだね。[br][br]でも安心してください。[br][br][b]偏微分方程式[/b]の変数置換や境界値による曲線の連続化[br]3次元空間での波として伝わる[b]粒子群の挙動のイメージ化[/b][br]これらの苦労から解放されます。[br][br][b]無限次元空間ではなく、有限次元[/b]になります。[br][b]多変数関数の連続変化の接続から段階的な行列積の接続[/b]になります。[br]ミクロの自然の解明から論理のゲームへ変わります。[br][br][b][size=150]<古典論理と量子論理>[/size][/b][br][size=150][b][size=150][b][color=#ff0000]※他のリソースとの違う規約をします。ご注意ください。[br]geogebraのテキストプログラムの制約から<、>は(,)を使うことにします。[br][/color][/b][/size][/b][/size][size=100]・[b]古典論理でも量子論理との共通点[/b][br][/size]列ベクトルaを、[b]|a)[/b]とかき、ケットa と読む。状態ベクトルをさします。[br]行ベクトルbを、[b](b|[/b]とかき、ブラbと読む。[br]列ベクトル [math]\left(\begin{matrix}a\\b\end{matrix}\right)[/math]のことを簡単に、[b](a,b)[/b]とかくことがある。[br][b]状態a[/b]とは、a番目の成分が1の[b]基底ベクトル[/b]をさす。[br]だから、2次元の基底は0番と1番があるとして、[br]2個の基底の例|0)=(1,0)、|1)=(0,1)の2つ。[br]また、基底ベクトルに限らず、状態ベクトルのサイズ(ノルム)は1。[br](例)3次元の基底の例{|0),|1),|2)}={(1,0,0),(0,1,0),(0,0,1)}[br][b]重ね合わせ状態[/b]|φ)=a|0) + b|1)=(a,b)のとき、係数のノルムは1[b][br][br]・古典論理でも量子論理とのちがい[/b][br]ベクトルの[b]成分[/b]は古典論理では実数ですが、量子論理では複素数です。[br]ベクトルの[b]サイズ(ノルム)[/b]は古典論理では、[b][color=#0000ff]成分の和=1[/color][/b]ですが、[br]量子論理では[color=#0000ff][b]成分の2乗和=1です。(もちろん、成分xの2乗和は複素数ですから|x|^2=x*xです[/b][/color]。)[br]
2.ノルムの定義のちがいを実感しよう
[size=150][color=#0000ff][b]古典論理でも量子論理でも重ね合わせはあります。[br]重ね合わせ状態[/b]|φ)=a|0) + b|1)=(a,b)のとき、係数のノルムは1[/color][/size][br]しかし、ノルムの定義がちがうため、重ね合わせ状態の意味が全く変わりますよ。[br][br][b][size=150]<古典論理はただの確率>[br][/size][/b]たとえば、コインの裏が0、表が1だとすると、[br]コインの目の確率が(a,b)=(1/2, 1/2)であることを[br]重ね合わせ状態|φ)=a|0) + b|1)=(a,b)のとき、a+b=1[br]と書けます。[br]コインをふっている間はまだ、結果はわかりませんから、可能性は半々です。[br]しかし、ふれば、表か裏のどちらかが出ます。[br]0.5の目がでたりしません。[br]表と裏と垂直な部分が接地して、コインが机の上に立つとかではないでしょう。[br][br][b][size=150]<量子論理は干渉性をもつ確率>[br][/size][/b]コインの目の裏と表の係数が変わります。[br]係数を(a,b)=(1/sqrt(2), 1/sqrt(2))としましょう。[br]重ね合わせ状態|φ)=a|0) + b|1)=(a,b)のときます。[br]重ね合わせの状態ベクトルのノルムが|a|^2+|b|^2=1/2+1/2=1になってますね。[br]これでは、たたの数式の規約のちがいのように思えるかもしれません。[br][br]係数は今正の実数でしたが、[b]量子論理では負の数や虚数もOK[/b]です。[br]なぜでしょうか?[br][br]量子論理の重ね合わせの係数は[br]ただの確率ではなく、[b]波の確率振幅[/b]だからです。[br]波ならば、負の振幅になったり、波の位相がずれたりすることがあるからです。[br]状態を波として重ねることができる。[br]波だから、[b]ヤングの2重スリット実験[/b]のときのように波が強め合ったり、消しあったりする。[br]それが確率振幅です。[br][br]なぜ、線形結合の係数をなぜ、複素数にひろげたのか?[br]イメージがわきましたか。[br][br]もはや「粒」が「波」として伝わるという説明のための量子論ではなく、[br][b]波そのものの状態が重ね合わせ[/b]ということです。[br]たとえていうと、[b]量子論理は[color=#0000ff]酔っ払いのコインのようによろめいている[/color][/b]のわけですね。[br]これが、量子の重ね合わせの状態です。[br][br][b][size=150]<重ね合わせの重ね合わせ>[/size][/b][br]たとえば、重ね合わせを重ね合わせてみよう。[br][br]|ψ1) = 1/sqrt(2)(|0) + e^i0 |1) ) [br]|ψ2)= 1/sqrt(2)(|0) + e^kπ|1) ) [br]2つの状態のノルムは1と1なので、[br]単純にたすと、ノルムは1をこえてしまいます。[br]だから、ノルムを1/sqrt(2)倍してたしましょう。[br][br]この2つを重ね合わせるとどうなるでしょうか。[br][br]|1)の係数の和を求めると、[br][b]オイラー等式から、[/b][br]e^i0+e^iπ=(cos0+i sin0) + (cosπ+i sinπ)= (cos 0+cosπ) + i(sin0+sinπ)[br]=(1-1)+i(0+0)=0です。[br][b]極座標[/b]で考えると一瞬でわかります。(1;0)+(1;π)=[b]1+(-1)=0[/b][br][br]だから、重ね合わせは1/sqrt(2)( |ψ1)+ |ψ2))=1/sqrt(2) (2/sqrt(2)|0))=|0)[br]何と確率1で|0)に確定してしまいました。[br]ψ1とψ2の状態の波が干渉して、[br]|1)の係数は消しあい、|0)の係数は強めあったのです。[br][b]量子論理の係数は、ただの確率ではなく状態が干渉しあう波[/b]だということです。[br][br][b][color=#0000ff]よろめき具合が真逆な状態があわさると、[br]シャキーンと決まる。ファジーさがなくなることもある。[br]これが量子論理の重ね合わせの面白さです。[br][/color][/b][b][color=#0000ff][br][/color][/b]
[b][size=150][color=#9900ff][u]課題:geogebraで古典論理と量子論理の係数の自由度のちがいを視覚化しよう。[br][/u][/color][/size][/b][br]タイトルを[br][b]古典論理の重ね合わせの係数[/b][br]とします[br]A=(0,0)[br]B=(1,0)[br]C=(0,1)[br]k0=Vector(A,B), k1=Vector(A,C)[br][br]provable=Curve(t,1-t, t, 0,1)[br]この線分上の点(a,b)をアニメーションで動かしましょう。[br]a=slider(0,1,0.1)[br]b=1-a[br]Classic=(a,b)[br]これで、いかに[b]古典論理の自由度が小さいか[/b]がわかります。[br][br]同様にして[br]タイトルを[br][b]量子論理の重ね合わせの係数[br][/b]とします。[br]A,B,C,k0,K1までは同じです。[br]theta=0~2πでスライダーでアニメーションします。[br]r=0~1でスライダーでアニメーションします。[br]a=r e^iθとします。[br]c=abs(a)^2[br]R=sqrt(1-c)[br]x^2+y^2=Rとして、円周に表示する名前をb-areaとします。[br]aがアニメーションで動くのに連動して、[br]bが存在する円周が動き、[b]自由度の違い[/b]が目で見てわかりますね。
古典論理
量子論理
3.ブロッホ球で視覚化しよう
[b][size=150]<1qビット>[/size][/b][br]0と1はコインの裏と表という話でしたが、[br]もともとは1ビットの2値からきています。[br]だから、これまでの話は1ビットの論理を古典と量子の対比をしてきたことになります。[br][br]古典の1ビットはbitですが、量子の1ビットは[b]1qビット(qubit)[/b]と言います。[br]2の状態は I0)および |1 )を取りるので、[br]観測したときの状態は[b]|Q)=a|0)+b|b)[/b]とかき、[br]係数a,bのノルムは1になり、[br][b][color=#9900ff]ガウス平面の半径1の円周内の2点の自由度がある、揺れ動く波の状態、千鳥足状態[/color][/b]にある。[br][br]状態|Q)を観測して|0)がでる確率は|a|^2で、|1)がでる確率は|b|^2であるということしか言えない。[br]|0),|1)のどちらになるかは、観測で決まり、観測のたびに変わる。[br]その意味でa,bは確率でもある。[br]観測によって0か1のどちらかになるというのは古典論理のコインと何もかわらない。[br][br][size=150][b]<ブロッホ球>[/b][br][/size]状態を表す図がある。[br]それは球面極座標の図だ。[br]半径r、北極からの南緯θ、東経φの点Pがあるとしたら、[br]Pの極座標(r、θ、φ)を直交座標(x、y、z)に変換する式は有名だね。[br][b](x、y、z)=(r cosφsinθ、 r sinφsinθ、 r cosθ )[/b][br]量子論理では、状態も係数もベクトルのノルムが1だから、r=1とするのはよいですね。[br](x、y、z)=( cosφsinθ、 sinφsinθ、 cosθ )[br]ここまでは、ふつうの球面極座標の話しだ。[br][br]ブロッホ球では、さらに次の設定が加わる。[br][b]北極を|0), 南極を|1)とする[/b]。[br]ここで、[b][color=#0000ff][size=150]a= cos( θ/2), b= e^iφ sin(θ/2 )[/size][/color][/b]とおいてみよう。[br]すると、球面で観測できるのはx、y、zが実数の位置だけなので、a,bを実数にしてみよう。[br]zのθをθ/2にするとaに対応する。[br]e^iφ=cosφ+i sinφとして、[br]b=(cosφ+i sinφ) sin(θ/2 )=cosφsin(θ/2 )+i sinφsin(θ/2 ) [br]だから、xのθをθ/2にすると、bの実部に対応する。すると、yはbの虚部に対応することがわかる。[br][br][b]θを図ではθ/2にすることはどんな効果があるのだろうか[/b]。[br]カンタンのためにφ=0としてみよう、(cosφ、sinφ)=(1,0)。[br]このとき、(x、y、z)=( sinθ、 0、 cosθ )、a= cos( θ/2), b= sin(θ/2 )と単純になった。[br]θを0→π→2πの順に動かすと、球面上の点Pのxは0→0→0、zは1→-1→1と変わる。[br]つまり、Pは「[b]北極⇒南極⇒北極[/b]」と動くね。[br]θ/2は0→π/2→πの順に変わるので、a=cosは1→0→-1、b=sinは0→1→0と変わるね。[br]とういことは[br]重ね合わせ[b]|Q)[/b]=a|0)+b|1)=1|0)+0|1)=0|0)+1|1)=-1|0)+0|1)[br][color=#0000ff][b]-1でも1でもノルム計算で2乗されるので、状態Qも「北極⇒南極⇒北極」となる。[/b][br][/color][br]ブロッホ球はノルム計算ルールにあう[b]巧妙な視覚化[/b]だということがわかるね。
[color=#9900ff][b][u][size=150]課題:ブロッホ球をgeogebraで作るにはどうしますか。[br][/size][/u][/b][/color][br]タイトルを「ブロッホ球にある状態ベクトルと係数の変化」としましょう。[br]x^2+y^2+z^2=1(ブロッホ球です。色の濃さを5くらいに下げます)[br][br]数式は右辺部分を入れてエンターしてから、自動でつく名前を左辺のように変えましょう。[br][*][code]A = (0,0,0)[/code][br][/*][*][code]θ = Slider(0, 2π, 0.01)[/code] (アニメーション)[br][/*][*][code]φ = Slider(0, 2π, 0.01)(初期値は0でいいでしょう)[/code][br][/*][*][code]P = ( sin(θ)*cos(φ), sin(θ)*sin(φ), cos(θ) )[br][/code] (球面の点)[br][/*][*][code]v = Vector(A, P)[/code][br][/*][*][code]aa=cos(θ/2)[/code][/*][*][code]f=e^{(i φ)}[/code][/*][*][code]g=sin(θ/2)[/code][/*][*][code]h=f g[/code][/*][*][br][/*][*]表示するテキストを数式エディタにかきます。[/*][*]Text_a = "a = cos(θ/2)=" + aa[/*][*][size=100]Text_b = "b =e^{iφ}sin(θ/2)= " + f g + "=" + h[/size][/*][*][size=100][br][/size]立体図形のビューでテキストを追加します。[/*][*]"θ="+θ+"\\φ="+φ+"\\"+Text_a+"\\"+Text_b[br][/*][*][/*][*]"と"の間が入力する部分で、+x+のx部分がgeogebraアイコンタブから選ぶ変数オブジェクトです。[/*][*][br][/*][*]しかし、これだけだと係数が数値だけしかわからないので、[/*]オブジェクトhの見出しを「b」にして、表示したままにします。[br]また、(0,0,aa)という点を作り、見出しを「a」にしましょう。[br]こうすると、[b]点Pの位置に連動して係数a,bがどう変わるか[/b]がわかりますね。[br]おもしろことに、geogebraはおりこうさんで、bつまりオブジェクトのhがfとgの2次元に分解されて[br]2Dのオブジェクトビューに表示されます。φを変えてみるとわかります。[br][br]また、点(0,0,1)をとり、見出しを「[b]|0>[/b]」にして、[br]点(0,0,-1)をとり、見出しを「[b]|1>[/b]」にすると、[br]よりブロッホ球らしくなるでしょう。
ブロッホ球

Information: 1qビットのよろめき