Skip to main content
IBM Quantum Platform

verificações de inversão de bits

qiskit_addon_utils.noise_management.bit_flip_checks

Funções e classes para pós-seleção por meio de verificações de inversão de bits no circuito.

PostSelectionSummary

class PostSelectionSummary(primary_cregs, measure_map, edges, *, measure_map_ps=None, measure_map_pre=None, post_check_suffix='_ps', pre_check_suffix='_pre', spectator_cregs=None)

GitHub

Bases: object

Uma classe auxiliar para armazenar as propriedades de um circuito quântico necessárias para a pós-seleção com base em verificações de inversão de bits.

Inicialize um PostSelectionSummary objeto.

Parâmetros

  • primary_cregs (set[str]) – Os nomes dos registros clássicos “primários”, ou seja, aqueles que não terminam com os sufixos de verificação pré e pós-circuito.
  • measure_map (dict[int, tuple[str, int]]) – Uma correspondência entre os índices dos qubits no registro e os clbits que definem de forma única uma medição nesses qubits (medições primárias).
  • edges (set[frozenset[int]]) – Uma lista de tuplas que definem pares de qubits vizinhos.
  • measure_map_ps (dict[int, tuple[str, int]] | None) – Um mapa opcional para medições de verificação pós-circuito.
  • measure_map_pre (dict[int, tuple[str, int]] | None) – Um mapa opcional para medições de verificação pré-circuito.
  • post_check_suffix (str) – O sufixo dos registros de verificação pós-circuito.
  • pre_check_suffix (str) – O sufixo dos registros de verificação pré-circuito.
  • spectator_cregs (set[str] | None) – Nomes dos registros primários que contêm as medições dos espectadores (a primeira metade da verificação de paridade dos espectadores gerada por AddSpectatorPostCircuitBitFlipChecks).

edges

Tipo: set[frozenset[int]]

Um conjunto de arestas a ser considerado para a pós-seleção baseada em arestas.

from_circuit

classmethod from_circuit(circuit, coupling_map, *, post_check_suffix='_ps', pre_check_suffix='_pre', spectator_cregs=None)

GitHub

Inicializar a partir de circuitos quânticos.

Parâmetros

  • circuit (QuantumCircuit) – O circuito que contém verificações de inversão de bits...
  • coupling_map (CouplingMap |list[tuple[int, int]]) – Um mapa de acoplamento ou uma lista de tuplas indicando pares de qubits vizinhos.
  • post_check_suffix (str) – Um sufixo fixo para registros clássicos de verificação pós-circuito.
  • pre_check_suffix (str) – Um sufixo fixo para registros clássicos de verificação pré-circuito.
  • spectator_cregs (set[str] | list[str] | None) – Nomes dos registros principais que contêm as medições dos espectadores. O valor padrão é ["spec"], correspondendo ao nome padrão usado por AddSpectatorPostCircuitBitFlipChecks.

Tipo de retorno

PostSelectionSummary

measure_map

Tipo: dict[int, tuple[str, int]]

Uma correspondência entre os índices dos qubits e os índices dos registros e clbits utilizados para medir esses qubits.

measure_map_pre

Tipo: dict[int, tuple[str, int]]

Um mapa dos índices de qubits para os índices de registros e clbits, destinado às medições de verificação pré-circuito.

measure_map_ps

Tipo: dict[int, tuple[str, int]]

Um mapa dos índices de qubits para os índices de registros e clbits, destinado às medições de verificação pós-circuito.

post_check_suffix

Tipo: str

O sufixo dos registros de verificação pós-circuito.

pre_check_suffix

Tipo: str

O sufixo dos registros de verificação pré-circuito.

primary_cregs

Tipo: set[str]

Os nomes dos principais registros clássicos.

spectator_cregs

Tipo: set[str]

Subconjunto de primary_cregs que contêm medições dos espectadores.

Use primary_cregs - spectator_cregs para obter os registros primários apenas de dados, por exemplo, ao calcular observáveis a partir de disparos filtrados.

PostSelector

class PostSelector(summary)

GitHub

Bases: object

Uma classe para processar os resultados das verificações de inversão de bits.

Inicialize um PostSelector objeto.

Parâmetros

summary (PostSelectionSummary) – Um resumo do circuito que contém verificações de inversão de bits.

compute_mask

compute_mask(result, strategy=PostSelectionStrategy.NODE, *, mode='post')

