大家好!在前面一個專欄(線性代數 or 量子力學 )中,作爲初學者,我和大家一起學習並向大家介紹了一些量子力學的入門知識(當然這個專欄還沒有結束,有喜歡的小夥伴可以持續關注!),但是本人並不是物理專業的(其實我是一個程序狗 o(╥﹏╥)o )所以基於量子力學的一些基礎,我們接下來的學習方向是 :以量子力學和計算機爲基礎的量子計算!在這裏期盼大家的點贊和支持(大一新生真的不容易~~)
一. 背景介紹
20世紀微電子技術的迅速發展,大大提高了電子計算機集成電路的集成度,爲現代信息化社會打下了物質基礎。按照著名的“摩爾定律 ”,隨着集成電路集成度的日益提高,電路板蝕刻精度也將越來越高,中央處理器芯片上集成的晶體管器件就會越來越密,這將迫使電路線寬不斷狹窄,直至狹窄到不得不考慮運動在電路中的電子的波動性將在電路中產生新的物理現象–即量子效應時(當電路線寬小於0. 1微米),原有的物理規律會部分不適用 !
大家玩電腦的都會知道,現在的光刻技術,是十分發達的,在一個不到20c m 2 cm^{2} c m 2 面積上的 C P U CPU C P U 上 表面佈滿的數以萬計的印刷電路,但是這會受到每條線路之間距離的控制,所以無論你怎麼精密,都是無法突破到人類目前已知最強大的芯片能力的下一個數量級,所以,我們現在像英特爾,英偉達公司生產的芯片都是分層的,就像人在古代住平房,現在人們住樓房的道理是一樣的!例如12核48線程 之類的處理器,都只能說提升百分之多少,沒有人說提升了幾倍!但是我們的量子計算機就可以做到這一點,無線程的單一約束,可以並行處理,這直接將計算速度提升到下一個數量級!
什麼是量子信息呢?
要知道量子信息 ,我們先考慮一下:什麼是量子?我們天天說量子,量子到底什麼 ?
量子最早出現在光量子理論中,是微觀系統中能量的一個力學單位。現代物理將微觀世界中所有的微觀粒子(如光子、電子、原子等) 統稱爲量子
量子信息 就是:
利用微觀粒子狀態表示的信息稱爲量子信息。量子信息學是指以量子力學·基本原理爲基礎,通過量子系統的各種相干特性(如量子並行、量子糾纏和量子不可克隆等),研究信息存儲、編碼、計算和傳輸等行爲的理論體系。
這裏我們只是給大家一個感性的印象,不必深入理解,有時候,朦朦朧朧纔是真,你看到的真不一定是真,你看到的假也不一定是假!
二 . 量子計算學習
(1)狄拉克符號,量子比特,希爾伯特空間
前面在以薛定諤的貓爲例向大家介紹量子力學的時候,簡單的瞭解過這個東東,下面,將系統詳細的講解這個符號及其意義:
我們把某個量子力學系統所處的狀態稱爲量子態 , 由 Hilbert 空間中的列單位向量 描述(這是個不出存在的假想空間)。
用一個符號來表示就是 ∣ φ ⟩ \left| \varphi \right \rangle ∣ φ ⟩ ,稱爲態矢,這個符號裏面的箭頭向右,又叫右矢,同樣的,就會存在左矢 ⟨ φ ∣ \left \langle \varphi \right | ⟨ φ ∣ , 因爲線性代數是量子力學的表達語言,此二者用線性代數來表示爲:左矢對應行向量,右矢對應右向量 (a 1 , a 2 ⋯ a n a_{1},a_{2} \cdots a_{n} a 1 , a 2 ⋯ a n 是複數)
∣ φ ⟩ = [ a 1 a 2 ⋮ a n ] ⟨ φ ∣ = [ a 1 , a 2 ⋯ a n ] \left| \varphi \right \rangle=\begin{bmatrix}
a_{1} \\
a_{2} \\
\vdots \\
a_{n} \\
\end{bmatrix}\qquad\left \langle \varphi \right |=\begin{bmatrix}
a_{1} ,a_{2} & \cdots a_{n} \\
\end{bmatrix} ∣ φ ⟩ = ⎣ ⎢ ⎢ ⎢ ⎡ a 1 a 2 ⋮ a n ⎦ ⎥ ⎥ ⎥ ⎤ ⟨ φ ∣ = [ a 1 , a 2 ⋯ a n ]
所以啊 ,這個左右矢其實就是線代裏面與轉置類似的關係,他們描述的都是同一個東西,一般情況下 ,我們都是用右矢表示,當然它也滿足向量的運算性質和規律,用到的時候再說!
除此之外,我們再來說一下態矢量的內積(其實和線代裏面的一樣):
內積:通常表示爲: ⟨ α ∣ β ⟩ \left \langle \alpha | \beta \right \rangle ⟨ α ∣ β ⟩ 。
⟨ α ∣ β ⟩ = ( ∣ α ⟩ , ∣ β ⟩ ) = ( ∑ i α i ∗ ⟨ α ∣ ) ( ∑ i b i ⟨ β i ∣ ) = ∑ i a i ∗ b i ⟨ α i ∣ β i ⟩ \left \langle \alpha | \beta \right \rangle = (\left| \alpha \right \rangle,\left| \beta \right \rangle ) =(\sum_{i} \alpha _{i}^{*}\left \langle \alpha \right |)(\sum_{i}b _{i}\left \langle \beta _{i} \right |) = \sum_{i} a_{i}^{*}b_{i}\left \langle \alpha_{i} | \beta_{i} \right \rangle ⟨ α ∣ β ⟩ = ( ∣ α ⟩ , ∣ β ⟩ ) = ( i ∑ α i ∗ ⟨ α ∣ ) ( i ∑ b i ⟨ β i ∣ ) = i ∑ a i ∗ b i ⟨ α i ∣ β i ⟩
態矢量內積的性質與線代中向量基本一致:
能存在一個集合能滿足加法和數乘,將其稱爲矢量空間,那麼,如果還同時能滿足內積呢? 此時我們將其稱爲內積空間,再進一步,如果完全內積的空間就叫希爾伯特空間 !
還記得我們在學線代的向量的時候,在這裏轉化爲態矢量也是換湯不換藥,態矢量的模,逆元,單位化,正交性,線性獨立(線性無關)也是存在且符合原來的規律的,後面真正應用計算的時候就不用糾結了!
綜上,我們大概又重新的回顧了一下我們之前簡單介紹過的一些知識,現在回過頭來想一想,量子信息是怎麼運作的?也就是怎麼讓量子來儲存或者傳達信息呢?
我們學計算機的人都知道,經典的信息的基本儲存單元叫比特 ,而量子信息的基本儲存單元就是量子比特 ,在我們用電腦的時候,所有的數字和各種字體都被編碼成二級制數字代碼,在傳給內存和 c p u cpu c p u 一個一個讀取,怎麼讀取的呢?爲啥可以讀取?其實我們運用的是電流的特性,交流電轉化爲直流電後,以超高頻率的電壓交替來代替二進制中的0與1,從而快速計算!
對於量子信息而言,一個量子比特的狀態是一個二維複數空間的向量 ,它的兩個極化狀態∣ 0 ⟩ , ∣ 1 ⟩ \left| 0 \right \rangle,\left| 1 \right \rangle ∣ 0 ⟩ , ∣ 1 ⟩ 對應經典狀態的 0與1!之後我們就有回到了疊加態等知識 的學習,所以有很多人會疑惑爲啥要將這個狄拉克符還有其他的一些看似無關的知識,這裏請原諒我用了倒敘的手法,現在大家是不是感到恍然大悟呢
這裏說到比特,我愛吐槽的毛病就又犯了,以前我們都說家裏或者哪哪的網速多少兆啊,比如說一個100兆的網速,你用測試軟件去測是98 99 兆左右,但是你真正去下載某個東西或者上傳啥文件的時候,最多也就10兆(其實10M都不到),這個是爲啥呢,因爲一個字節是8個比特,所以,最後其實你理論上的真正網速是在100/8=12.5兆 ,三大運營商就像保險公司一樣和我們老百姓在玩文字遊戲呢!
就本來已經感覺自己被騙了,還有像某度網盤,某訊,某雲,某雷之類的公司壟斷下載服務,你不充會員就不給你網速,可恨的某度網盤 將下載速度調到100kb以下,你能怎麼辦??衝了普通會員也只是恢復你本來的下載速度,想要快嗎,得是超級會員(S v i p S vip S v i p ), 你氣不氣 (╹▽╹ )?
(2)線性算符
在高中的時候,數學上我們就學過如何計算二維平面中一個向量在另一個向量上的投影(例如v v v 在w w w 方向上的映射!),那麼態矢量的相關知識存在嗎?必須的!!
在兩個矢量空間 V 和 W中分別有 ∣ v ⟩ , ∣ w ⟩ \left | v \right \rangle, \left | w \right \rangle ∣ v ⟩ , ∣ w ⟩ ,那麼將∣ v ⟩ \left | v \right \rangle ∣ v ⟩ 映射到∣ w ⟩ \left | w \right \rangle ∣ w ⟩ 上 表示爲:
∣ w ⟩ = A ∣ v ⟩ \left | w \right \rangle= A \left | v \right \rangle ∣ w ⟩ = A ∣ v ⟩
這裏的A A A 稱爲算符 ,其本徵本質就是一個矩陣,這個知識我們在上個專欄中也見過(動量算符)!
有關算符運算的性質:
單位算符: I V ∣ v ⟩ ≡ ∣ v ⟩ I_{V}\left | v \right \rangle\equiv \left | v \right \rangle I V ∣ v ⟩ ≡ ∣ v ⟩ (單位算符是最簡單的線性算符)
零算符: 0 ∣ v ⟩ ≡ 0 0 \left | v \right \rangle\equiv0 0 ∣ v ⟩ ≡ 0
線性算符:A ( a ∣ v ⟩ + b ∣ w ⟩ ) = a ( A ∣ v ⟩ ) + b ( A ∣ v ⟩ ) A(a\left | v \right \rangle+b\left | w \right \rangle) = a(A\left | v \right \rangle)+b(A\left | v \right \rangle) A ( a ∣ v ⟩ + b ∣ w ⟩ ) = a ( A ∣ v ⟩ ) + b ( A ∣ v ⟩ ) (對於任意的態矢量∣ v ⟩ , ∣ w ⟩ \left | v \right \rangle,\left | w \right \rangle ∣ v ⟩ , ∣ w ⟩ ,滿足該式稱A爲線性算符 )
算符相等: 對於任意∣ v ⟩ \left | v \right \rangle ∣ v ⟩ 滿足A ∣ v ⟩ ≡ B ∣ v ⟩ A\left | v \right \rangle\equiv B\left | v \right \rangle A ∣ v ⟩ ≡ B ∣ v ⟩ ,則稱A,B 兩個算符是相等的!
算符之和:C ∣ v ⟩ = ( A + B ) ∣ v ⟩ = A ∣ v ⟩ + B ∣ v ⟩ C\left | v \right \rangle=(A+B)\left | v \right \rangle=A\left | v \right \rangle+B\left | v \right \rangle C ∣ v ⟩ = ( A + B ) ∣ v ⟩ = A ∣ v ⟩ + B ∣ v ⟩ (對於線性算符的疊加C = A + B C=A+B C = A + B 也是線性的來說)
算符之積:D ∣ v ⟩ = ( A B ) ∣ v ⟩ ≡ A ( B ∣ v ⟩ ) D\left | v \right \rangle =(AB)\left | v \right \rangle\equiv A(B\left | v \right \rangle) D ∣ v ⟩ = ( A B ) ∣ v ⟩ ≡ A ( B ∣ v ⟩ )
瞭解完一些算符的性質之後,爲了讓大家更加深刻的理解算符,我們來推導一下算符到底是啥?
假設算符A A A ,作用於態矢量 ∣ α ⟩ \left | \alpha \right \rangle ∣ α ⟩ ,得到 ∣ β ⟩ \left | \beta \right \rangle ∣ β ⟩ , 二者分別在正交歸一基{ ∣ v 1 ⟩ , ∣ v 2 ⟩ ⋯ ∣ v n ⟩ } \left \{ \left | v_{1} \right \rangle ,\left | v_{2} \right \rangle \cdots \left | v_{n} \right \rangle \right \} { ∣ v 1 ⟩ , ∣ v 2 ⟩ ⋯ ∣ v n ⟩ } 上展開,得:
∣ β ⟩ = ∑ i b i ∣ v i ⟩ , ∣ α ⟩ = ∑ i a i ∣ v i ⟩ \left | \beta \right \rangle =\sum_{i}b_{i}\left | v_{i} \right \rangle,\qquad\left | \alpha \right \rangle =\sum_{i}a_{i}\left | v_{i} \right \rangle ∣ β ⟩ = i ∑ b i ∣ v i ⟩ , ∣ α ⟩ = i ∑ a i ∣ v i ⟩
則有:
b i = ⟨ v i ∣ β ⟩ = ⟨ v i ∣ A α ⟩ = ∑ j ⟨ v i ∣ A v j ⟩ a j = ∑ j A i j a j b_{i} = \left \langle v_{i}|\beta \right \rangle = \left \langle v_{i}|A\alpha \right \rangle = \sum_{j}\left \langle v_{i}|Av_{j} \right \rangle a_{j} = \sum_{j}A_{ij}a_{j} b i = ⟨ v i ∣ β ⟩ = ⟨ v i ∣ A α ⟩ = j ∑ ⟨ v i ∣ A v j ⟩ a j = j ∑ A i j a j
所以我們得到:
A i j = ⟨ v i ∣ A v j ⟩ A_{ij} = \left \langle v_{i}| Av_{j}\right \rangle A i j = ⟨ v i ∣ A v j ⟩
通過這個式子我們可以清晰的看出算符用線代裏來解釋就是一個方陣: 爲了讓大家更直接的理解,再來看這個:
剛纔算出:b i = ∑ j A i j a j ( i = 1 , 2 , ⋯ , n ) b_{i} = \sum_{j}A_{ij}a_{j} (i=1,2, \cdots,n) b i = ∑ j A i j a j ( i = 1 , 2 , ⋯ , n ) ,再展開:[ b 1 b 2 ⋮ b n ] = [ A 11 A 12 ⋯ A 1 n A 21 A 22 ⋯ A 2 n ⋮ ⋮ ⋱ ⋮ A n 1 A n 1 ⋯ A n n ] [ a 1 a 2 ⋮ a n ] \begin{bmatrix}
b_{1} \\
b_{2} \\
\vdots \\
b_{n} \\
\end{bmatrix}=\begin{bmatrix}
A_{11} & A_{12} &\cdots & A_{1n} \\
A_{21} & A_{22} &\cdots & A_{2n} \\
\vdots & \vdots & \ddots& \vdots \\
A_{n1} &A_{n1} & \cdots & A_{nn}
\end{bmatrix}
\begin{bmatrix}
a_{1} \\
a_{2} \\
\vdots \\
a_{n} \\
\end{bmatrix} ⎣ ⎢ ⎢ ⎢ ⎡ b 1 b 2 ⋮ b n ⎦ ⎥ ⎥ ⎥ ⎤ = ⎣ ⎢ ⎢ ⎢ ⎡ A 1 1 A 2 1 ⋮ A n 1 A 1 2 A 2 2 ⋮ A n 1 ⋯ ⋯ ⋱ ⋯ A 1 n A 2 n ⋮ A n n ⎦ ⎥ ⎥ ⎥ ⎤ ⎣ ⎢ ⎢ ⎢ ⎡ a 1 a 2 ⋮ a n ⎦ ⎥ ⎥ ⎥ ⎤
到這裏,我們就初步的在我們原來定性的基礎上進行了一些定量的運算,後面的博客中,還會講到其他的重要算符,像幺正算符,厄米算符等等!
好 本次的博客學習到這裏就結束了!下週開始除了算符的繼續深入,我們開始張量的簡單應用和糾纏相關的學習。熱愛量子或是計算機的同學們可以點點關注,本人是每週一更,有錯誤的地方在評論區留言!