首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用ProjectQ生成量子算法指令集

| Qureg[0] Deallocate | Qureg[1] 这里有一点需要注意的是,如果是单次运算,我们到Measure就可以结束了。...但是如果同一个线程的任务还没有结束的话,需要在Measure之后加上一个deallocate_qubits=True的配置项,用于解除当前分配的量子比特所占用的内存。...| Qureg[0] Deallocate | Qureg[1] Deallocate | Qureg[2] 可以看到含时演化算符已经被分解并输出了出来。...| Qureg[1] Deallocate | Qureg[2] Deallocate | Qureg[0] 如果2比特门操作也不加以限制的化,ProjectQ中会自动选取最简易的分解形式: from...| Qureg[1] Deallocate | Qureg[2] Deallocate | Qureg[0] 可以发现使用了CR来替代CX之后,分解出来的线路会更加的简短。

53520
您找到你想要的搜索结果了吗?
是的
没有找到

使用开源量子编程框架ProjectQ进行量子计算资源估计与绘制量子线路图

=True) 这里python代码中唯一的变化就是增加了deallocate_qubits=True这个选项,最终输出的量子线路里面也就会包含有Deallocate的操作: Allocate | Qureg...[0] H | Qureg[0] Allocate | Qureg[1] H | Qureg[1] CX | ( Qureg[0], Qureg[1] ) Deallocate | Qureg[0] Allocate...| Qureg[2] H | Qureg[2] CX | ( Qureg[1], Qureg[2] ) Deallocate | Qureg[1] Deallocate | Qureg[2] 如果在线路中遇到一些可以简化的模块...| Qureg[0] Allocate | Qureg[2] H | Qureg[2] CX | ( Qureg[1], Qureg[2] ) Deallocate | Qureg[1] Deallocate...| Qureg[1] Deallocate | Qureg[2] Deallocate | Qureg[0] 针对于这种场景,我们切换下后端就可以实现量子计算资源的统计: from projectq

62520

一个“反问”引发的内存反思

) https://codereview.chromium.org/276043002/ 在某项目的CR过程中,评审人不推荐使用mach_thread_self(),原因是需要mach_port_deallocate...()配对释放,而使用pthread_mach_thread_np(pthread_self())调用时线程池的缓存,不需要mach_port_deallocate()进行释放,同时,配对使用mach_thread_self...()和mach_port_deallocate()进行两次系统调用,而pthread_mach_thread_np(pthread_self())只是调用了两次libc function,更加轻量。...再看看mach_port_deallocate()的定义 http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_deallocate.html...总结 mach_thread_self()是一个稳定的获取线程ID的方法,但需要跟mach_port_deallocate()配对使用,不然可能会引发内存常驻 pthread_mach_thread_np

31740
领券