GitHub

Calcular máscaras booleanas que indiquem quais tomadas devem ser mantidas ou descartadas.

Por definição, a máscara retornada tem a mesma forma que os vetores no resultado, mas com uma dimensão a menos (o último eixo de cada vetor, referente aos clbits, não está presente na máscara).

Parâmetros

  • result (dict[str, ndarray[tuple[int, ...], dtype[bool]]]) – O resultado a ser submetido ao pós-processamento. Deve ser um dicionário que mapeia nomes de registros para matrizes booleanas.
  • strategy (Literal['node', 'edge'] | ~qiskit_addon_utils.noise_management.bit_flip_checks.post_selector.PostSelectionStrategy) – A estratégia de pós-seleção (“nó” ou “aresta”).
  • mode (Literal['post', 'pre', 'both']) – Que tipo de pós-seleção aplicar: - “post”: Aplicar apenas verificações pós-circuito - “pre”: Aplicar apenas verificações pré-circuito - “both”: Aplicar tanto a verificação pré quanto a pós-circuito

Retorna

Uma máscara booleana em que “True” indica as imagens a serem mantidas e “False” indica as imagens a serem descartadas.

Aumentos

ValueError – Se o modo solicitado não estiver disponível (por exemplo, não há medições de pré-verificação no circuito, mas foi solicitado o modo=”pre”).

Tipo de retorno

ndarray [ tupla [ int, …], dtype [ bool ]]

from_circuit

classmethod from_circuit(circuit, coupling_map, *, post_check_suffix='_ps', pre_check_suffix='_pre', spectator_cregs=None)

GitHub

Inicializar a partir de um circuito quântico.

Parâmetros

  • circuit (QuantumCircuit) – O circuito que contém verificações de inversão de bits.
  • coupling_map (CouplingMap |list[tuple[int, int]]) – Um mapa de acoplamento ou uma lista de tuplas indicando pares de qubits vizinhos.
  • post_check_suffix (str) – Um sufixo fixo para registros clássicos associado a verificações pós-circuito.
  • pre_check_suffix (str) – Um sufixo fixo para registros clássicos associado a verificações pré-circuito.
  • spectator_cregs (set[str] | list[str] | None) – Nomes dos registros que contêm as medições dos espectadores (a primeira metade da verificação de paridade dos espectadores gerada por AddSpectatorPostCircuitBitFlipChecks). O valor padrão é ["spec"] para corresponder a AddSpectatorPostCircuitBitFlipChecks.

Tipo de retorno

PostSelector

summary

Tipo: PostSelectionSummary

Um resumo do circuito que contém verificações de inversão de bits.

PostSelectionStrategy

class PostSelectionStrategy(value)

GitHub

Bases: str, Enum

As estratégias de pós-seleção suportadas.

BORDA

Valor padrão: 'edge'

Descartar todas as tentativas em que haja um par de qubits vizinhos para os quais ambas as verificações falhem.

NODE

Valor padrão: 'node'

Descarte todas as jogadas em que uma ou mais verificações falharem.

capitalize

capitalize()

Retorna uma versão da string com as letras maiúsculas.

Mais especificamente, faça com que a primeira letra seja maiúscula e as demais, minúsculas.

casefold

casefold()

Retorna uma versão da string adequada para comparações que não levam em conta maiúsculas e minúsculas.

center

center(width, fillchar=' ', /)

Retorna uma string centralizada com comprimento width.

O preenchimento é feito usando o caractere de preenchimento especificado (o padrão é um espaço).

count

count(sub[, start[, end]]) → int

Retorna o número de ocorrências não sobrepostas da subcadeia sub na cadeia [Sstart:end]. Os argumentos opcionais start e end são interpretados conforme a notação de fatia.

encode

encode(encoding='utf-8', errors='strict')

Codifique a string usando o codec registrado para codificação.

codificação

A codificação a ser utilizada para codificar a sequência de caracteres.

erros

O esquema de tratamento de erros a ser utilizado para erros de codificação. O valor padrão é “strict”, o que significa que erros de codificação geram uma exceção de “ UnicodeEncodeError ”. Outros valores possíveis são “ignore”, “replace” e “xmlcharrefreplace”, bem como qualquer outro nome registrado em codecs.register_error que seja compatível com UnicodeEncodeErrors.

endswith

endswith(suffix[, start[, end]]) → bool

