量子计算 [2].ext

狄拉克符号
狄拉克符号(Dirac notation)里分为左矢(bar)和右矢(ket)两种符号, 对应线性代数里面的行向量和列向量, 需要注意的是狄拉克符号里没有矩阵的概念, 而是使用右矢与左矢作乘法[矩阵乘法]表示矩阵.
量子状态使用右矢描述|ψ❭, 此时对应的是列向量, 即:

当右矢|ψ❭取厄米共轭[同时把矩阵/向量取转置和共轭]时, 写作左矢❬ψ|, 即:

从向量定义不难看出, 两状态|ψ❭和|φ❭的内积可以写为: ❬ψ|φ❭ [内积其实也是从矩阵乘法里导出的]. 并且从矩阵乘法的定义也不能看出, 两状态的外积 |ψ❭❬φ| 可以得成矩阵:


张量积
张量(tensor)是对一种以表格储存数字的对象的称呼, 向量是一维张量, 矩阵是二维张量, 类似地还有三维, 四维等张量, 但已经超过讨论范围了. 特别地, 数字可以看作零维张量.
与数乘, 内积外积和矩阵乘法不同, 张量积(tensor prodot)是一种作用在张量维度上的操作, 两矩阵的张量积计算:

因为向量可以看作是矩阵的特殊形式, 所以向量的张量积与矩阵张量积有类似的定义, 以两量子位做例子:

需要注意的是, 两右矢的张量积的正确写法只有下面两种

因为普通的矩阵乘法没有定义两个列向量的之间的运算, 为了偷懒, 把张量积的⊗忽略不写也可以看作张量积了. 另外, 在量子计算里常用逗号隔开数据位和结果位, 比如 |x, y❭, 这种写法与|xy❭相等, 但可以直观地分清量子位之间的作用.
与乘法类似, 当有n个相同的右矢作张量积时, 可以写作类似次方的样子:

类似地, 为了偷懒也可以把右上角的⊗忽略不写

量子位门
对于单量子位门U, 实际上可以写为:


对于多量子位门, 假设位门作用在n个量子位上, 则可以写作4个作用在n-1个量子位上位门与4个单量子位门的张量积, 比如双量子位门:


这种形式可以方便地写为狄拉克符号的形式
需要注意的是在狄拉克符号里, 同时出现乘法[矩阵乘法]和张量积时, 可以满足一定量的"交换律", 这里以CNOT门为例:




虽然也不是交换律, 但是看上去就像是张量积两边的左矢右矢交换了一样

与表示量子位的右矢类似, 如果把多个相同的位门作用在多个量子位上, 也有类似次方的写法

但需要注意的是, 因为位门[也就是矩阵]之间存在已定义的乘法, 所以位门之间和右上角的⊗不可忽略. 但最后一种写法 (U|ψ❭)^(⊗n), 因为是先运算括号内的东西, 括号内的实际上是一个量子位状态, 也就是右矢, 所以这时候右上角的⊗是可以忽略的.
由于量子的归一化条件限制, 即输入和输出的量子位的概率和必定为1, 表示位门的矩阵必定为酉矩阵(Unitary Matrix) [也就是复数上的标准正交基组成的矩阵], 假设U为表示位门的矩阵, U^-1为U的逆, 那么 U U^-1 = U^-1 U = I

位门的逆
位门的逆实际上就是相应矩阵的逆组成的位门, 如何求解就不是量子计算的内容了
幸运的是, 任意量子位门可以从单量子位门和控制位门组合得到, 而组合后位门的逆可以从组合前位门的逆组合得到: (CBA)^-1 = A^-1 B^-1 C^-1
在单量子位门里, I, H, X, Y, Z的逆都是自身, S的逆为 SZ 或 ZS, T的逆为TSZ或这三个门的任意顺序组合, 旋转门的逆就是逆着旋转的旋转门, 也就是Rx(θ)的逆是Rx(-θ), 其他3个类似.
控制位门的逆与里面的位门有关, 比如说CNOT里的位门是X门, 而X门的逆是它自身, 所以CNOT的逆也是CNOT自身. 如果有一个控制位门, 里面的位门为S门, 那么这个控制位门的逆为控制S门和控制Z门的组合, 当然前提是控制位和被控制位是相同的.

可逆逻辑门
逻辑门是电子计算机里的概念. 普通逻辑门, 如AND, XOR, OR, 输入的数据量比输出的数据量要大 [输入2bits, 输出1bit], 那么根据熵定理 [理论上熵是不一定增加, 还可以保持不变的], 这些逻辑门必定会发热. 如果存在逻辑门, 它的输入和输出的位数保持一致, 那么理论上这种逻辑门是可以做到不发热的. 并且因为熵不变, 所以是存在从输出逆推为输入的操作, 所以这种逻辑门又叫可逆逻辑门
在普通逻辑门里, 只有两个是可逆的, NOT门和YES门 [所谓的YES门就是啥也不做]. 第一个被拓展到可逆逻辑门的是XOR门, 可逆XOR门接收2bits, 输出2bits, 输出第1bit与输入第1bit一致, XOR后的结果为输出第2bit:

不难发现, 把output扔进可逆XOR门后可以得出input, 另外, 可逆XOR门又叫CNOT门
现在拥有的可用可逆逻辑门有 NOT和XOR两个, 明显是不可以还原一般计算机的所有操作的, 于是提出了第3个可逆逻辑门: 可逆AND门
可逆AND门接收3bits, 输出3bits, 输出的第1第2bits与输入的第1第2bits一致, 当第1第2bits符合一般逻辑门AND的输出为1时, 则翻转第3bits的状态:

拥有NOT, XOR, AND之后就可以如同一般逻辑门一样计算了. 可逆AND门也叫CCNOT门, 是Toffoli提出的.
可以看到, 可逆的NOT, XOR, AND门与量子位门里的X, CNOT和CCNOT对应, 也就是说量子计算机可以与电子计算机做到相同的运算. 在电子计算机里, 位bit的状态只有0和1, 而量子位qubit可以同时处于|0❭和|1❭之间, 这种特性可以使得量子计算机同时计算所有可能的结果. 量子位的相位带来了干涉, 干涉可以使得需要的结果增长, 而不需要的结果消减, 量子之间的纠缠更是增强了这种效果