Skip to main content
IBM Quantum Platform

Biblioteca de circuitos

qiskit.circuit.library

A biblioteca de circuitos é uma coleção de circuitos e blocos de construção valiosos. Nós os chamamos de valiosos por diferentes motivos. Por exemplo, eles podem ser usados como blocos de construção para algoritmos, servir como padrões de referência ou são circuitos que se supõe serem difíceis de simular classicamente.

Os elementos na biblioteca de circuitos são QuantumCircuits ou Instructions, o que permite que eles sejam facilmente investigados ou conectados a outros circuitos. Isso permite a prototipagem rápida e o projeto de circuitos em níveis mais altos de abstração.

Por exemplo:

from qiskit.circuit import QuantumCircuit
from qiskit.circuit.library import PauliEvolutionGate
from qiskit.quantum_info import SparsePauliOp

hamiltonian = SparsePauliOp(["ZZI", "IZZ", "IXI"], coeffs=[1, 1, -1])
gate = PauliEvolutionGate(hamiltonian)

circuit = QuantumCircuit(hamiltonian.num_qubits)
circuit.append(gate, circuit.qubits)

circuit.draw("mpl")
Um circuito que implementa uma expansão Suzuki-Trotter de uma evolução hamiltoniana.

Essa biblioteca está organizada em diferentes seções:

Fazemos distinção entre diferentes categorias de operações:

Portões padrão

Essas são portas quânticas fundamentais, um subconjunto das quais normalmente forma um conjunto de portas de base em um computador quântico. Essas são operações unitárias representadas como Gate. A biblioteca também fornece diretivas de compilador padrão (a Barrier) e operações não unitárias (como Measure).

Operações abstratas

Essa categoria inclui operações que são definidas por uma ação matemática, mas que podem ser implementadas com diferentes decomposições. Por exemplo, um circuito multicontrolado XGate inverte o qubit de destino se todos os qubits de controle forem 1|1\rangle, e há uma variedade de circuitos concretos que implementam essa operação usando portas de nível inferior. Essas operações abstratas são representadas como Gate ou Instruction. Isso permite construir o circuito sem escolher uma implementação concreta de cada bloco e, por fim, deixar que o compilador (ou você como usuário) escolha a decomposição ideal. Por exemplo:

from qiskit.circuit.library import MCXGate
mcx = MCXGate(4)

from qiskit import QuantumCircuit
circuit = QuantumCircuit(5)
circuit.append(mcx, [0, 1, 4, 2, 3])
circuit.draw("mpl")
Um circuito com uma porta X multicontrolada.

Para circuitos com operações abstratas, o contexto do circuito é levado em conta durante a transpilação. Por exemplo, se houver qubits ociosos disponíveis, eles poderão ser usados para obter um circuito mais raso:

from qiskit import transpile

small_circuit = QuantumCircuit(5)  # here we have no idle qubits
small_circuit.append(mcx, [0, 1, 4, 2, 3])
small_tqc = transpile(small_circuit, basis_gates=["u", "cx"])
print("No aux:", small_tqc.count_ops())

large_circuit = QuantumCircuit(10)  # now we will have 5 idle qubits
large_circuit.append(mcx, [0, 1, 4, 2, 3])
large_tqc = transpile(large_circuit, basis_gates=["u", "cx"])
print("With aux:", large_tqc.count_ops())

Que imprime:

No aux: OrderedDict([('u', 41), ('cx', 36)])
With aux: OrderedDict([('u', 24), ('cx', 18)])

Operações estruturais

Essas operações têm uma decomposição única. Como o compilador não precisa raciocinar sobre eles em um nível mais alto, eles são implementados como funções que retornam um objeto QuantumCircuit objeto. Por exemplo:

from qiskit.circuit.library import real_amplitudes

ansatz = real_amplitudes(5, entanglement="pairwise")
ansatz.draw("mpl")
O circuito ansatz de amplitudes reais.

Portões padrão

Essas operações são portas unitárias reversíveis e todas elas são da subclasse Gate. Como consequência, todos eles têm os métodos to_matrix(), power(), e control()que geralmente só podem ser aplicados a operações unitárias.

Por exemplo:

from qiskit.circuit.library import XGate
gate = XGate()
print(gate.to_matrix())             # X gate
print(gate.power(1/2).to_matrix())  # √X gate -- see also the SXGate
print(gate.control(1).to_matrix())  # CX (controlled X) gate
[[0.+0.j 1.+0.j]
 [1.+0.j 0.+0.j]]
[[0.5+0.5j 0.5-0.5j]
 [0.5-0.5j 0.5+0.5j]]
[[1.+0.j 0.+0.j 0.+0.j 0.+0.j]
 [0.+0.j 0.+0.j 0.+0.j 1.+0.j]
 [0.+0.j 0.+0.j 1.+0.j 0.+0.j]
 [0.+0.j 1.+0.j 0.+0.j 0.+0.j]]

A função get_standard_gate_name_mapping() permite que você veja as portas e operações padrão disponíveis.

get_standard_gate_name_mapping

qiskit.circuit.library.get_standard_gate_name_mapping()

GitHub

Retorna um dicionário que mapeia o nome de portas e instruções padrão para um objeto com esse nome.

Exemplos

from qiskit.circuit.library import get_standard_gate_name_mapping

gate_name_map = get_standard_gate_name_mapping()
cx_object = gate_name_map["cx"]

print(cx_object)
print(type(cx_object))
Instruction(name='cx', num_qubits=2, num_clbits=0, params=[])
_SingletonCXGate

Portas padrão de 1 qubit

HGate(*args[, _force_mutable] )Porta Hadamard de um único qubit.
IGate(*args[, _force_mutable] )Porta de identidade.
PhaseGate(theta[, rótulo] )Rotação de um único qubit em torno do eixo Z.
RGate(theta, phi[, label] )Rotação θ\theta em torno do eixo cos(ϕ)x+sin(ϕ)y\cos(\phi)x + \sin(\phi)y.
RXGate(theta[, rótulo] )Rotação de um único qubit em torno do eixo X.
RYGate(theta[, rótulo] )Rotação de um único qubit em torno do eixo Y.
RZGate(phi[, rótulo] )Rotação de um único qubit em torno do eixo Z.
SGate(*args[, _force_mutable] )Porta S de um único qubit ( Z\sqrt{Z} ).
SdgGate(*args[, _force_mutable] )Porta S-adjunta de um único qubit ( SS^\dagger ).
SXGate(*args[, _force_mutable] )A porta Sqrt(X) de um único qubit ( X\sqrt{X} ).
SXdgGate(*args[, _force_mutable] )O portão inverso de um único qubit Sqrt(X).
TGate(*args[, _force_mutable] )Porta T de um único qubit ( Z4\sqrt[4]{Z} ).
TdgGate(*args[, _force_mutable] )Porta T-adjunta de um único qubit ( TT^\dagger ).
UGate(theta, phi, lam[, label] )Rotação genérica de um único qubit em termos de ângulos de Euler ZYZ.
U1Gate(theta[, rótulo] )Rotação de um único qubit em torno do eixo Z.
U2Gate(phi, lam[, label] )Rotação de um único qubit em torno do eixo X+Z.
U3Gate(theta, phi, lam[, label] )Porta de rotação genérica de um único qubit com 3 ângulos de Euler.
XGate(*args[, _force_mutable] )A porta Pauli-X de um único qubit ( σx\sigma_x ).
YGate(*args[, _force_mutable] )A porta Pauli-Y de um único qubit ( σy\sigma_y ).
ZGate(*args[, _force_mutable] )A porta Pauli-Z de um único qubit ( σz\sigma_z ).

Portas padrão de 2 qubits

