Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
ornew committed Jul 6, 2019
0 parents commit 4156b84
Show file tree
Hide file tree
Showing 84 changed files with 3,367 additions and 0 deletions.
144 changes: 144 additions & 0 deletions 1_basic.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src=\"./images/Logo1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"700 px\" align=\"center\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 第一章 量子情報理論の三つの基本原理 <a id='postulate'></a>\n",
"\n",
"**本章の内容**     [全体目次](./Contents.ipynb)\n",
"\n",
"- [量子情報理論の三つの基本原理](#postulate )\n",
" - [重ね合わせの原理](#superposition )\n",
" - [観測の原理](#measurement)\n",
" - [ユニタリ発展の原理](#unitary)\n",
" \n",
"- [数学的準備1 ](#math1)\n",
"\n",
"\n",
"### 量子情報理論には、次の三つの基本原理がある。\n",
"\n",
"1. #### 重ね合わせの原理\n",
"1. #### 観測の原理\n",
"1. #### ユニタリ発展の原理\n",
"\n",
"\n",
"## 1. 重ね合わせの原理 <a id='superposition'></a>\n",
"### qubitの状態は、互いに直交する二つのベクトルの和として、列ベクトルで表される。\n",
"\n",
"### x-y平面との類似で考える\n",
"- それは、x-y平面上の任意の点を表すベクトルが、x軸方向のベクトルとy軸方向のベクトルの和として表されるのと同じである。\n",
"- x-y平面で、二つのx軸方向の長さ1のベクトル(1,0) をx、y軸方向の長さ1のベクトル(0,1)をyとすると、原点から点P(m,n)に向かうベクトルPは、P=mx+ny=m(1,0)+n(0,1) と表すことができる。\n",
"- この時、mをPの「x成分」、nをPの「y成分」という。\n",
"- また、二つの単位ベクトル x(1,0), y(0,1)を、**「基底」ベクトル**と呼ぶ。\n",
"<img src=\"./images/basic/XY.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"  "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### qubitの場合の重ね合わせ\n",
"- x-y平面の場合ベクトルの成分は実数だが、qubitの重ね合わせの場合には、その成分は **複素数** となる。qubitの状態は、二つの複素数のペアで定義される。\n",
"- x-y平面の場合、基底 x(1,0), y(0,1)は、行ベクトルとして表現されるが、qubitの基底は、$\\begin{pmatrix} 1 \\\\ 0 \\\\\\end{pmatrix}$ と$\\begin{pmatrix} 0 \\\\ 1 \\\\\\end{pmatrix}$ と、**列ベクトル** で表現される。\n",
"- x-y平面の成分(m,n)を持つ任意のベクトルが、二つの基底ベクトル x(1,0), y(0,1)を用いて、(m,n)=m(1,0)+n(0,1)と表すことができるように、qubitの成分を$\\begin{pmatrix} \\alpha \\\\ \\beta \\\\\\end{pmatrix}$とする時、$\\begin{pmatrix} \\alpha \\\\ \\beta \\\\\\end{pmatrix}= \\alpha \\begin{pmatrix} 1 \\\\ 0 \\\\\\end{pmatrix} + \\beta \\begin{pmatrix} 0 \\\\ 1 \\\\\\end{pmatrix}$と表すことができる。\n",
"- ただし、qubitの成分 $\\alpha, \\beta$は、次の条件を満たす。$|\\alpha|^2+|\\beta|^2=1$\n",
"\n",
"### ket記法\n",
"- Aが列ベクトルの時、それを$|A\\rangle$と表す。これを **ket記法** と呼ぶ。\n",
"- qubitの基底である二つの列ベクトルを、$|0\\rangle, |1\\rangle$と表す。すなわち、$|0\\rangle=\\begin{pmatrix} 1 \\\\ 0 \\\\\\end{pmatrix}, |1\\rangle=\\begin{pmatrix} 0 \\\\ 1 \\\\\\end{pmatrix}$とする。\n",
"- この時、任意のqubitの状態$|\\psi\\rangleは、|\\psi\\rangle=\\alpha |0\\rangle+\\beta|1\\rangle  (ただし|\\alpha|^2+|\\beta|^2=1)$と表される。\n",
"\n",
"### 一般化\n",
"- qubitの状態は、二つの複素数を成分とする列ベクトルで表現されるが、任意の量子状態$|\\psi\\rangle$は、n個の基底$|0\\rangle, |1\\rangle, |2\\rangle, \\cdots, |n-1\\rangle$を持つn個の複素数$\\alpha_0, \\alpha_1, \\alpha_{n-1}$を成分とする列ベクトルで表現される。$|\\psi\\rangle=\\alpha_0|0\\rangle+\\alpha_1|1\\rangle+\\alpha|2\\rangle+ \\cdots + \\alpha_{n-1}|n-1\\rangle$\n",
"- この時、各成分の絶対値の二乗を全て加えた値は、1に等しくなければならない。$|\\alpha_0|^2+|\\alpha_1|^2+|\\alpha|_2|^2+\\cdots + |\\alpha_{n-1}|^2=1$\n",
"\n",
"<img src=\"./images/basic/qubit1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"600 px\" align=\"left\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. 観測の原理 <a id='measurement'></a>\n",
"### qubitを観測すると、重ね合わせの状態は失われて、古典bit 0か1が観測される\n",
"一般に、n個の基底からなる量子の状態を観測すると、重ね合わせの状態は失われて、その基底の一つが観測される。\n",
"\n",
"### qubit $|\\psi\\rangle=\\alpha |0\\rangle+\\beta|1\\rangle$を観測した時、$|0\\rangle$ (古典bit 0に対応)が観測される確率は$|\\alpha|^2$、$|1\\rangle$ (古典bit 1に対応)が観測される確率は$|\\beta|^2$に等しい\n",
"一般に、先の量子の状態 $|\\psi\\rangle$を観測した時、重ね合わせの状態が失われて、基底$|i\\rangle$が観測される確率は、$|\\alpha_i|^2$に等しい。\n",
"$|\\alpha_0|^2+|\\alpha_1|^2+|\\alpha|_2|^2+\\cdots + |\\alpha_{n-1}|^2=1$という条件は、観測によって、いずれかの基底が観測されるという条件と等しい。\n",
"\n",
"<img src=\"./images/basic/measure1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/basic/measure2.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 3. ユニタリ発展の原理 <a id='unitary'></a>\n",
"### 量子の状態$|\\psi_0\\rangle$が$|\\psi_1\\rangle$に変化したとする。この時、$|\\psi_1\\rangle=U|\\psi_1\\rangle$となるユニタリ行列$U$が存在する\n",
"<img src=\"./images/basic/unitary1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"# 数学的準備 1 <a id='math1'></a>\n",
"\n",
"<img src=\"./images/basic/why1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/basic/why2.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"\n",
"<img src=\"./images/simulation/math/scalar1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/simulation/math/scalar+sum.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/simulation/math/innerprod1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/simulation/math/prod1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/simulation/math/prod2.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/simulation/math/trans1.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/simulation/math/trans2.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n",
"<img src=\"./images/simulation/math/daggar.png\" alt=\"Note: In order for images to show up in this jupyter notebook you need to select File => Trusted Notebook\" width=\"550 px\" align=\"left\">\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"###         [前の章へ](./0_index.ipynb) [全体目次](./Contents.ipynb)  [次の章へ](./2_circuit.ipynb)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Loading

0 comments on commit 4156b84

Please sign in to comment.