ScalarOp
class qiskit.quantum_info.ScalarOp(dims=None, coeff=1)
Bases: LinearOp
Classe de operador de identidade escalar.
Esta é uma representação simbólica de um operador de identidade escalar em vários subsistemas. Ele pode ser usado para inicializar uma multiplicação escalar simbólica de uma identidade e, em seguida, ser convertido implicitamente em outros tipos de subclasses de operadores por meio dos métodos compose(), dot()expand() , tensor(),.
Inicializa um objeto operador.
Parâmetros
- dims (int ortuple) – dimensões do subsistema.
- coeff (Number) – coeficiente escalar do operador de identidade (Padrão: 1).
Aumentos
QiskitError - Se o coeficiente opcional for inválido.
Atributos
atol
Valor Padrão: 1e-08
coeff
Retorna o coeficiente
dim
Retorna uma tupla (input_shape, output_shape).
num_qubits
Retorna o número de qubits se for um operador N-qubit ou None caso contrário.
qargs
Retorna os qargs do operador.
rtol
Valor Padrão: 1e-05
Métodos
adjoint
compose
compose(other, qargs=None, front=False)
Retorna a composição do operador com outro ScalarOp.
Parâmetros
- other (ScalarOp) – um objeto ScalarOp.
- qargs (list or None) – uma lista de posições do subsistema às quais aplicar outras. Se None for aplicado a todos os subsistemas (padrão: None).
- front (bool) – Se True, compor usando o operador multiplicação à direita, em vez de multiplicação à esquerda [, padrão: False].
Retorna
O composto ScalarOp.
Tipo de retorno
Aumentos
QiskitError - se outro não puder ser convertido em um operador ou tiver dimensões incompatíveis para os subsistemas especificados.
Por padrão, a composição (&) é definida como multiplicação de matriz à esquerda para operadores de matriz, enquanto @ (equivalente a dot()) é definida como multiplicação de matriz à direita. Ou seja, A & B == A.compose(B) é equivalente a B @ A == B.dot(A) quando A e B são do mesmo tipo.
A configuração do kwarg front=True muda isso para multiplicação de matriz à direita e é equivalente ao método dot() método A.dot(B) == A.compose(B, front=True).
conjugate
copy
dot
dot(other, qargs=None)
Retorna o operador multiplicado à direita self * other.
Parâmetros
- other (Operator) – um objeto operador.
- qargs (list or None) – uma lista de posições do subsistema às quais aplicar outras. Se None for aplicado a todos os subsistemas (padrão: None).
Retorna
A matriz correta multiplicou o Operator.
Tipo de retorno
O produto escalar pode ser obtido usando o operador binário @ . Portanto, a.dot(b) é equivalente a a @ b.
expand
expand(other)
Retorna o produto tensorial de ordem inversa com outro ScalarOp.
Parâmetros
other (ScalarOp) – um objeto ScalarOp.
Retorna
o produto tensorial , onde
é o atual ScalarOp, e é o outro ScalarOp.
Tipo de retorno
input_dims
input_dims(qargs=None)
Retorna uma tupla de dimensão de entrada para os subsistemas especificados.
is_unitary
output_dims
output_dims(qargs=None)
Retorna uma tupla de dimensão de saída para os subsistemas especificados.
power
power(n)
Retornar a potência do ScalarOp.
Parâmetros
n (float) – o expoente para o escalar op.
Retorna
o coeff ** n ScalarOp.
Tipo de retorno
reshape
reshape(input_dims=None, output_dims=None, num_qubits=None)
Retorna uma cópia superficial com dimensões reformuladas do subsistema de entrada e saída.
Parâmetros
- input_dims (None or tuple) – novas dimensões de entrada do subsistema. Se for None (Nenhum), os dims de entrada originais serão preservados [Padrão: Nenhum].
- output_dims (None or tuple) – novas dimensões de saída do subsistema. Se for None (Nenhum), os dims de saída originais serão preservados [Padrão: Nenhum].
- num_qubits (None or int) – remodelar para um operador N-qubit [Padrão: Nenhum].
Retorna
retorna self com dimensões de entrada e saída remodeladas.
Tipo de retorno
BaseOperator
Aumentos
QiskitError - se o tamanho combinado de todas as dimensões de entrada do subsistema ou de saída do subsistema não for constante.
tensor
tensor(other)
Retorna o produto tensorial com outro ScalarOp.
Parâmetros
other (ScalarOp) – um objeto ScalarOp.
Retorna
o produto tensorial , onde
é o atual ScalarOp, e é o outro ScalarOp.
Tipo de retorno
O produto tensor pode ser obtido usando o operador binário ^ . Portanto, a.tensor(b) é equivalente a a ^ b.