CHGate(*args[, _force_mutable] )Porta de Hadamard controlada.
CPhaseGate(theta[, label, ctrl_state,...] )Porta de fase controlada.
CRXGate(theta[, rótulo, ctrl_state, _base_label] )Porta RX controlada.
CRYGate(theta[, rótulo, ctrl_state, _base_label] )Porta RY controlada.
CRZGate(theta[, rótulo, ctrl_state, _base_label] )Porta RZ controlada.
CSGate(*args[, _force_mutable] )Porta S controlada.
CSdgGate(*args[, _force_mutable] )Porta controlada por SS^\dagger.
CSXGate(*args[, _force_mutable] )Porta controlada-√X.
CUGate(theta, phi, lam, gamma[, label,...] )Porta U controlada (porta de dois qubits de 4 parâmetros).
CU1Gate(theta[, rótulo, ctrl_state, _base_label] )Controlled-U1 portão.
CU3Gate(theta, phi, lam[, label,...] )Controlled-U3 (porta de dois qubits de 3 parâmetros).
CXGate(*args[, _force_mutable] )Porta X controlada.
CYGate(*args[, _force_mutable] )Porta Y controlada.
CZGate(*args[, _force_mutable] )Porta-Z controlada.
DCXGate(*args[, _force_mutable] )Porta dupla CX.
ECRGate(*args[, _force_mutable] )Uma porta de ressonância cruzada ecoada.
iSwapGate(*args[, _force_mutable] )iSWAP portão.
RXXGate(theta[, rótulo] )Uma interação paramétrica de 2 qubits XXX \otimes X (rotação sobre XX).
RYYGate(theta[, rótulo] )Uma interação paramétrica de 2 qubits YYY \otimes Y (rotação em torno de YY).
RZXGate(theta[, rótulo] )Uma interação paramétrica de 2 qubits ZXZ \otimes X (rotação em torno de ZX).
RZZGate(theta[, rótulo] )Uma interação paramétrica de 2 qubits ZZZ \otimes Z (rotação em torno de ZZ).
SwapGate(*args[, _force_mutable] )O portão SWAP.
XXMinusYYGate(theta[, beta, rótulo] )Porta de interação XX-YY.
XXPlusYYGate(theta[, beta, rótulo] )Porta de interação XX+YY.

Portas padrão de 3+ qubits

C3SXGate(*args[, _force_mutable] )A porta sqrt-X controlada por 3 qubits.
C3XGate(*args[, _force_mutable] )A porta X é controlada por 3 qubits.
C4XGate(*args[, _force_mutable] )A porta X controlada por 4 qubits.
CCXGate(*args[, _force_mutable] )Porta CCX, também conhecida como porta Toffoli.
CCZGate(*args[, _force_mutable] )Portão CCZ.
CSwapGate(*args[, _force_mutable] )Porta SWAP controlada, também conhecida como porta Fredkin.
RCCXGate(*args[, _force_mutable] )O portão Toffoli simplificado, também conhecido como portão Margolus.
RC3XGate(*args[, _force_mutable] )A porta Toffoli simplificada com 3 controles.

Portões padrão globais

A porta a seguir é global e não recebe nenhum argumento de qubit.

GlobalPhaseGate(fase[, rótulo] )A porta de fase global ( eiθe^{i\theta} ).

Diretivas padrão

As diretivas são operações na pilha quântica que devem ser interpretadas pelo backend ou pelo transpilador. Em geral, o transpilador ou backend pode opcionalmente ignorá-los se não houver implementação para eles.


Operações padrão

As operações são alterações não reversíveis no estado quântico do circuito.

Além disso Measure, existe uma medição conjunta de Pauli generalizada disponível, usada como operação básica na computação baseada em Pauli.

PauliProductMeasurement(pauli[, rótulo] )Instruções de medição do produto Pauli.

Portas generalizadas

Esse módulo amplia as portas padrão com uma coleção mais ampla de portas básicas. Isso inclui portas que são variadas, o que significa que o número de qubits depende da entrada. Por exemplo:

from qiskit.circuit.library import DiagonalGate

diagonal = DiagonalGate([1, 1j])
print(diagonal.num_qubits)

diagonal = DiagonalGate([1, 1, 1, -1])
print(diagonal.num_qubits)

que imprime:

1
2
DiagonalGate(diag)Uma porta quântica diagonal genérica.
PermutationGate(padrão)Uma porta que permuta qubits.
MCMTGate(gate, num_ctrl_qubits,...[,.]..)A porta multialvo multicontrolada, para uma porta alvo arbitrária controlada individualmente.
MCPhaseGate(lam, num_ctrl_qubits[, label,...] )Porta de fase multicontrolada.
MCXGate([num_ctrl_qubits, rótulo,...] )A porta X geral e multicontrolada.
MSGate(num_qubits, theta[, rótulo] )O portão Mølmer-Sørensen.
RVGate(v_x, v_y, v_z[, base] )Rotação em torno de um eixo de rotação arbitrário v\vec{v} onde v2\|\vec{v}\|_2 é o ângulo de rotação em radianos.
PauliGate(etiqueta)Uma porta Pauli de vários qubits.
PauliProductRotationGate(pauli, ângulo[, rótulo] )Uma rotação de Pauli genérica.
LinearFunction(linear[, validate_input] )Um circuito linear reversível em n qubits.
Isometry(isometria, num_ancillas_zero,...[,.]..)Decomposição de isometrias arbitrárias de mm a nn qubits.
UnitaryGate(dados[, rótulo, check_input,...] )Classe para portas quânticas especificadas por uma matriz unitária.
UCGate(gate_list[, up_to_diagonal, mux_simp] )Porta uniformemente controlada (também chamada de porta multiplexada).
UCPauliRotGate(angle_list, rot_axis)Rotações de Pauli com controle uniforme.
UCRXGate(ângulo\lista)Rotações Pauli-X com controle uniforme.
UCRYGate(ângulo\lista)Rotações Pauli-Y com controle uniforme.
UCRZGate(ângulo\lista)Rotações Pauli-Z com controle uniforme.

Os objetos acima derivam Gate ou Instructiono que permite que o compilador raciocine sobre eles em um nível abstrato. Portanto, sugerimos usá-los em vez dos seguintes, que derivam QuantumCircuit e são construídos com muita pressa.

Diagonal(diag)Circuito que implementa uma transformação diagonal.
MCMT(gate, num_ctrl_qubits, num_target_qubits)A porta multialvo multicontrolada, para uma porta alvo arbitrária controlada individualmente.
MCMTVChain(gate, num_ctrl_qubits,...)A implementação do MCMT usando a cadeia em V do CCX.
MCXGrayCode([num_ctrl_qubits, rótulo,...] )Implemente a porta X multicontrolada usando o código Gray.
MCXRecursive([num_ctrl_qubits, rótulo,...] )Implemente a porta X multicontrolada usando recursão.
MCXVChain([num_ctrl_qubits, dirty_ancillas,...] )Implemente a porta X multicontrolada usando uma cadeia V de portas CX.
Permutation(num_qubits[, padrão, semente] )Um circuito n_qubit que permuta qubits.
GMS(num_qubits, theta)Portão global Mølmer-Sørensen.
GR(num_qubits, theta, phi)Portão R global.
GRX(num_qubits, theta)Portão RX global.
GRY(num_qubits, theta)Portão global RY.
GRZ(num_qubits, phi)Porta RZ global.

Lógica Booleana

Esses Gates implementam operações de lógica booleana, como a or lógica de um conjunto de estados de qubit.

