mindquantum.engine

MindQuantum引擎模块。

class mindquantum.engine.BasicQubit(qubit_id, circuit=None)

量子比特。

参数:
  • qubit_id (int) - 此量子比特的ID。

  • circuit (Circuit) - 此量子比特所属的量子线路,默认值: None

property circuit

得到此量子比特所属的量子线路。

class mindquantum.engine.CircuitEngine

一个简单的线路引擎,生成projectq格式的量子线路。

allocate_qubit()

分配一个量子比特。

allocate_qureg(n)

分配量子寄存器。

参数:
  • n (int) - 量子比特的数目。

property circuit

获取这个引擎构造的量子线路。

static generator(n_qubits, *args, **kwds)

量子线路寄存器。

参数:
  • n_qubits (int) - 量子线路的量子比特数。

样例:

>>> import mindquantum.core.gates as G
>>> from mindquantum.engine import circuit_generator
>>> @circuit_generator(2,prefix='p')
... def ansatz(qubits, prefix):
...     G.X | (qubits[0], qubits[1])
...     G.RX(prefix+'_0') | qubits[1]
>>> print(ansatz)
q0: ────■─────────────────

      ┏━┻━┓ ┏━━━━━━━━━┓
q1: ──┨╺╋╸┠─┨ RX(p_0) ┠───
      ┗━━━┛ ┗━━━━━━━━━┛
>>> print(type(ansatz))
<class 'mindquantum.core.circuit.circuit.Circuit'>
mindquantum.engine.circuit_generator(n_qubits, *args, **kwds)

生成projectq格式的量子线路。

参数:
  • n_qubits (int) - 量子线路的量子比特数。