mindquantum.core.circuit

mindquantum.core.circuit#

量子线路模块,通过有序地组织各种量子门,我们可以轻松地搭建出符合要求的量子线路,包括参数化量子线路。本模块还包含各种预设的量子线路以及对量子线路进行高效操作的模块。

Class#

接口名

概述

Circuit([gates])

量子线路模块。 量子线路包含一个或多个量子门,可以在量子模拟器中进行计算。可以通过添加量子门或另一电路的方式容易地构建量子线路。

SwapParts(a, b[, ...])

交换量子线路中两个不同的部分,可以增加控制比特,也可以不加。

UN(gate, maps_obj)

将量子门映射到多个目标量子位和控制量子位。

Function#

接口名

概述

add_prefix(...)

在含参量子线路或含参量子算子(可以生成含参量子线路的函数)的参数上添加前缀。

add_suffix(...)

在含参量子线路或含参量子算子(可以生成含参量子线路的函数)的参数上添加后缀。

apply(circuit_fn, ...)

将量子线路或量子算子(可以生成量子线路的函数)作用到不同的量子比特上。

as_ansatz(circuit_fn)

将线路转化为ansatz线路的装饰器。

as_encoder(circuit_fn)

将线路转化为编码线路的装饰器。

change_param_name(...)

更改含参量子线路或含参量子算子(可以生成含参量子线路的函数)里的参数名称。

controlled(circuit_fn)

在量子线路或量子算子(可以生成量子线路的函数)上添加控制量子比特。

dagger(circuit_fn)

获取量子线路或量子算子(可以生成量子线路的函数)的共轭转置。

decompose_single_term_time_evolution(...)

将时间演化门分解成基本的量子门。

pauli_word_to_circuits(...)

将单泡利词的量子算子转换成量子线路。

shift(circ, inc)

移动给定线路的量子比特范围。

qfi(circuit[, backend])

根据给定参数计算参数化量子线路的量子fisher信息。 量子fisher信息定义如下:

partial_psi_partial_psi(circuit)

根据给定参数化量子线路,计算矩阵 \(A_{i,j}\)

partial_psi_psi(circuit)

根据给定参数化量子线路,计算矩阵 \(B_i\)

Channel adder#

接口名

概述

ChannelAdderBase([...])

在量子门前面或者后面添加信道。

NoiseChannelAdder(channel)

添加一个单比特量子信道。

MeasureAccepter()

选取测量门。

ReverseAdder(adder)

翻转给定信道添加器的接受和拒绝规则。

NoiseExcluder([...])

排除噪声门。

BitFlipAdder(flip_rate)

在量子门前面或者后面添加一个比特翻转信道。

MixerAdder(adders)

在子添加器的接受集被满足、拒绝集被拒绝时依次执行所有的添加器。

SequentialAdder(adders)

依次执行每一个添加器。

QubitNumberConstrain(...)

只将噪声信道作用在比特数为 n_qubits 的量子门上。

QubitIDConstrain(...)

只将噪声信道作用在给定比特序号的量子门上。

GateSelector(gate)

挑选量子门来添加噪声信道。

DepolarizingChannelAdder(p, ...)

去极化信道添加器。

functional#

如下的操作符是对应量子线路操作符的简写。

functional

high level circuit operators

mindquantum.core.circuit.C

controlled

mindquantum.core.circuit.D

dagger

mindquantum.core.circuit.A

apply

mindquantum.core.circuit.AP

add_prefix

mindquantum.core.circuit.CPN

change_param_name