AndGate(num_variable_qubits[, sinalizadores] )Uma porta que representa a operação lógica AND em um número de qubits.
OrGate(num_variable_qubits[, sinalizadores] )Uma porta que representa a operação lógica OR em um número de qubits.
BitwiseXorGate(num_qubits, amount)Uma porta de n qubits para fazer o xor de bits na entrada com algum número inteiro amount.
InnerProductGate(num_qubits)Uma função booleana 2n-qubit que calcula o produto interno de dois vetores de n-qubit em F2F_2.

Os objetos acima derivam Gate (ou retornam esse tipo), o que permite que o compilador raciocine sobre eles em um nível abstrato. Portanto, sugerimos usá-los em vez dos seguintes, que derivam QuantumCircuit e que são construídos com muita pressa.

AND(num_variable_qubits[, sinalizadores, mcx_mode] )Um circuito que implementa a operação lógica AND em um número de qubits.
OR(num_variable_qubits[, sinalizadores, mcx_mode] )Um circuito que implementa a operação lógica OR em um número de qubits.
XOR(num_qubits[, quantidade, semente] )Um circuito n_qubit para xoragem bit a bit da entrada com algum número inteiro amount.
InnerProduct(num_qubits)Uma função booleana 2n-qubit que calcula o produto interno de dois vetores de n-qubit em F2F_2.

Um circuito aleatório bit a bit xor pode ser gerado diretamente usando:

random_bitwise_xor(num_qubits, seed)Crie um BitwiseXorGate aleatório.

Alteração da base

Essas portas realizam transformações de base dos estados do qubit. Por exemplo, no caso da Transformada Quântica de Fourier (QFT), ela se transforma entre a base computacional e a base de Fourier.

QFTGate(num_qubits)Porta de transformação quântica de Fourier.

O objeto acima deriva de Gateo que permite que o compilador raciocine sobre ele em um nível abstrato. Por isso, sugerimos usar essa opção em vez da seguinte, que deriva QuantumCircuit e é construído de forma ágil.

QFT([num_qubits, aproximação_grau,...] )Circuito de transformação quântica de Fourier.

Aritmético

Essas portas e circuitos executam a aritmética clássica, como adição ou multiplicação.

Víbora

Os somadores calculam a soma de dois registros nn -qubit, ou seja

anbnana+bt,|a\rangle_n |b\rangle_n \mapsto |a\rangle_n |a + b\rangle_{t},

em que o tamanho tt do registro de saída depende do tipo de somador usado.

ModularAdderGate(num_state_qubits[, rótulo] )Calcule o módulo de soma 2n2^n de dois registros de qubit de tamanho nn.
HalfAdderGate(num_state_qubits[, rótulo] )Calcule a soma de dois registros de qubit de tamanho igual, incluindo um bit de carry-out.
FullAdderGate(num_state_qubits[, rótulo] )Calcule a soma de dois registros de qubit de tamanho nn, incluindo bits de entrada e saída.

Os objetos acima derivam de Gateo que permite que o compilador raciocine sobre eles em um nível abstrato. Portanto, sugerimos usá-los em vez dos seguintes, que derivam QuantumCircuit e que são construídos com muita pressa.

DraperQFTAdder(num_state_qubits[, kind, name] )Um circuito que usa QFT para realizar a adição no local em dois registros de qubit.
CDKMRippleCarryAdder(num_state_qubits[,...] )Um circuito de transporte de ondulação para realizar a adição no local em dois registros de qubit.
VBERippleCarryAdder(num_state_qubits[,...] )O somador de transporte de ondulação VBE [1].

multiplicadores

Os multiplicadores calculam o produto de dois registros de nn -qubit, ou seja

anbn0tanbnabt,|a\rangle_n |b\rangle_n |0\rangle_{t} \mapsto |a\rangle_n |b\rangle_n |a \cdot b\rangle_t,

em que tt é o número de bits usados para representar o resultado.

MultiplierGate(num_state_qubits[,...] )Calcule o produto de dois registros de qubit de tamanho igual em um novo registro.

O objeto acima deriva de Gateo que permite que o compilador raciocine sobre ele em um nível abstrato. Sugerimos, portanto, o uso dessa opção em vez das seguintes, que derivam QuantumCircuit e são construídos com entusiasmo.

HRSCumulativeMultiplier(num_state_qubits[,...] )Um circuito de multiplicação para armazenar o produto de dois registros de entrada fora do lugar.
RGQFTMultiplier(num_state_qubits[,...] )Um circuito de multiplicação QFT para armazenar o produto de dois registros de entrada fora do lugar.

Funções de amplitude

Uma função de amplitude se aproxima de uma função f:{0,...,2n1}[0,1]f: \{0, ..., 2^n - 1\} \rightarrow [0, 1] aplicada às amplitudes dos nn qubits. Consulte a documentação da classe para obter informações mais detalhadas.

LinearAmplitudeFunctionGate(...[, ...])Um circuito que implementa uma função linear (por partes) em amplitudes de qubit.

O objeto acima deriva de Gateo que permite que o compilador raciocine sobre ele em um nível abstrato. Por isso, sugerimos usar essa opção em vez da seguinte, que deriva QuantumCircuit e é construído de forma ágil.

LinearAmplitudeFunction(num_state_qubits,...)Um circuito que implementa uma função linear (por partes) em amplitudes de qubit.

Rotações funcionais de Pauli

As rotações funcionais de Pauli implementam operações da forma

x0cos(f(x))x0+sin(f(x))x1|x\rangle |0\rangle \mapsto \cos(f(x))|x\rangle|0\rangle + \sin(f(x))|x\rangle|1\rangle

usando as rotações de Pauli- YY para diferentes tipos de funções ff, como linear, polinomial ou uma versão parcial dessas funções. Elas são semelhantes às funções de amplitude acima, mas sem pré e pós-processamento para o domínio e a imagem da função de destino.

LinearPauliRotationsGate(num_state_qubits[,...] )Rotação X, Y ou Z com controle linear.
PolynomialPauliRotationsGate(num_estado_qubits)Uma porta que implementa rotações polinomiais de Pauli.
PiecewiseLinearPauliRotationsGate([...])Rotações de Pauli com controle linear por partes.
PiecewisePolynomialPauliRotationsGate(...[, ...])Rotações de Pauli com controle polinomial por partes.
PiecewiseChebyshevGate(f_x, num_state_qubits)Aproximação de Chebyshev por partes para uma função de entrada.

Os objetos acima derivam de Gateo que permite que o compilador raciocine sobre eles em um nível abstrato. Portanto, sugerimos usá-los em vez dos seguintes, que derivam QuantumCircuit e que são construídos com muita pressa.

FunctionalPauliRotations([num_state_qubits,...] )Classe básica para rotações funcionais de Pauli.
LinearPauliRotations([num_state_qubits,...] )Rotação X, Y ou Z com controle linear.
PolynomialPauliRotations([num_state_qubits,...] )Um circuito que implementa rotações polinomiais de Pauli.
PiecewiseLinearPauliRotations([...])Rotações de Pauli com controle linear por partes.
PiecewisePolynomialPauliRotations([...])Rotações de Pauli com controle polinomial por partes.
PiecewiseChebyshev(f_x[, grau,...] )Aproximação de Chebyshev por partes para uma função de entrada.

Outras funções aritméticas

Aqui listamos outros circuitos aritméticos. Consulte as documentações de cada classe para obter mais detalhes.

ExactReciprocalGate(num_state_qubits, dimensionamento)Implementa uma função recíproca exata.
IntegerComparatorGate(num_state_qubits, valor)Execute um \geq (ou << ) em um registro de qubit em relação a um número inteiro clássico.
QuadraticFormGate([num_resultado_qubits,...] )Implementa uma forma quadrática em variáveis binárias codificadas em registros de qubit.
WeightedSumGate(num_state_qubits[, pesos,...] )Uma porta para computar a soma ponderada de registros de qubit.