Retorna True se S terminar com o sufixo especificado; caso contrário, retorna False. Com início opcional, execute o teste S a partir dessa posição. Com o final opcional, pare de comparar S nessa posição. O sufixo também pode ser uma tupla de cadeias de caracteres a serem testadas.

expandtabs

expandtabs(tabsize=8)

Retorna uma cópia na qual todos os caracteres de tabulação são substituídos por espaços.

Se o parâmetro tabsize não for especificado, presume-se um tamanho de tabulação de 8 caracteres.

find

find(sub[, start[, end]]) → int

Retorna o menor índice em S onde a subcadeia sub é encontrada, de modo que sub esteja contida no intervalo [Sstart:end]. Os argumentos opcionais start e end são interpretados conforme a notação de fatia.

Em caso de falha, retorne -1.

format

format(*args, **kwargs) → str

Retorna uma versão formatada de S, utilizando as substituições de args e kwargs. As substituições são identificadas por chaves (“ {’ and ‘} ”).

format_map

format_map(mapping) → str

Retorna uma versão formatada de S, utilizando as substituições do mapeamento. As substituições são identificadas por chaves (“ {’ and ‘} ”).

index

index(sub[, start[, end]]) → int

Retorna o menor índice em S onde a subcadeia sub é encontrada, de modo que sub esteja contida no intervalo [Sstart:end]. Os argumentos opcionais start e end são interpretados conforme a notação de fatia.

Gera uma exceção ValueError quando a subcadeia não é encontrada.

isalnum

isalnum()

Retorna True se a sequência for alfanumérica; caso contrário, retorna False.

Uma sequência é alfanumérica se todos os caracteres que a compõem forem alfanuméricos e se houver pelo menos um caractere na sequência.

isalpha

isalpha()

Retorna True se a string for alfabética; caso contrário, retorna False.

Uma sequência é alfabética se todos os caracteres que a compõem forem alfabéticos e se houver pelo menos um caractere na sequência.

isascii

isascii()

Retorna True se todos os caracteres da string forem ASCII; caso contrário, retorna False.

Os caracteres ASCII têm pontos de código no intervalo de U+0000-U+007F. Uma string vazia também é ASCII.

isdecimal

isdecimal()

Retorna True se a string for decimal; caso contrário, retorna False.

Uma sequência é considerada decimal se todos os caracteres que a compõem forem decimais e se houver pelo menos um caractere na sequência.

isdigit

isdigit()

Retorna True se a string for composta por dígitos; caso contrário, retorna False.

Uma sequência de caracteres é considerada uma sequência de dígitos se todos os caracteres que a compõem forem dígitos e se houver pelo menos um caractere na sequência.

isidentifier

isidentifier()

Retorna True se a string for um identificador válido do Python; caso contrário, retorna False.

Chame a função keyword.iskeyword (s) para verificar se a string s é um identificador reservado, como “def” ou “class”.

islower

islower()

Retorna True se a string estiver toda em letras minúsculas; caso contrário, retorna False.

Uma sequência de caracteres é considerada em letras minúsculas se todos os caracteres com distinção de maiúsculas e minúsculas na sequência estiverem em letras minúsculas e houver pelo menos um caractere com distinção de maiúsculas e minúsculas na sequência.

isnumeric

isnumeric()

Retorna True se a string for numérica; caso contrário, retorna False.

Uma sequência de caracteres é numérica se todos os caracteres que a compõem forem numéricos e se houver pelo menos um caractere na sequência.

isprintable

isprintable()

Retorna True se a string for imprimível; caso contrário, retorna False.

Uma string é imprimível se todos os seus caracteres forem considerados imprimíveis na função repr() ou se ela estiver vazia.

isspace

isspace()

Retorna True se a string for composta apenas por espaços em branco; caso contrário, retorna False.

Uma sequência de caracteres é considerada composta por espaços em branco se todos os caracteres da sequência forem espaços em branco e houver pelo menos um caractere na sequência.

istitle

istitle()

Retorna True se a string estiver com as letras iniciais maiúsculas; caso contrário, retorna False.

Em uma sequência de caracteres com letras maiúsculas e minúsculas alternadas, os caracteres maiúsculos e os que estão em maiúsculas alternadas só podem vir após caracteres sem distinção entre maiúsculas e minúsculas, e os caracteres minúsculos só podem vir após caracteres com distinção entre maiúsculas e minúsculas.

isupper

