mindquantum.core.circuit

mindquantum.core.circuit#

Circuit.

Quantum circuit module.

Class#

API Name

Description

Circuit([gates])

The quantum circuit module.

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

Swap two different part of quantum circuit, with or without control qubits.

UN(gate, maps_obj)

Map a quantum gate to different objective qubits and control qubits.

Function#

API Name

Description

add_prefix(...)

Add a prefix on the parameter of a parameterized quantum circuit or a parameterized quantum operator.

add_suffix(...)

Add a suffix on the parameter of a parameterized quantum circuit or a parameterized quantum operator.

apply(circuit_fn, ...)

Apply a quantum circuit or a quantum operator (a function that can generate a quantum circuit) to different qubits.

as_ansatz(circuit_fn)

Conversion decorator of a circuit to an ansatz circuit.

as_encoder(circuit_fn)

Conversion decorator of a circuit to an encoder circuit.

change_param_name(...)

Change the parameter name of a parameterized quantum circuit or a parameterized quantum operator.

controlled(circuit_fn)

Add control qubits on a quantum circuit or a quantum operator.

dagger(circuit_fn)

Get the hermitian dagger of a quantum circuit or a quantum operator.

decompose_single_term_time_evolution(...)

Decompose a time evolution gate into basic quantum gates.

pauli_word_to_circuits(...)

Convert a single pauli word qubit operator to a quantum circuit.

shift(circ, inc)

Shift the qubit range of the given circuit.

qfi(circuit[, backend])

Calculate the quantum fisher information of the given parameterized circuit with given parameters.

partial_psi_partial_psi(circuit)

Calculate the following value of the given parameterized quantum circuit.

partial_psi_psi(circuit)

Calculate the following value of the given parameterized quantum circuit.

Channel adder#

API Name

Description

ChannelAdderBase([...])

Add noise channel after or before quantum gate.

NoiseChannelAdder(channel)

Add single qubit quantum channel.

MeasureAccepter()

Select measurement gate.

ReverseAdder(adder)

Reverse the accepter and excluder rules.

NoiseExcluder([...])

Exclude a noise channel.

BitFlipAdder(flip_rate)

Add BitFlip channel after or before quantum gate.

MixerAdder(adders)

Execute each adder if all accepter and excluder are met.

SequentialAdder(adders)

Execute each adder in this sequential.

QubitNumberConstrain(...)

Only add noise channel for n_qubits quantum gate.

QubitIDConstrain(...)

Select gate with qubit id in given list.

GateSelector(gate)

Select gate to add noise channel.

DepolarizingChannelAdder(p, ...)

Add DepolarizingChannel.

shortcut#

The operators blow are shortcut of correspand quantum circuit operators.

shortcut

high level circuit operators

mindquantum.core.circuit.C

mindquantum.core.circuit.controlled

mindquantum.core.circuit.D

mindquantum.core.circuit.dagger

mindquantum.core.circuit.A

mindquantum.core.circuit.apply

mindquantum.core.circuit.AP

mindquantum.core.circuit.add_prefix

mindquantum.core.circuit.CPN

mindquantum.core.circuit.change_param_name