Os objetos acima derivam de Gateo que permite que o compilador raciocine sobre eles em um nível abstrato. Portanto, sugerimos usá-los em vez dos seguintes, que derivam QuantumCircuit e que são construídos com muita pressa.

ExactReciprocal(num_state_qubits, dimensionamento[,...] )Recíproco exato
IntegerComparator([num_state_qubits, valor,...] )Comparador de números inteiros.
QuadraticForm([num_resultado_qubits,...] )Implementa uma forma quadrática em variáveis binárias codificadas em registros de qubit.
WeightedAdder([num_state_qubits, pesos, nome] )Um circuito para computar a soma ponderada de registros de qubit.

Circuitos Quânticos Específicos

As portas e os circuitos quânticos a seguir definem operações específicas de interesse:

fourier_checking(f, g)Circuito de verificação de Fourier.
hidden_linear_function(matriz de adjacência)Circuito para resolver o problema da função linear oculta.
iqp(interações)Circuito de tempo polinomial quântico instantâneo (IQP).
random_iqp(num_qubits[, seed] )Um circuito polinomial quântico instantâneo aleatório de tempo polinomial (IQP).
quantum_volume(num_qubits[, profundidade, semente] )Um circuito de modelo de volume quântico.
phase_estimation(num_evaluation_qubits, unitário)Circuito de estimativa de fase.
grover_operator(oracle[, state_preparation,...] )Construa o operador de Grover.
unitary_overlap(unitary1, unitary2[, ...])Circuito que retorna a sobreposição entre duas unidades U2U1U_2^{\dag} U_1.
GraphStateGate(matriz de adjacência)Uma porta que representa um estado de gráfico.
PauliEvolutionGate(operador[, hora, rótulo,...] )Evolução temporal de um operador que consiste em Paulis.
HamiltonianGate(dados, tempo[, rótulo] )Classe para representar a evolução por um operador hamiltoniano como um portão.

Abaixo, fornecemos as mesmas operações que as classes derivadas de QuantumCircuit. Entretanto, para melhorar o desempenho do compilador e do tempo de execução, sugerimos o uso das funções e portas acima.

FourierChecking(f, g)Circuito de verificação de Fourier.
GraphState(matriz de adjacência)Circuito para preparar um estado de gráfico.
HiddenLinearFunction(matriz de adjacência)Circuito para resolver o problema da função linear oculta.
IQP(interações)Circuito polinomial quântico instantâneo (IQP).
QuantumVolume(num_qubits[, profundidade, semente,...] )Um circuito de modelo de volume quântico.
PhaseEstimation(num_evaluation_qubits, unitário)Circuito de estimativa de fase.
GroverOperator(oracle[, state_preparation,...] )O operador Grover.
UnitaryOverlap(unitary1, unitary2[, ...])Circuito que retorna a sobreposição entre duas unidades U2U1U_2^{\dag} U_1.

Circuitos locais N

As funções a seguir retornam um parâmetro QuantumCircuit parametrizado para ser usado como ansatz em um amplo conjunto de algoritmos quânticos variacionais.

Por exemplo, podemos criar um circuito variacional

from qiskit.circuit.library import efficient_su2

num_qubits = 4
ansatz = efficient_su2(num_qubits, entanglement="pairwise")
ansatz.draw("mpl")
O eficiente circuito SU2 ansatz...

e combiná-lo com

from qiskit.circuit.library import zz_feature_map

circuit = zz_feature_map(num_qubits)
circuit.barrier()
circuit.compose(ansatz, inplace=True)

circuit.draw("mpl")
... combinado com o mapa de recursos ZZ. ... combinado com o mapa de recursos ZZ.

para obter um circuito para classificação quântica variacional.

Todas as funções a seguir constroem circuitos variacionais e são otimizadas para uma construção rápida:

n_local(num_qubits, rotation_blocks,...[,.]..)Construa um circuito variacional n-local.
efficient_su2(número_qubits [, su2_gates,...] )O circuito SU(2)SU(2) 2-local eficiente em termos de hardware.
real_amplitudes(num_qubits[, emaranhamento,...] )Construa um circuito 2-local de amplitudes reais.
pauli_two_design(num_qubits[, reps, seed,...] )Construa um ansatz de projeto Pauli 2.
excitation_preserving(num_qubits[, mode,...] )O ansatz da função de onda com preservação da excitação heurística.
qaoa_ansatz(cost_operator[, reps,...] )Um circuito quântico QAOA generalizado com suporte de estados iniciais e misturadores personalizados.
hamiltonian_variational_ansatz(hamiltoniano)Construa um ansatz variacional hamiltoniano.
evolved_operator_ansatz(operadores[, representantes,...] )Construa um ansatz a partir de evoluções de operadores.

Embora sugiramos o uso das funções acima, também continuamos a apoiar as seguintes BlueprintCircuit, que envolvem os circuitos em um bloco e permitem mutações no local dos circuitos:

NLocal([num_qubits, rotation_blocks,...] )A classe de circuito n-local.
TwoLocal([num_qubits, rotation_blocks,...] )O circuito de dois locais.
PauliTwoDesign([num_qubits, reps, seed,...] )O ansatz de Pauli Two-Design.
RealAmplitudes([num_qubits, emaranhamento,...] )O circuito de 2 locais de amplitudes reais.
EfficientSU2( [num_qubits, su2_gates,...] )O circuito SU(2) 2-local eficiente em termos de hardware.
EvolvedOperatorAnsatz([operadores, representantes,...] )O operador evoluído ansatz.
ExcitationPreserving([num_qubits, mode,...] )O ansatz da função de onda com preservação da excitação heurística.
QAOAAnsatz([cost_operator, reps,...] )Um circuito quântico QAOA generalizado com suporte de estados iniciais e misturadores personalizados.

Circuitos de codificação de dados

As funções a seguir retornam um parâmetro QuantumCircuit parametrizado para ser usado como circuitos de codificação de dados em uma série de algoritmos quânticos variacionais:

pauli_feature_map(feature_dimension[, reps,...] )O circuito de expansão de Pauli.
z_feature_map(feature_dimension[, reps,...] )O circuito Pauli Z-evolution de primeira ordem.
zz_feature_map(feature_dimension[, reps,...] )Circuito de evolução Pauli-Z de segunda ordem.

Embora sugiramos o uso das funções acima, também continuamos a apoiar as seguintes BlueprintCircuit, que envolvem os circuitos em um bloco e permitem mutações no local dos circuitos:

PauliFeatureMap([feature_dimension, reps,...] )O circuito de expansão de Pauli.
ZFeatureMap(feature_dimension[, reps,...] )O circuito Pauli Z-evolution de primeira ordem.
ZZFeatureMap(feature_dimension[, reps,...] )Circuito de evolução Pauli-Z de segunda ordem.

Circuitos de preparação de dados

As operações a seguir são usadas para a preparação do estado:

StatePreparation(params[, num_qubits,...] )Preparação de estado de amplitude complexa.
Initialize(params[, num_qubits, normalize] )Inicialização de amplitude complexa.

Oráculos

Um "oráculo" pode se referir a uma variedade de operações de caixa preta em estados quânticos. Aqui, consideramos oráculos que implementam funções booleanas f:{0,...,2n1}{0,1}f: \{0, ..., 2^n - 1\} \rightarrow \{0, 1\} por meio de mudanças de fase

xn(1)f(x)xn,|x\rangle_n \mapsto (-1)^{f(x)} |x\rangle_n,

ou bit-flips

xnbxnbf(x).|x\rangle_n |b\rangle \mapsto |x\rangle_n |b \oplus f(x)\rangle.

Eles são implementados em

PhaseOracleGate(expressão[, var_ordem, rótulo] )Implementa um oráculo de fase.
BitFlipOracleGate(expressão[, var_ordem, rótulo] )Implementa um oráculo de inversão de bits

