【发布时间】:2020-09-02 05:57:13
【问题描述】:
我正在研究 Cirq,需要对量子比特执行某些单一操作。为此,我在 Cirq 中使用了MatrixGate() 函数。与 Qiskit 不同,我找不到像分解或转换这样的函数来将 Unitary 操作简化为基本的 U3 和 CNOT 门。
例如,如果我想扮演下面的一元运算符,
为此,我在 Qiskit 中使用此代码。在 Cirq 中寻找等效的东西。
qc=QuantumCircuit(2)
qc.unitary(U,[0,1])
qc=transpile(qc,basis_gates=['cx','u3'])
qc.draw(output='mpl')
在 Qiskit 中使用 Transpile 功能后
我什至尝试制定 Qiskit 用来分解这些单一运算的余弦-正弦分解算法。正如论文中提到的,Quantum Circuits for Isometries,但它们不会轻易产生所需的分解。 请通过建议提供帮助:
- Cirq 中的一些代码用于分解电路或
- 将 Qiksit 电路导出到 Cirq 或 的解决方法
- 分解一元运算的更简单算法。
【问题讨论】:
-
只是想知道,你为什么需要去 cirq?
-
@met927 我正在研究使用 cirq 后端创建量子电路的张量流量子。 TFQ 不接受 MatrixGate(),因此我想将其分解为更简单的门。
标签: linear-algebra quantum-computing cirq