isupper()

Retorna True se a string estiver toda em maiúsculas; caso contrário, retorna False.

Uma sequência de caracteres é considerada em maiúsculas se todos os caracteres com distinção de maiúsculas e minúsculas na sequência estiverem em maiúsculas e houver pelo menos um caractere com distinção de maiúsculas e minúsculas na sequência.

join

join(iterable, /)

Concatene qualquer número de sequências de caracteres.

A sequência cujo método é chamado é inserida entre cada uma das sequências fornecidas. O resultado é retornado como uma nova string.

Exemplo: ‘.’.join( [‘ab’, ‘pq’, ‘rs’] ) -> ‘ ab.pq.rs ’

ljust

ljust(width, fillchar=' ', /)

Retorna uma string alinhada à esquerda com comprimento width.

O preenchimento é feito usando o caractere de preenchimento especificado (o padrão é um espaço).

lower

lower()

Retorna uma cópia da string convertida para letras minúsculas.

lstrip

lstrip(chars=None, /)

Retorna uma cópia da string com os espaços em branco no início removidos.

Se chars for fornecido e não for None, remova os caracteres contidos em chars.

maketrans

static maketrans()

Retorna uma tabela de tradução que pode ser usada pela função str.translate ().

Se houver apenas um argumento, ele deve ser um dicionário que mapeie ordinais Unicode (números inteiros) ou caracteres para ordinais Unicode, strings ou None. As chaves de caracteres serão, então, convertidas em ordinais. Se houver dois argumentos, eles devem ser cadeias de caracteres de comprimento igual; no dicionário resultante, cada caractere em x será mapeado para o caractere na mesma posição em y. Se houver um terceiro argumento, ele deverá ser uma string, cujos caracteres serão mapeados para None no resultado.

partition

partition(sep, /)

Divida a sequência em três partes usando o separador fornecido.

Isso irá procurar o separador na sequência de caracteres. Se o separador for encontrado, retorna uma tupla de três elementos contendo a parte anterior ao separador, o próprio separador e a parte posterior a ele.

Se o separador não for encontrado, retorna uma tupla de três elementos contendo a string original e duas strings vazias.

removeprefix

removeprefix(prefix, /)

Retorna uma string com a string de prefixo fornecida removida, caso ela exista.

Se a string começar com a string prefixo, retorne [stringlen(prefixo):]. Caso contrário, retorne uma cópia da string original.

removesuffix

removesuffix(suffix, /)

Retorna uma string com a sequência de caracteres de sufixo fornecida removida, caso exista.

Se a string terminar com a string sufixo e esse sufixo não estiver vazio, retorne string [:- len(sufixo)]. Caso contrário, retorne uma cópia da string original.

replace

replace(old, new, count=-1, /)

Retorna uma cópia em que todas as ocorrências da subcadeia “old” foram substituídas por “new”.

count

Número máximo de ocorrências a serem substituídas. “ -1 ” (valor padrão) significa substituir todas as ocorrências.

Se o argumento opcional count for fornecido, apenas as primeiras count ocorrências serão substituídas.

rfind

rfind(sub[, start[, end]]) → int

Retorna o índice mais alto em S onde a subcadeia sub é encontrada, desde que sub esteja contida no intervalo [Sstart:end]. Os argumentos opcionais start e end são interpretados conforme a notação de fatia.

Em caso de falha, retorne -1.

rindex

rindex(sub[, start[, end]]) → int

Retorna o índice mais alto em S onde a subcadeia sub é encontrada, desde que sub esteja contida no intervalo [Sstart:end]. Os argumentos opcionais start e end são interpretados conforme a notação de fatia.

Gera uma exceção ValueError quando a subcadeia não é encontrada.

rjust

rjust(width, fillchar=' ', /)

Retorna uma string alinhada à direita com comprimento width.

O preenchimento é feito usando o caractere de preenchimento especificado (o padrão é um espaço).

rpartition

rpartition(sep, /)

Divida a sequência em três partes usando o separador fornecido.

Isso procurará o separador na sequência de caracteres, começando pelo final. Se o separador for encontrado, retorna uma tupla de três elementos contendo a parte anterior ao separador, o próprio separador e a parte posterior a ele.

Se o separador não for encontrado, retorna uma tupla de três elementos contendo duas cadeias de caracteres vazias e a cadeia de caracteres original.

rsplit

rsplit(sep=None, maxsplit=-1)