e um bloco de construção importante para o algoritmo de Grover (consulte grover_operator()).

Além da implementação baseada em Gate-também oferecemos suporte à versão QuantumCircuit-do oráculo de inversão de fase

PhaseOracle(expressão[, var_ordem] )Fase Oracle.

Circuitos modelo

Os modelos são funções que retornam circuitos que calculam a identidade. Eles são usados na otimização de circuitos em que a correspondência de parte do modelo permite que o compilador substitua a correspondência pelo inverso do restante do modelo.

Neste exemplo, a constante de identidade em um modelo é verificada:

from qiskit.circuit.library.templates import template_nct_4b_1
from qiskit.quantum_info import Operator
import numpy as np

template = template_nct_4b_1()

identity = np.identity(2 ** len(template.qubits), dtype=complex)
data = Operator(template).data
np.allclose(data, identity)  # True, template_nct_4b_1 is the identity

Circuitos modelo NCT (Not-CNOT-Toffoli)

Circuitos de gabarito para XGate, CXGate, e CCXGate portas (Toffoli).

Referências

Maslov, D. e Dueck, G. W. e Miller, D. M., Técnicas para a síntese de redes Toffoli reversíveis, 2007 https://dx.doi.org/10.1145/1278349.1278355

template_nct_2a_1

qiskit.circuit.library.templates.nct.template_nct_2a_1()

GitHub

Modelo 2a_1:

     ┌───┐┌───┐
q_0: ┤ X ├┤ X ├
     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_2a_2

qiskit.circuit.library.templates.nct.template_nct_2a_2()

GitHub

Modelo 2a_2:

q_0: ──■────■──
     ┌─┴─┐┌─┴─┐
q_1: ┤ X ├┤ X ├
     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_2a_3

qiskit.circuit.library.templates.nct.template_nct_2a_3()

GitHub

Modelo 2a_3:

q_0: ──■────■──
       │    │
q_1: ──■────■──
     ┌─┴─┐┌─┴─┐
q_2: ┤ X ├┤ X ├
     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_4a_1

qiskit.circuit.library.templates.nct.template_nct_4a_1()

GitHub

Modelo 4a_1:

q_0: ───────■─────────■──
            │         │
q_1: ──■────┼────■────┼──
       │    │    │    │
q_2: ──■────■────■────■──
       │  ┌─┴─┐  │  ┌─┴─┐
q_3: ──┼──┤ X ├──┼──┤ X ├
     ┌─┴─┐└───┘┌─┴─┐└───┘
q_4: ┤ X ├─────┤ X ├─────
     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_4a_2

qiskit.circuit.library.templates.nct.template_nct_4a_2()

GitHub

Modelo 4a_2:

q_0: ──■─────────■───────
       │         │
q_1: ──■────■────■────■──
       │  ┌─┴─┐  │  ┌─┴─┐
q_2: ──┼──┤ X ├──┼──┤ X ├
     ┌─┴─┐└───┘┌─┴─┐└───┘
q_3: ┤ X ├─────┤ X ├─────
     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_4a_3

qiskit.circuit.library.templates.nct.template_nct_4a_3()

GitHub

Modelo 4a_3:

q_0: ──■────■────■────■──
       │  ┌─┴─┐  │  ┌─┴─┐
q_1: ──┼──┤ X ├──┼──┤ X ├
     ┌─┴─┐└───┘┌─┴─┐└───┘
q_2: ┤ X ├─────┤ X ├─────
     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_4b_1

qiskit.circuit.library.templates.nct.template_nct_4b_1()

GitHub

Modelo 4b_1:

q_0: ───────■─────────■──
            │         │
q_1: ──■────┼────■────┼──
       │    │    │    │
q_2: ──■────■────■────■──
     ┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐
q_3: ┤ X ├┤ X ├┤ X ├┤ X ├
     └───┘└───┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_4b_2

qiskit.circuit.library.templates.nct.template_nct_4b_2()

GitHub

Modelo 4b_2:

q_0: ──■─────────■───────
       │         │
q_1: ──■────■────■────■──
     ┌─┴─┐┌─┴─┐┌─┴─┐┌─┴─┐
q_2: ┤ X ├┤ X ├┤ X ├┤ X ├
     └───┘└───┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_5a_1

qiskit.circuit.library.templates.nct.template_nct_5a_1()

GitHub

Modelo 5a_1:

q_0: ──■────■────■────■────■──
       │  ┌─┴─┐  │  ┌─┴─┐  │
q_1: ──■──┤ X ├──■──┤ X ├──┼──
     ┌─┴─┐└───┘┌─┴─┐└───┘┌─┴─┐
q_2: ┤ X ├─────┤ X ├─────┤ X ├
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_5a_2

qiskit.circuit.library.templates.nct.template_nct_5a_2()

GitHub

Modelo 5a_2:

q_0: ──■─────────■─────────■──
       │  ┌───┐  │  ┌───┐  │
q_1: ──■──┤ X ├──■──┤ X ├──┼──
     ┌─┴─┐└───┘┌─┴─┐└───┘┌─┴─┐
q_2: ┤ X ├─────┤ X ├─────┤ X ├
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_5a_3

qiskit.circuit.library.templates.nct.template_nct_5a_3()

GitHub

Modelo 5a_3:

q_0: ───────■─────────■────■──
          ┌─┴─┐     ┌─┴─┐  │
q_1: ──■──┤ X ├──■──┤ X ├──┼──
     ┌─┴─┐└───┘┌─┴─┐└───┘┌─┴─┐
q_2: ┤ X ├─────┤ X ├─────┤ X ├
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_5a_4

qiskit.circuit.library.templates.nct.template_nct_5a_4()

GitHub

Modelo 5a_4:

          ┌───┐     ┌───┐
q_0: ──■──┤ X ├──■──┤ X ├
     ┌─┴─┐└───┘┌─┴─┐├───┤
q_1: ┤ X ├─────┤ X ├┤ X ├
     └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_6a_1

qiskit.circuit.library.templates.nct.template_nct_6a_1()

GitHub

Modelo 6a_1:

          ┌───┐     ┌───┐     ┌───┐
q_0: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
     ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
q_1: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_6a_2

qiskit.circuit.library.templates.nct.template_nct_6a_2()

GitHub

Modelo 6a_2:

q_0: ──■────■────■────■────■────■──
       │  ┌─┴─┐  │  ┌─┴─┐  │  ┌─┴─┐
q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
     ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_6a_3

qiskit.circuit.library.templates.nct.template_nct_6a_3()

GitHub

Modelo 6a_3:

q_0: ───────■─────────■────■────■──
          ┌─┴─┐     ┌─┴─┐  │  ┌─┴─┐
q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
     ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_6a_4

qiskit.circuit.library.templates.nct.template_nct_6a_4()

GitHub

Modelo 6a_4:

q_0: ───────■──────────────■───────
          ┌─┴─┐     ┌───┐  │  ┌───┐
q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
     ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_6b_1

qiskit.circuit.library.templates.nct.template_nct_6b_1()

GitHub

Modelo 6b_1:

q_0: ──■─────────■────■─────────■──
       │       ┌─┴─┐  │       ┌─┴─┐
q_1: ──■────■──┤ X ├──■────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_6b_2

qiskit.circuit.library.templates.nct.template_nct_6b_2()

GitHub

Modelo 6b_2:

q_0: ───────■────■─────────■────■──
            │  ┌─┴─┐       │  ┌─┴─┐
q_1: ──■────■──┤ X ├──■────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_6c_1

qiskit.circuit.library.templates.nct.template_nct_6c_1()

GitHub

Modelo 6c_1:

