quantum-computing - 如何制作一个根据参数生成 |0> 或 |1> 的门?

标签 quantum-computing qiskit

我想制作一个单量子位门,它根据参数给出 |0> 或 |1>。

例如,我将参数 theta 设置在 0 到 2π 的范围内。当 theta 在 0 到 π 范围内时,门返回 |0>,​​当 theta 在 π 到 2π 范围内时,门返回 |1>。

我在如下环境:

  • Qiskit:0.12.0
  • Python 3.7.3 .

最佳答案

量子门不会“返回”状态,它们会将量子位状态转换为另一种状态。单量子位量子门表示为 2x2 酉矩阵,它转换量子位状态的方式表示为该矩阵与表示输入状态的长度为 2 的向量的矩阵乘法。因此,最接近您尝试做的事情的是一个门,它根据参数的值将任意输入状态转换为 |0⟩ 或 |1⟩。

量子门还必须是可逆的,即你需要能够撤销转换。您描述的转换使其不可能,因为多个输入被映射到相同的输出,并且您无法从结果中恢复输入状态。

不可逆转换不是使用门而是使用测量完成的。如果您需要根据参数将输入量子位折叠为 |0⟩ 或 |1⟩,您可以对其进行测量,并根据测量结果和您需要的状态,对量子位应用 X 门。即,如果量子位是在 |0⟩ 状态下测量的,而您需要 |1⟩(反之亦然),则应用 X 门,否则不应用。

关于quantum-computing - 如何制作一个根据参数生成 |0> 或 |1> 的门?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57832016/

相关文章:

quantum-computing - 如何在 Cirq/Tensorflow Quantum 中实现受控 Rx?

python - 无法从 Qiskit 0.7 导入 Aer

jupyter-notebook - 为什么当我在本地运行 Jupyter Notebook 时,绘制 qiskit 量子电路看起来有所不同

algorithm - Deutsch-Jozsa 算法

c++ - 量子计算机会影响 C++ 语言吗?

bit - 经典计算机在单个时间点可以考虑多少个状态?

visual-studio-code - Q# 控制台模板 DOTNET 不适用于 MAC

pip - MatplotlibDrawer 类需要 pylatexenc。安装,运行 "pip install pylatexenc"

python - 属性错误 : 'QuantumCircuit' object has no attribute 'config'

python - 如何在 Qiskit python 中调用 EnergyInput() 函数?