Retorna uma lista das subcadeias presentes na cadeia de caracteres, utilizando sep como cadeia separadora.

Setembro

O separador usado para dividir a sequência de caracteres.

Quando definido como “Nenhum” (valor padrão), a divisão será feita em qualquer caractere de espaço em branco (incluindo \n, \r, \t, \f e espaços) e as cadeias de caracteres vazias serão descartadas do resultado.

maxsplit

Número máximo de divisões (começando pela esquerda). “ -1 ” (valor padrão) significa que não há limite.

A divisão começa no final da sequência e avança em direção ao início.

rstrip

rstrip(chars=None, /)

Retorna uma cópia da string com os espaços em branco à direita removidos.

Se chars for fornecido e não for None, remova os caracteres contidos em chars.

split

split(sep=None, maxsplit=-1)

Retorna uma lista das subcadeias presentes na cadeia de caracteres, utilizando sep como cadeia separadora.

Setembro

O separador usado para dividir a sequência de caracteres.

Quando definido como “Nenhum” (valor padrão), a divisão será feita em qualquer caractere de espaço em branco (incluindo \n, \r, \t, \f e espaços) e as cadeias de caracteres vazias serão descartadas do resultado.

maxsplit

Número máximo de divisões (começando pela esquerda). “ -1 ” (valor padrão) significa que não há limite.

Observe que a função str.split () é útil principalmente para dados que foram delimitados intencionalmente. No caso de textos naturais que incluem sinais de pontuação, considere usar o módulo de expressões regulares.

splitlines

splitlines(keepends=False)

Retorna uma lista das linhas contidas na string, separando-as nos limites das linhas.

As quebras de linha não são incluídas na lista resultante, a menos que a opção keepends seja especificada e tenha o valor true.

startswith

startswith(prefix[, start[, end]]) → bool

Retorna True se S começar com o prefixo especificado; caso contrário, retorna False. Com início opcional, execute o teste S a partir dessa posição. Com o final opcional, pare de comparar S nessa posição. O prefixo também pode ser uma tupla de cadeias de caracteres a serem testadas.

strip

strip(chars=None, /)

Retorna uma cópia da string com os espaços em branco no início e no final removidos.

Se chars for fornecido e não for None, remova os caracteres contidos em chars.

swapcase

swapcase()

Converta as letras maiúsculas em minúsculas e as letras minúsculas em maiúsculas.

title

title()

Retorna uma versão da string em que cada palavra tenha a primeira letra maiúscula.

Mais especificamente, as palavras começam com letras maiúsculas e todas as demais letras são minúsculas.

translate

translate(table, /)

Substitua cada caractere da sequência de caracteres usando a tabela de tradução fornecida.

TABLE

Tabela de tradução, que deve ser um mapeamento de ordinais Unicode para ordinais Unicode, strings ou None.

A tabela deve implementar a consulta/indexação por meio de __getitem__, por exemplo, um dicionário ou uma lista. Se essa operação gerar um LookupError,, o caractere permanecerá inalterado. Os caracteres mapeados para “None” são excluídos.

upper

upper()

Retorna uma cópia da string convertida para maiúsculas.

zfill

zfill(width, /)

Preencha uma sequência numérica com zeros à esquerda, para preencher um campo com a largura especificada.

A sequência de caracteres nunca é truncada.

XSlowGate

class XSlowGate(label='xslow', xslow_gate_name='xslow')

GitHub

Bases: Gate

A porta x-slow.

Parâmetros

  • nome – O nome do portão.
  • num_qubits – O número de qubits sobre os quais a porta atua.
  • params – Uma lista de parâmetros.
  • label (str) – Uma etiqueta opcional para o portão.
  • xslow_gate_name (str)

add_decomposition

add_decomposition(decomposition)

Adicione uma decomposição da instrução à página “ SessionEquivalenceLibrary ”.

base_class

Tipo: type[Instruction]

Obter a classe base desta instrução. Isso certamente estará na árvore de herança de self.

A “classe base” de uma instrução é a classe mais baixa em sua árvore de herança com a qual o objeto deve ser considerado totalmente compatível para _todas_ as aplicações de circuito. Isso geralmente significa que a subclasse é definida exclusivamente para oferecer algum tipo de conveniência ao programador em relação à classe base, e que a classe base é a “verdadeira” classe do ponto de vista comportamental. Em particular, você não deve sobrescrever base_class se estiver definindo uma versão personalizada de uma instrução que será implementada de maneira diferente pelo hardware, como uma estratégia alternativa de medição ou uma versão de uma porta parametrizada com um conjunto específico de parâmetros, com o objetivo de diferenciá-la em um Target da porta parametrizada completa.

