跳转到主要内容

Cirq中编写命令式量子计算程序的库。

项目描述

blqs_cirq: 简化Cirq程序编写的过程

Blqs_cirq是一个使用blqs来简化Cirq程序编写的库。

以下是一个在Cirq中创建简单电路的示例

import cirq
circuit = cirq.Circuit()
q0, q1 = cirq.LineQubit.range(2)
circuit.append(cirq.H(q0))
circuit.append(cirq.CX(q0, q1))
circuit.append(measure(q0, key='a'))

Blqs_cirq使您能够编写更类似于常规命令式程序的内容

import blqs_cirq as bc
from blqs_cirq import CX, H, measure

# Write the function imperatively.
@bc.build
def my_circuit():
    H(0)
    CX(0, 1)
    measure(q0, key='a')

# To create the circuit we simply call the function.
circuit = my_circuit()

Blqs为Cirq中的所有门以及所有使用这些门创建操作的各种方式提供支持。

但是,还有更多。Blqs_cirq支持

  • 简化量子比特指定。例如,而不是创建LineQubitNamedQubit等,可以使用整数(转换为LineQubit),2元组或2列表(转换为GridQubit)或字符串(转换为NamedQubits)。也可以实现自定义转换。

  • 简化控制流原语。例如,Cirq目前支持可重复的子电路。例如,在这里我们在我们的电路中重复一个小电路

@bc.build
def my_circuit():
    H(1)
    with Repeat(repetitions=10):
        H(0)
        CX(0, 1)

随着更多控制操作的添加到Cirq,这些操作也将添加到blqs_cirq中。

  • 简单构建时刻。例如,以下代码构建了两个时刻
@bc.build
def my_circuit():
    with Moment():
        bc.H(0)
    with Moment():
        bc.H(1)
  • 支持Cirq的插入策略
@bc.build
def my_circuit():
    with bc.InsertStrategy(cirq.InsertStrategy.NEW):
        H(0)
        H(1)

安装

要安装blqs_cirq,可以简单地使用pip安装相应的包

pip install blqs_cirq

注意,安装blqs_cirq还将安装blqs和cirq。

文档

开始的好地方是查看简介,然后是查看重要的功能。通过Jupyter笔记本快速了解,请参阅hello blqs_cirq

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

blqs_cirq-0.1.0.tar.gz (19.7 kB 查看哈希值)

上传时间 源代码

构建分发

blqs_cirq-0.1.0-py3-none-any.whl (34.5 kB 查看哈希值)

上传时间 Python 3

支持者