1. 複素数(Complex Numbers)
量子力学では、確率は実数ですが、その元となる「確率振幅」は複素数で記述されます。
基本定義
虚数単位 i を i2=−1 で定義します。複素数 z は実部 x と虚部 y を用いて以下のように表されます。
z=x+iy(x,y∈R)
極形式とオイラーの公式
量子ビットの位相を理解する上で、極形式は極めて重要です。
複素数 z は、原点からの距離(絶対値)r=∣z∣=x2+y2 と、偏角 θ を用いて表せます。
z=r(cosθ+isinθ)
ここで、オイラーの公式 eiθ=cosθ+isinθ を用いると、以下の簡潔な表現が得られます。
z=reiθ
共役複素数と絶対値の二乗
z=x+iy に対し、虚部の符号を反転させたものを共役複素数 z∗(または zˉ)と呼びます。
z∗=x−iy=re−iθ
量子力学で確率を計算する際、絶対値の二乗が頻出します。
∣z∣2=zz∗=(x+iy)(x−iy)=x2+y2
2. ベクトル空間とブラケット記法(Bra-ket Notation)
量子力学では、ポール・ディラックが考案した「ブラケット記法」を用いてベクトルを扱います。これに慣れることが最初のステップです。
ケットベクトル(Ket Vector)
列ベクトルを「ケット」と呼び、∣v⟩ と書きます。例えば、2次元複素ベクトル空間 C2 のベクトルは:
∣v⟩=(v0v1),v0,v1∈C
ブラベクトル(Bra Vector)
行ベクトルであり、ケットベクトルのエルミート共役(随伴:転置して複素共役をとったもの)を「ブラ」と呼び、⟨v∣ と書きます。
⟨v∣=(∣v⟩)†=(v0∗v1∗)
※ †(ダガー)はエルミート共役を表す記号です。
内積(Inner Product)
ブラとケットを組み合わせると内積になります(ブラ・ケット)。
∣a⟩=(a0a1),∣b⟩=(b0b1) のとき、
⟨a∣b⟩=(a0∗a1∗)(b0b1)=a0∗b0+a1∗b1
内積の結果は複素数(スカラー)になります。
自分自身との内積 ⟨v∣v⟩ は、ベクトルの長さ(ノルム)の2乗となり、必ず正の実数になります(∣v⟩=0 の場合)。
⟨v∣v⟩=∣v0∣2+∣v1∣2=∣∣v∣∣2
正規直交基底
量子コンピューティングでは、計算基底(Computational Basis)として以下の2つのベクトルをよく用います。
∣0⟩=(10),∣1⟩=(01)
これらは互いに直交し、長さが1です(正規直交)。
- 正規性:⟨0∣0⟩=1,⟨1∣1⟩=1
- 直交性:⟨0∣1⟩=0,⟨1∣0⟩=0
これをクロネッカーのデルタ δij を用いて ⟨i∣j⟩=δij と書くこともあります。
3. 線形演算子と行列
量子ゲートは、ベクトル空間上の線形変換(行列)として表現されます。
外積(Outer Product)
ケットとブラを ∣a⟩⟨b∣ の順で並べると、行列(演算子)になります。
例えば C2 の場合:
∣a⟩⟨b∣=(a0a1)(b0∗b1∗)=(a0b0∗a1b0∗a0b1∗a1b1∗)
特に射影演算子 P0=∣0⟩⟨0∣ や P1=∣1⟩⟨1∣ は重要です。
∣0⟩⟨0∣=(10)(10)=(1000)
ユニタリ行列(Unitary Matrix)
量子ゲートを表す行列 U は、必ず ユニタリ行列 です。
定義は以下の通りです。
U†U=UU†=I
ここで I は単位行列です。
ユニタリ行列の重要な性質は、ベクトルの内積(長さや角度)を保つ ことです。
∣ψ′⟩=U∣ψ⟩,∣ϕ′⟩=U∣ϕ⟩ とすると、
⟨ψ′∣ϕ′⟩=(U∣ψ⟩)†(U∣ϕ⟩)=⟨ψ∣U†U∣ϕ⟩=⟨ψ∣I∣ϕ⟩=⟨ψ∣ϕ⟩
これは、量子計算の過程で確率の総和(ベクトルのノルムの2乗)が常に1に保たれることを保証します。
エルミート行列(Hermitian Matrix)
観測量(オブザーバブル)やハミルトニアン(エネルギー)を表す行列 H は、エルミート行列 です。
定義は H†=H、つまり自分自身が随伴行列と等しい行列です。
エルミート行列の重要な性質:
- 固有値はすべて実数である(観測結果は実数値で得られるため)。
- 異なる固有値に属する固有ベクトルは直交する。
4. テンソル積(Tensor Product)
複数の量子ビット(多体系)を扱う場合、ベクトル空間はテンソル積によって拡張されます。
ベクトルのテンソル積
2つのベクトル ∣a⟩∈C2 と ∣b⟩∈C2 のテンソル積 ∣a⟩⊗∣b⟩(または単に ∣a⟩∣b⟩, ∣ab⟩)は、4次元のベクトルになります。
∣a⟩⊗∣b⟩=(a0a1)⊗(b0b1)=a0⋅(b0b1)a1⋅(b0b1)=a0b0a0b1a1b0a1b1
行列のテンソル積
演算子も同様に拡張されます。A と B が 2×2 行列の場合、A⊗B は 4×4 行列になります。
A⊗B=(A00BA10BA01BA11B)
この性質により、量子ビットの数 n が増えると、状態空間の次元は 2n で指数関数的に爆発します。これが量子コンピュータの潜在能力の源泉の一つです。
まとめ
本記事では、量子コンピューティングの理解に必要な「言語」を定義しました。
- 複素数: 確率振幅の記述に必要。
- ブラケット記法: ベクトル演算の見通しを良くする標準記法。
- ユニタリ行列: 量子ゲート(可逆な操作)の数学的表現。
- テンソル積: 複数の量子ビットを組み合わせるための演算。
量子コンピュータ入門 #2:情報のベクトル表現と量子ビット へ進む
参考資料
- Nielsen, M. A., & Chuang, I. L. (2010). Quantum Computation and Quantum Information. Cambridge University Press.
- Preskill, J. (2022). Lecture Notes for Physics 229: Quantum Information and Computation.
- 渡辺 昇, & 荒木 不二洋. (2004). 量子情報・量子コンピュータの数理.
更新履歴
ご注意: 本記事は2025年12月時点の情報に基づいています。最新情報は公式サイトをご確認ください。