Isso costuma ser exatamente equivalente a type(obj), exceto no caso de instâncias únicas de instruções da biblioteca padrão. Essas instâncias singleton são subclasses especiais de sua classe base, e essa propriedade retornará essa classe base. Por exemplo:

>>> isinstance(XGate(), XGate)
True
>>> type(XGate()) is XGate
False
>>> XGate().base_class is XGate
True

Em geral, não se deve confiar na classe exata de uma instrução; dentro de um determinado circuito, espera-se que Instruction.name seja um discriminador mais adequado na maioria das situações.

broadcast_arguments

broadcast_arguments(qargs, cargs)

Validação e tratamento dos argumentos e sua relação.

Por exemplo, cx([q[0],q[1]], q[2]) significa cx(q[0], q[2]); cx(q[1], q[2]). Esse método apresenta os argumentos no agrupamento correto. No exemplo apresentado:

in: [[q[0],q[1]], q[2]],[]
outs: [q[0], q[2]], []
      [q[1], q[2]], []

As regras gerais de transmissão são:

  • Se len(qargs) == 1:

    [q[0], q[1]] -> [q[0]],[q[1]]
  • Se len(qargs) == 2:

    [[q[0], q[1]], [r[0], r[1]]] -> [q[0], r[0]], [q[1], r[1]]
    [[q[0]], [r[0], r[1]]]       -> [q[0], r[0]], [q[0], r[1]]
    [[q[0], q[1]], [r[0]]]       -> [q[0], r[0]], [q[1], r[0]]
  • Se len(qargs) >= 3:

    [q[0], q[1]], [r[0], r[1]],  ...] -> [q[0], r[0], ...], [q[1], r[1], ...]

Parâmetros

  • qargs (list) – Lista de argumentos relacionados a bits quânticos.
  • cargs (list) – Lista de argumentos clássicos de bits.

Retorna

Uma tupla com um único argumento.

Aumentos

CircuitError – Se a entrada não for válida. Por exemplo, o número de argumentos não corresponde ao esperado pela porta lógica.

Tipo de retorno

Iterável [ tupla [ lista, lista ]]

control

control(num_ctrl_qubits=1, label=None, ctrl_state=None, annotated=None)

Retorna a versão controlada de si mesmo.

A porta controlada é implementada como ControlledGate quando annotated é False, e como AnnotatedOperation quando annotated é True.

Obsoleto desde a versão 2.3

qiskit.circuit.gate.Gate.control()O argumento annotated está obsoleto a partir do Qiskit 2.3. Ele será removido no Qiskit 3.0. O método Gate.control () não aceita mais annotated=None. O novo valor padrão é annotated=True, o que representa o portão controlado como um AnnotatedOperation (a menos que já exista uma classe dedicada para portões controlados). Você pode definir explicitamente annotated=False para manter o comportamento anterior. No entanto, recomenda-se o uso de annotated=True, pois isso transfere a construção do circuito controlado para o transpiler e, além disso, permite otimizações adicionais de portas controladas (o que normalmente resulta em circuitos de melhor qualidade).

Parâmetros

  • num_ctrl_qubits (int) – Número de controles a serem adicionados. Padroniza para 1.
  • label (str | None) – Etiqueta opcional para o portão. Padroniza para None. É ignorado se o portão controlado for implementado como uma operação anotada.
  • ctrl_state (int |str | None) – O estado de controle da porta, especificado como um número inteiro ou uma sequência de bits (por exemplo, "110"). 2**num_ctrl_qubits - 1Se None, o valor padrão é o estado em que todos os bits são 1.
  • annotated (bool | None) – Indica se a porta controlada deve ser implementada como uma porta controlada ou como uma operação anotada. Se None, considerado como False.

Retorna

Uma versão controlada dessa porta.

Aumentos

QiskitError – inválido num_ctrl_qubits ou ctrl_state.

copy

copy(name=None)

Cópia da instrução.

Parâmetros

name (str) – nome a ser atribuído ao circuito copiado; caso None contrário, o nome permanece o mesmo.

Retorna

