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")

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.
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
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
Parameterinstâncias ao valor numérico ao qual serão vinculadas. - allow_unknown_parameters - Se
False, gera um erro separameter_valuescontiverParameters nas chaves fora daquelas presentes na expressão. SeTrue, esses parâmetros são simplesmente ignorados.
Aumentos
-
- 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.
- Se o parâmetro_values contiver parâmetros que não estejam em self. - Se um valor não numérico for passado em
-
- 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 emselfpara as instânciasParameterExpressioninstâncias com as quais elas devem ser substituídas. - allow_unknown_parameters - Se
False, gera um erro separameter_mapcontiverParameters nas chaves fora daquelas presentes na expressão. SeTrue, esses parâmetros são simplesmente ignorados.
Aumentos
- Se parameter_map contiver parâmetros fora daqueles em self. - Se os parâmetros de substituição em
parameter_mapresultariam 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.