q_0: ──■─────────■─────────■────■──
       │  ┌───┐  │  ┌───┐  │  ┌─┴─┐
q_1: ──■──┤ X ├──■──┤ X ├──■──┤ X ├
     ┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐└─┬─┘
q_2: ┤ X ├──■──┤ X ├──■──┤ X ├──■──
     └───┘     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_7a_1

qiskit.circuit.library.templates.nct.template_nct_7a_1()

GitHub

Modelo 7a_1:

     ┌───┐                    ┌───┐
q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
     └─┬─┘┌─┴─┐       │  ┌─┴─┐└─┬─┘  │
q_1: ──■──┤ X ├──■────■──┤ X ├──■────■──
          └───┘┌─┴─┐┌─┴─┐└───┘     ┌─┴─┐
q_2: ──────────┤ X ├┤ X ├──────────┤ X ├
               └───┘└───┘          └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_7b_1

qiskit.circuit.library.templates.nct.template_nct_7b_1()

GitHub

Modelo 7b_1:

     ┌───┐                    ┌───┐
q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
     └───┘┌─┴─┐       │  ┌─┴─┐└───┘  │
q_1: ─────┤ X ├──■────■──┤ X ├───────■──
          └───┘┌─┴─┐┌─┴─┐└───┘     ┌─┴─┐
q_2: ──────────┤ X ├┤ X ├──────────┤ X ├
               └───┘└───┘          └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_7c_1

qiskit.circuit.library.templates.nct.template_nct_7c_1()

GitHub

Modelo 7c_1:

     ┌───┐                    ┌───┐
q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
     └───┘┌─┴─┐       │  ┌─┴─┐└───┘  │
q_1: ─────┤ X ├──■────■──┤ X ├───────■──
          └─┬─┘┌─┴─┐┌─┴─┐└─┬─┘     ┌─┴─┐
q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
               └───┘└───┘          └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_7d_1

qiskit.circuit.library.templates.nct.template_nct_7d_1()

GitHub

Modelo 7d_1:

     ┌───┐                    ┌───┐
q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
     └─┬─┘┌─┴─┐       │  ┌─┴─┐└─┬─┘  │
q_1: ──■──┤ X ├──■────■──┤ X ├──■────■──
          └─┬─┘┌─┴─┐┌─┴─┐└─┬─┘     ┌─┴─┐
q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
               └───┘└───┘          └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_7e_1

qiskit.circuit.library.templates.nct.template_nct_7e_1()

GitHub

Modelo 7e_1:

     ┌───┐                    ┌───┐
q_0: ┤ X ├──■─────────■────■──┤ X ├──■──
     └───┘┌─┴─┐       │  ┌─┴─┐└───┘  │
q_1: ─────┤ X ├───────┼──┤ X ├───────┼──
          └─┬─┘┌───┐┌─┴─┐└─┬─┘     ┌─┴─┐
q_2: ───────■──┤ X ├┤ X ├──■───────┤ X ├
               └───┘└───┘          └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9a_1

qiskit.circuit.library.templates.nct.template_nct_9a_1()

GitHub

Modelo 9a_1:

     ┌───┐     ┌───┐          ┌───┐
q_0: ┤ X ├──■──┤ X ├──■────■──┤ X ├──■──
     └─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐
q_1: ──■──┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├
          └─┬─┘  │  ├───┤└─┬─┘┌───┐└─┬─┘
q_2: ───────■────■──┤ X ├──■──┤ X ├──■──
                    └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_1

qiskit.circuit.library.templates.nct.template_nct_9c_1()

GitHub

Modelo 9c_1:

     ┌───┐     ┌───┐┌───┐     ┌───┐          ┌───┐
q_0: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
q_1: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_2

qiskit.circuit.library.templates.nct.template_nct_9c_2()

GitHub

Modelo 9c_2:

q_0: ───────■────■──────────────■────■─────────■──
     ┌───┐  │  ┌─┴─┐┌───┐     ┌─┴─┐  │       ┌─┴─┐
q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_3

qiskit.circuit.library.templates.nct.template_nct_9c_3()

GitHub

Modelo 9c_3:

q_0: ───────■────────────────────────■────────────
     ┌───┐  │  ┌───┐┌───┐     ┌───┐  │       ┌───┐
q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_4

qiskit.circuit.library.templates.nct.template_nct_9c_4()

GitHub

Modelo 9c_4:

q_0: ──■────■─────────■──────────────■────────────
     ┌─┴─┐  │  ┌───┐┌─┴─┐     ┌───┐  │       ┌───┐
q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_5

qiskit.circuit.library.templates.nct.template_nct_9c_5()

GitHub

Modelo 9c_5:

q_0: ────────────■─────────■──────────────■───────
     ┌───┐     ┌─┴─┐┌───┐  │  ┌───┐       │  ┌───┐
q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_6

qiskit.circuit.library.templates.nct.template_nct_9c_6()

GitHub

Modelo 9c_6:

q_0: ───────■────■─────────■─────────■────■───────
     ┌───┐  │  ┌─┴─┐┌───┐  │  ┌───┐  │    │  ┌───┐
q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_7

qiskit.circuit.library.templates.nct.template_nct_9c_7()

GitHub

Modelo 9c_7:

q_0: ──■────■────■────■────■─────────■────■───────
     ┌─┴─┐  │  ┌─┴─┐┌─┴─┐  │  ┌───┐  │    │  ┌───┐
q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_8

qiskit.circuit.library.templates.nct.template_nct_9c_8()

GitHub

Modelo 9c_8:

q_0: ──■─────────■────■─────────■──────────────■──
     ┌─┴─┐     ┌─┴─┐┌─┴─┐     ┌─┴─┐          ┌─┴─┐
q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_9

qiskit.circuit.library.templates.nct.template_nct_9c_9()

GitHub

Modelo 9c_9:

q_0: ──■────■────■────■─────────■────■─────────■──
     ┌─┴─┐  │  ┌─┴─┐┌─┴─┐     ┌─┴─┐  │       ┌─┴─┐
q_1: ┤ X ├──■──┤ X ├┤ X ├─────┤ X ├──■───────┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌───┐└─┬─┘┌─┴─┐┌───┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_10

qiskit.circuit.library.templates.nct.template_nct_9c_10()

GitHub

Modelo 9c_10:

q_0: ──■─────────■────■────■────■─────────■────■──
     ┌─┴─┐     ┌─┴─┐┌─┴─┐  │  ┌─┴─┐       │  ┌─┴─┐
q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_11

qiskit.circuit.library.templates.nct.template_nct_9c_11()

GitHub

Modelo 9c_11:

q_0: ───────■────■─────────■────■────■────■────■──
     ┌───┐  │  ┌─┴─┐┌───┐  │  ┌─┴─┐  │    │  ┌─┴─┐
q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9c_12

qiskit.circuit.library.templates.nct.template_nct_9c_12()

GitHub

Modelo 9c_12:

q_0: ──■────■────■────■────■────■────■────■────■──
     ┌─┴─┐  │  ┌─┴─┐┌─┴─┐  │  ┌─┴─┐  │    │  ┌─┴─┐
q_1: ┤ X ├──■──┤ X ├┤ X ├──┼──┤ X ├──■────┼──┤ X ├
     └─┬─┘┌─┴─┐└───┘└─┬─┘┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ──■──┤ X ├───────■──┤ X ├──■──┤ X ├┤ X ├──■──
          └───┘          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_1

qiskit.circuit.library.templates.nct.template_nct_9d_1()

GitHub

Modelo 9d_1:

               ┌───┐          ┌───┐          ┌───┐
q_0: ──■───────┤ X ├───────■──┤ X ├───────■──┤ X ├
     ┌─┴─┐┌───┐└─┬─┘┌───┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘
q_1: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_2