uma cópia da instrução atual, com o nome atualizado, caso tenha sido fornecido

Tipo de retorno

qiskit.circuit.Instruction

decompositions

Obtenha as decomposições da instrução no site SessionEquivalenceLibrary.

definition

Defina o retorno em termos de outras portas lógicas básicas.

inverse

inverse(annotated=False)

Inverta esta instrução.

Se annotated for False, a instrução inversa é implementada como uma nova instrução com a definição invertida recursivamente.

Se annotated for True, a instrução inversa é implementada como AnnotatedOperation, e corresponde à instrução fornecida, anotada com o “modificador inverso”.

As instruções especiais que herdam da classe Instruction podem implementar sua própria inversa (por exemplo, T e Tdg, Barrier, etc.) Em particular, eles podem escolher como lidar com o argumento annotated , o que pode incluir ignorá-lo e sempre retornar uma classe de porta concreta caso a inversa seja definida como uma porta padrão.

Parâmetros

annotated (bool) – Se definido como True, a porta inversa de saída será retornada como AnnotatedOperation.

Retorna

A operação inversa.

Aumentos

CircuitError – se a instrução não for composta e ainda não tiver sido implementada uma inversa para ela.

is_parameterized

is_parameterized()

Retorna se o Instruction contém parâmetros de tempo de compilação.

label

Tipo: str

Etiqueta com instruções de devolução

mutable

Tipo: bool

Esta instância é uma instância única mutável ou não?

Se esse atributo estiver False definido, a instância da porta é um singleton compartilhado e não é mutável.

name

Retorne o nome.

num_clbits

Retorna o número de clbits.

num_qubits

Retorna o número de qubits.

params

Os parâmetros deste Instruction. O ideal é que sejam ângulos de porta.

power

power(exponent, annotated=False)

Eleve esse portão à potência de exponent.

Implementado como um portão unitário (ref. UnitaryGate) ou como uma operação anotada (ref. AnnotatedOperation). No caso de várias portas padrão, como, RXGate por exemplo, quando a potência de uma porta pode ser expressa em termos de outra porta padrão que é retornada diretamente.

Parâmetros

  • exponent (float) – a capacidade de levantar o portão para
  • annotated (bool) – indica se a porta de potência pode ser implementada como uma operação anotada. No caso de várias portas padrão, como, RXGate por exemplo, esse argumento é ignorado quando a potência de uma porta pode ser expressa em termos de outra porta padrão.

Retorna

Uma operação que implementa gate^exponent

Aumentos

CircuitError – Se a porta não for unitária

repeat

repeat(n)

self Cria uma instrução repetida nn vezes.

Parâmetros

n (int) – Número de vezes que a instrução deve ser repetida

Retorna

Que contém a definição.

Tipo de retorno

qiskit.circuit.Instruction

Aumentos

CircuitError – Se n < 1.

reverse_ops

reverse_ops()

Para uma instrução composta, inverta a ordem das subinstruções.

Isso é feito invertendo recursivamente todas as subinstruções. Ele não inverte nenhuma porta lógica.

Retorna

uma nova instrução com

subinstruções invertidas.

Tipo de retorno

qiskit.circuit.Instruction

soft_compare

soft_compare(other)

Comparação suave entre portas. Seus nomes, o número de qubits e o número de bits clássicos devem coincidir. O número de parâmetros deve coincidir. Cada parâmetro é comparado. Se alguém for um “ ParameterExpression ”, isso não é levado em consideração.

Parâmetros

other (instruction) – outra instrução.

Retorna

“self” e “other” são iguais nas expressões de parâmetros.

Tipo de retorno

bool

to_matrix

to_matrix()

Retorna um objeto Numpy.array correspondente à matriz unitária do gate.

Retorna

se a subclasse Gate tiver uma definição de matriz.

Tipo de retorno

np.ndarray

Aumentos

CircuitError – Se uma subclasse de Gate não implementar esse método, será lançada uma exceção quando esse método da classe base for chamado.

to_mutable

to_mutable()

Retorna uma cópia mutável deste gate.

Este método retornará uma nova cópia mutável desta instância de porta. Se estiver sendo utilizada uma instância singleton, esta será uma nova instância única que poderá ser alterada. Se a instância já for mutável, será criada uma cópia profunda dessa instância.

validate_parameter

validate_parameter(parameter)

Os parâmetros do gate devem ser do tipo int, float ou ParameterExpression

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