量子算法入门—4.量子比特与量子门(1)

1.量子比特

  1. 经典比特和量子比特
  • 经典比特只有0、1两种取值,非黑即白,有n位即 2 n 2^n 2n种可能
  • 量子比特使用0、1的量子态描述量子比特的状态,可以通过线性组合形成新的量子态,就像光谱可以调节成分
  1. 引入线代记法,0、1是z轴上的自旋劈裂

  2. 制备叠加态

  3. x、y轴方向基底

    上图代码第6行注解:python中,使用j 代替数学中的虚数i,单独的j不能参与运算,必须前面跟一个数字才能被识别成复数

  4. 经典信息与量子信息

    上图使用α减去β即为z轴上的坐标,其他轴上的坐标同理。

  5. 计算坐标的py代码

python 复制代码
def get_bloch_coordinates(qubit):
	def get_x_bloch(qubit):
		qubit_x_basis = 1./np.sqrt(2) * np.matrix('1 1;1 -1')* qubit
		prob_zero_qubit = (qubit_x_basis.item(θ) * qubit_x_basis.item(θ).conjugate()).real 
		prob_one_qubit = (qubit_x_basis.item(1) * qubit_x_basis.item(1).conjugate()).real 
		return prob_zero_qubit - prob_one_qubit
	def get_y_bloch(qubit):
		qubit_y_basis = 1./np.sqrt(2) * np.matrix('1 1;1 -1')*np.matrix([[1,0],[θ, 1j]]) * qubit 	
		prob_zero_qubit = (qubit_y_basis.item(θ)* qubit_y_basis.item(θ).conjugate()).real
		prob_one_qubit = (qubit_y_basis.item(1) * qubit_y_basis.item(1).conjugate()).real 
		return prob_zero_qubit - prob_one_qubit
	def get_z_bloch(qubit): qubit_z_basis = qubit
		prob_zero_qubit = (qubit_z_basis.item(θ) * qubit_z_basis.item(θ).conjugate()).real 	
		prob_one_qubit = (qubit_z_basis.item(1) * qubit_z_basis.item(1).conjugate()).real 
		return prob_zero_qubit - prob_one_qubit
	return (get_x_bloch(qubit), get_y_bloch(qubit), get_z_bloch(qubit)) //返回布洛赫球面的坐标
  1. 已知线性代数表示的量子态,将其画到布洛赫球上
python 复制代码
def plot_bloch(qubit):
	import matplotlib.pyplot as plt 
	fig = plt.figure()
	ax = fig.add_subplot(111, projection='3d') 
	# 绘制球体
	u,v= np.mgrid[θ:2*np.pi:20j,θ:np.pi:10j] 
	x = np.cos(u)*np.sin(v)
	y = np.sin(u)*np.sin(v) 
	z = np.cos(v)
	ax.plot_wireframe(x, y, z, color="k", alpha=.1) 
	ax.grid(θ)
	
	(x,y,z) = get_bloch_coordinates(qubit)
	ax.quiver([θ],[θ],[θ],[x],[y],[z], length=1, arrow_length_ratio=0.3) 
	
	ax.set_xlim([-1, 1])
	ax.set_ylim([-1, 1]) 
	ax.set_zlim([-1, 1]) 
	ax.view_init(azim = 20) 
	
	return ax
相关推荐
珊瑚里的鱼3 分钟前
【滑动窗口】LeetCode 1658题解 | 将 x 减到 0 的最小操作数
开发语言·c++·笔记·算法·leetcode·stl
落樱弥城7 分钟前
角点特征:从传统算法到深度学习算法演进
人工智能·深度学习·算法
共享家952729 分钟前
哈希的原理、实现
c++·算法
进击的小白菜39 分钟前
用Java实现单词搜索(LeetCode 79)——回溯算法详解
java·算法·leetcode
珂朵莉MM1 小时前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
小智学长 | 嵌入式1 小时前
进阶-数据结构部分:2、常用排序算法
java·数据结构·算法
少了一只鹅1 小时前
字符函数和字符串函数
c语言·算法
zhengddzz1 小时前
谷歌量子计算机:开启计算新纪元
科技·量子计算
Dr.9272 小时前
1-10 目录树
java·数据结构·算法
子豪-中国机器人2 小时前
C++ 蓝桥 STEMA 省选拔赛模拟测试题(第一套)
开发语言·c++·算法