qiskit.circuit.library.templates.nct.template_nct_9d_2()

GitHub

Modelo 9d_2:

q_0: ──■────■────■──────────────■──────────────■──
       │    │  ┌─┴─┐          ┌─┴─┐          ┌─┴─┐
q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_3

qiskit.circuit.library.templates.nct.template_nct_9d_3()

GitHub

Modelo 9d_3:

q_0: ──■────■───────────────────■─────────────────
       │    │  ┌───┐          ┌─┴─┐          ┌───┐
q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_4

qiskit.circuit.library.templates.nct.template_nct_9d_4()

GitHub

Modelo 9d_4:

q_0: ───────■─────────■──────────────■────────────
            │  ┌───┐  │       ┌───┐  │       ┌───┐
q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_5

qiskit.circuit.library.templates.nct.template_nct_9d_5()

GitHub

Modelo 9d_5:

q_0: ──■────■─────────■─────────■────■────────────
       │    │  ┌───┐  │       ┌─┴─┐  │       ┌───┐
q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_6

qiskit.circuit.library.templates.nct.template_nct_9d_6()

GitHub

Modelo 9d_6:

q_0: ──■────■──────────────■────■─────────■───────
       │    │  ┌───┐       │  ┌─┴─┐       │  ┌───┐
q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_7

qiskit.circuit.library.templates.nct.template_nct_9d_7()

GitHub

Modelo 9d_7:

q_0: ──■────■─────────■────■────■────■────■───────
       │    │  ┌───┐  │    │  ┌─┴─┐  │    │  ┌───┐
q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_8

qiskit.circuit.library.templates.nct.template_nct_9d_8()

GitHub

Modelo 9d_8:

q_0: ──■────■────■────■─────────■────■─────────■──
       │    │  ┌─┴─┐  │       ┌─┴─┐  │       ┌─┴─┐
q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_9

qiskit.circuit.library.templates.nct.template_nct_9d_9()

GitHub

Modelo 9d_9:

q_0: ──■────■────■─────────■────■─────────■────■──
       │    │  ┌─┴─┐       │  ┌─┴─┐       │  ┌─┴─┐
q_1: ──■────┼──┤ X ├───────■──┤ X ├───────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘┌───┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

template_nct_9d_10

qiskit.circuit.library.templates.nct.template_nct_9d_10()

GitHub

Modelo 9d_10:

q_0: ──■────■────■────■────■────■────■────■────■──
       │    │  ┌─┴─┐  │    │  ┌─┴─┐  │    │  ┌─┴─┐
q_1: ──■────┼──┤ X ├──┼────■──┤ X ├──┼────■──┤ X ├
     ┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘┌─┴─┐┌─┴─┐└─┬─┘
q_2: ┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──┤ X ├┤ X ├──■──
     └───┘└───┘     └───┘└───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

Circuitos de modelo Clifford

Circuitos de modelo sobre portas de Clifford.

clifford_2_1

qiskit.circuit.library.clifford_2_1()

GitHub

Modelo Clifford 2_1:

q_0: ─■──■─
      │  │
q_1: ─■──■─

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_2_2

qiskit.circuit.library.clifford_2_2()

GitHub

Modelo de Clifford 2_2:

q_0: ──■────■──
     ┌─┴─┐┌─┴─┐
q_1: ┤ X ├┤ X ├
     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_2_3

qiskit.circuit.library.clifford_2_3()

GitHub

Modelo de Clifford 2_3:

     ┌───┐┌───┐
q_0: ┤ H ├┤ H ├
     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_2_4

qiskit.circuit.library.clifford_2_4()

GitHub

Modelo de Clifford 2_4:

q_0: ─X──X─
      │  │
q_1: ─X──X─

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_3_1

qiskit.circuit.library.clifford_3_1()

GitHub

Clifford modelo 3_1:

     ┌───┐┌───┐┌───┐
q_0: ┤ S ├┤ S ├┤ Z ├
     └───┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_4_1

qiskit.circuit.library.clifford_4_1()

GitHub

Clifford modelo 4_1:

          ┌───┐
q_0: ──■──┤ X ├──■───X─
     ┌─┴─┐└─┬─┘┌─┴─┐ │
q_1: ┤ X ├──■──┤ X ├─X─
     └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_4_2

qiskit.circuit.library.clifford_4_2()

GitHub

Modelo de Clifford 4_2:

q_0: ───────■────────■─
     ┌───┐┌─┴─┐┌───┐ │
q_1: ┤ H ├┤ X ├┤ H ├─■─
     └───┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_4_3

qiskit.circuit.library.clifford_4_3()

GitHub

Modelo Clifford 4_3:

     ┌───┐     ┌─────┐
q_0: ┤ S ├──■──┤ SDG ├──■──
     └───┘┌─┴─┐└─────┘┌─┴─┐
q_1: ─────┤ X ├───────┤ X ├
          └───┘       └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_4_4

qiskit.circuit.library.clifford_4_4()

GitHub

Modelo Clifford 4_4:

     ┌───┐   ┌─────┐
q_0: ┤ S ├─■─┤ SDG ├─■─
     └───┘ │ └─────┘ │
q_1: ──────■─────────■─

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_5_1

qiskit.circuit.library.clifford_5_1()

GitHub

Modelo Clifford 5_1:

q_0: ──■─────────■─────────■──
     ┌─┴─┐     ┌─┴─┐       │
q_1: ┤ X ├──■──┤ X ├──■────┼──
     └───┘┌─┴─┐└───┘┌─┴─┐┌─┴─┐
q_2: ─────┤ X ├─────┤ X ├┤ X ├
          └───┘     └───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_6_1

qiskit.circuit.library.clifford_6_1()

GitHub

Clifford modelo 6_1:

     ┌───┐     ┌───┐┌───┐
q_0: ┤ H ├──■──┤ H ├┤ X ├
     ├───┤┌─┴─┐├───┤└─┬─┘
q_1: ┤ H ├┤ X ├┤ H ├──■──
     └───┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_6_2

qiskit.circuit.library.clifford_6_2()

GitHub

Modelo de Clifford 6_2:

     ┌───┐
q_0: ┤ S ├──■───────────■───■─
     ├───┤┌─┴─┐┌─────┐┌─┴─┐ │
q_1: ┤ S ├┤ X ├┤ SDG ├┤ X ├─■─
     └───┘└───┘└─────┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_6_3

qiskit.circuit.library.clifford_6_3()

GitHub

Modelo de Clifford 6_3:

           ┌───┐     ┌───┐
q_0: ─X──■─┤ H ├──■──┤ X ├─────
      │  │ └───┘┌─┴─┐└─┬─┘┌───┐
q_1: ─X──■──────┤ X ├──■──┤ H ├
                └───┘     └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_6_4

qiskit.circuit.library.clifford_6_4()

GitHub

Modelo Clifford 6_4:

     ┌───┐┌───┐┌───┐┌───┐┌───┐┌───┐
q_0: ┤ S ├┤ H ├┤ S ├┤ H ├┤ S ├┤ H ├
     └───┘└───┘└───┘└───┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_6_5

qiskit.circuit.library.clifford_6_5()

GitHub

Modelo Clifford 6_5:

              ┌───┐
q_0: ─■───■───┤ S ├───■───────
      │ ┌─┴─┐┌┴───┴┐┌─┴─┐┌───┐
q_1: ─■─┤ X ├┤ SDG ├┤ X ├┤ S ├
        └───┘└─────┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_8_1

qiskit.circuit.library.clifford_8_1()

GitHub

Modelo Clifford 8_1:

               ┌───┐ ┌───┐ ┌───┐┌─────┐
q_0: ──■───────┤ X ├─┤ S ├─┤ X ├┤ SDG ├
     ┌─┴─┐┌───┐└─┬─┘┌┴───┴┐└─┬─┘└┬───┬┘
