Skip to main content
IBM Quantum Platform

Parâmetro

class qiskit.circuit.Parameter(name, uuid=None)

Bases: ParameterExpression

Um parâmetro simbólico em tempo de compilação.

O valor de um Parameter deve ser totalmente determinado antes do início da execução de um circuito. Normalmente, isso significa que você deve fornecer valores para todos os Parameters em um circuito usando QuantumCircuit.assign_parameters()embora alguns fornecedores de hardware possam permitir que você forneça a eles um circuito em termos desses parâmetros, desde que você também passe os valores separadamente.

Esse é o átomo de ParameterExpressione é, por si só, uma expressão. O valor numérico de um parâmetro não precisa ser fixado enquanto o circuito estiver sendo definido.

Exemplos

Construa uma porta X de rotação variável usando os parâmetros do circuito.

from qiskit.circuit import QuantumCircuit, Parameter

# create the parameter
phi = Parameter("phi")
qc = QuantumCircuit(1)

# parameterize the rotation
qc.rx(phi, 0)
qc.draw("mpl")

# bind the parameters after circuit to create a bound circuit
bc = qc.assign_parameters({phi: 3.14})
bc.measure_all()
bc.draw("mpl")
Diagrama de circuito gerado pelo código anterior.Diagrama de circuito gerado pelo código anterior.

Atributos

name

Retorna o nome do arquivo Parameter.

num_parameters

O número de parâmetros não vinculados na expressão.

Isso é equivalente a, len(expr.parameters) mas não envolve a sobrecarga de criar um conjunto e contar seu comprimento.

parameters

Obtém os parâmetros presentes na expressão.

Nota

O Qiskit garante a igualdade (via ==) dos parâmetros recuperados de uma expressão com os objetos Parameter originais usados para criar essa expressão, mas não garante que as comparações is sejam bem-sucedidas.

uuid

Retorna o UUID do Parameter.

Em casos de uso avançado, essa propriedade pode ser passada para o construtor Parameter para produzir uma instância que seja comparada a outra instância.


Métodos

abs

abs()

Pegue o valor absoluto da expressão.

arccos

arccos()

Arccosine da expressão.

arcsin

arcsin()

Arcsine da expressão.

arctan

arctan()

Arctangente da expressão.

assign

assign(parameter, value)

Atribuir um parâmetro a um valor, que pode ser numérico ou outra expressão de parâmetro.

Parâmetros

  • parâmetro - Um parâmetro nessa expressão cujo valor será atualizado.
  • value - O novo valor a ser vinculado.

Retorna

Uma nova expressão parametrizada por quaisquer parâmetros que não tenham sido vinculados por atribuição.

bind

bind(parameter_values, allow_unknown_parameters=False)

Vincula o conjunto de parâmetros fornecido a seus valores correspondentes.

Parâmetros

  • parâmetros_valores – Mapeamento de Parameter instâncias ao valor numérico ao qual serão vinculadas.
  • allow_unknown_parameters - Se False, gera um erro se parameter_values contiver Parameters nas chaves fora daquelas presentes na expressão. Se True, esses parâmetros são simplesmente ignorados.

Aumentos

  • CircuitError

    • Se o parâmetro_values contiver parâmetros que não estejam em self. - Se um valor não numérico for passado em parameter_values.
  • ZeroDivisionError

    • Se a vinculação dos valores fornecidos exigir a divisão por zero.

Retorna

Uma nova expressão parametrizada por quaisquer parâmetros que não tenham sido vinculados por parameter_values.

bind_all

bind_all(values)

Vincular todos os parâmetros em self a valores numéricos no dicionário, retornando um valor numérico.

Esse é um caso especial de bind() que pode alcançar um desempenho superior. Não há problema em o dicionário values conter parâmetros que não são usados nessa expressão; a expectativa é que o mesmo dicionário de vínculos seja alimentado também em outras expressões.

É um erro chamar esse método com um dicionário values que não vincula todos os valores ou chamar esse método com valores não numéricos, mas isso não é verificado explicitamente, já que esse método se destina ao uso sensível ao desempenho. A transmissão de um dicionário incorreto pode resultar em um comportamento inesperado.

Diferente de bind()esse método não gerará uma exceção se forem encontrados valores de ponto flutuante não finitos.

Parâmetros

values - mapeamento de parâmetros para valores numéricos.

conjugate

conjugate()

Retorna o conjugado complexo da expressão.

cos

cos()

Cosseno da expressão.

exp

exp()

Exponencie a expressão.

gradient

gradient(param)

Retorna a derivada dessa expressão com relação ao parâmetro de entrada.

Parâmetros

param - O parâmetro com relação ao qual a derivada é calculada.

Retorna

A derivada como um valor numérico constante ou um valor simbólico ParameterExpression.

is_real

is_real()

Verifique se a expressão representa um número real.

Observe que isso retornará None se houver parâmetros não vinculados e, nesse caso, não será possível determinar se a expressão é real.

is_symbol

is_symbol()

Verifica se a expressão corresponde a um símbolo simples.

Retorna

True se essa expressão corresponder a um símbolo, False caso contrário.

log

log()

Use o logaritmo natural da expressão.

numeric

numeric(strict=True)

Converta essa expressão em um valor numérico.

Parâmetros

strict - se True (padrão), essa função emitirá um erro se houver algum símbolo não vinculado na expressão. Se False, isso permite a conversão se a expressão representar um valor numérico, independentemente dos símbolos não vinculados. Por exemplo, (0 * Parameter("x")) é 0, mas tem o símbolo x presente.

sign

sign()

Retorna o sinal da expressão.

sin

sin()

Seno da expressão.

subs

subs(parameter_map, allow_unknown_parameters=False)

Retorna uma nova expressão com parâmetros de substituição.

Parâmetros

  • parameter_map - Mapeamento de Parameters em self para as instâncias ParameterExpression instâncias com as quais elas devem ser substituídas.
  • allow_unknown_parameters - Se False, gera um erro se parameter_map contiver Parameters nas chaves fora daquelas presentes na expressão. Se True, esses parâmetros são simplesmente ignorados.

Aumentos

CircuitError

  • Se parameter_map contiver parâmetros fora daqueles em self. - Se os parâmetros de substituição em parameter_map resultariam em um conflito de nomes na expressão gerada.

Retorna

Uma nova expressão com os parâmetros especificados substituídos.

sympify

sympify()

Retorna um SymPy equivalente a essa expressão.

Retorna

Um SymPy equivalente a essa expressão.

tan

tan()

Tangente da expressão.

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