q_1: ┤ X ├┤ H ├──■──┤ SDG ├──■───┤ H ├─
     └───┘└───┘     └─────┘      └───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_8_2

qiskit.circuit.library.clifford_8_2()

GitHub

Modelo Clifford 8_2:

                     ┌───┐
q_0: ──■─────────■───┤ S ├───■────────────
     ┌─┴─┐┌───┐┌─┴─┐┌┴───┴┐┌─┴─┐┌───┐┌───┐
q_1: ┤ X ├┤ H ├┤ X ├┤ SDG ├┤ X ├┤ S ├┤ H ├
     └───┘└───┘└───┘└─────┘└───┘└───┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

clifford_8_3

qiskit.circuit.library.clifford_8_3()

GitHub

Modelo Clifford 8_3:

q_0: ─────────────────■───────────────────────■──
     ┌───┐┌───┐┌───┐┌─┴─┐┌─────┐┌───┐┌─────┐┌─┴─┐
q_1: ┤ S ├┤ H ├┤ S ├┤ X ├┤ SDG ├┤ H ├┤ SDG ├┤ X ├
     └───┘└───┘└───┘└───┘└─────┘└───┘└─────┘└───┘

Retorna

como um circuito quântico.

Tipo de retorno

QuantumCircuit

Circuitos modelo RZXGate

Circuitos de modelo com RZXGate.

rzx_yz

qiskit.circuit.library.rzx_yz(theta=None)

GitHub

Modelo baseado em RZX para CX - RYGate - CX.

          ┌────────┐     ┌─────────┐┌─────────┐┌──────────┐
q_0: ──■──┤ RY(-ϴ) ├──■──┤ RX(π/2) ├┤0        ├┤ RX(-π/2) ├
     ┌─┴─┐└────────┘┌─┴─┐└─────────┘│  RZX(ϴ) │└──────────┘
q_1: ┤ X ├──────────┤ X ├───────────┤1        ├────────────
     └───┘          └───┘           └─────────┘

Parâmetros

theta (ParameterExpression |float | None)

rzx_xz

qiskit.circuit.library.rzx_xz(theta=None)

GitHub

Modelo baseado em RZX para CX - RXGate - CX.

     ┌───┐         ┌───┐┌─────────┐┌─────────┐┌─────────┐┌──────────┐»
q_0: ┤ X ├─────────┤ X ├┤ RZ(π/2) ├┤ RX(π/2) ├┤ RZ(π/2) ├┤0         ├»
     └─┬─┘┌───────┐└─┬─┘└─────────┘└─────────┘└─────────┘│  RZX(-ϴ) │»
q_1: ──■──┤ RX(ϴ) ├──■───────────────────────────────────┤1         ├»
          └───────┘                                      └──────────┘»
«     ┌─────────┐┌─────────┐┌─────────┐
«q_0: ┤ RZ(π/2) ├┤ RX(π/2) ├┤ RZ(π/2) ├
«     └─────────┘└─────────┘└─────────┘
«q_1: ─────────────────────────────────
«

Parâmetros

theta (ParameterExpression |float | None)

rzx_cy

qiskit.circuit.library.rzx_cy(theta=None)

GitHub

Modelo baseado em RZX para CX - RYGate - CX.

                                                       ┌──────────┐
q_0: ──■─────────────■─────────────────────────────────┤0         ├───────────
     ┌─┴─┐┌───────┐┌─┴─┐┌────────┐┌──────────┐┌───────┐│  RZX(-ϴ) │┌─────────┐
q_1: ┤ X ├┤ RY(ϴ) ├┤ X ├┤ RY(-ϴ) ├┤ RZ(-π/2) ├┤ RX(ϴ) ├┤1         ├┤ RZ(π/2) ├
     └───┘└───────┘└───┘└────────┘└──────────┘└───────┘└──────────┘└─────────┘

Parâmetros

theta (ParameterExpression |float | None)

rzx_zz1

qiskit.circuit.library.rzx_zz1(theta=None)

GitHub

Modelo baseado em RZX para CX - RZGate - CX.

                                                                            »
q_0: ──■────────────────────────────────────────────■───────────────────────»
     ┌─┴─┐┌───────┐┌────┐┌───────┐┌────┐┌────────┐┌─┴─┐┌────────┐┌─────────┐»
q_1: ┤ X ├┤ RZ(ϴ) ├┤ √X ├┤ RZ(π) ├┤ √X ├┤ RZ(3π) ├┤ X ├┤ RZ(-ϴ) ├┤ RZ(π/2) ├»
     └───┘└───────┘└────┘└───────┘└────┘└────────┘└───┘└────────┘└─────────┘»
«                                    ┌──────────┐                      »
«q_0: ───────────────────────────────┤0         ├──────────────────────»
«     ┌─────────┐┌─────────┐┌───────┐│  RZX(-ϴ) │┌─────────┐┌─────────┐»
«q_1: ┤ RX(π/2) ├┤ RZ(π/2) ├┤ RX(ϴ) ├┤1         ├┤ RZ(π/2) ├┤ RX(π/2) ├»
«     └─────────┘└─────────┘└───────┘└──────────┘└─────────┘└─────────┘»
«
«q_0: ───────────
«     ┌─────────┐
«q_1: ┤ RZ(π/2) ├
«     └─────────┘

Parâmetros

theta (ParameterExpression |float | None)

rzx_zz2

qiskit.circuit.library.rzx_zz2(theta=None)

GitHub

Modelo baseado em RZX para CX - PhaseGate - CX.

                                                                          »
q_0: ──■────────────■─────────────────────────────────────────────────────»
     ┌─┴─┐┌──────┐┌─┴─┐┌───────┐┌─────────┐┌─────────┐┌─────────┐┌───────┐»
q_1: ┤ X ├┤ P(ϴ) ├┤ X ├┤ P(-ϴ) ├┤ RZ(π/2) ├┤ RX(π/2) ├┤ RZ(π/2) ├┤ RX(ϴ) ├»
     └───┘└──────┘└───┘└───────┘└─────────┘└─────────┘└─────────┘└───────┘»
«     ┌──────────┐
«q_0: ┤0         ├─────────────────────────────────
«     │  RZX(-ϴ) │┌─────────┐┌─────────┐┌─────────┐
«q_1: ┤1         ├┤ RZ(π/2) ├┤ RX(π/2) ├┤ RZ(π/2) ├
«     └──────────┘└─────────┘└─────────┘└─────────┘

Parâmetros

theta (ParameterExpression |float | None)

rzx_zz3

qiskit.circuit.library.rzx_zz3(theta=None)

GitHub

Modelo baseado em RZX para CX - RZGate - CX.

                                                                            »
q_0: ──■─────────────■──────────────────────────────────────────────────────»
     ┌─┴─┐┌───────┐┌─┴─┐┌────────┐┌─────────┐┌─────────┐┌─────────┐┌───────┐»
q_1: ┤ X ├┤ RZ(ϴ) ├┤ X ├┤ RZ(-ϴ) ├┤ RZ(π/2) ├┤ RX(π/2) ├┤ RZ(π/2) ├┤ RX(ϴ) ├»
     └───┘└───────┘└───┘└────────┘└─────────┘└─────────┘└─────────┘└───────┘»
«     ┌──────────┐
«q_0: ┤0         ├─────────────────────────────────
«     │  RZX(-ϴ) │┌─────────┐┌─────────┐┌─────────┐
«q_1: ┤1         ├┤ RZ(π/2) ├┤ RX(π/2) ├┤ RZ(π/2) ├
«     └──────────┘└─────────┘└─────────┘└─────────┘

Parâmetros

theta (ParameterExpression |float | None)

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.