ScalarOp#

class qiskit.quantum_info.ScalarOp(dims=None, coeff=1)[código fonte]#

Bases: LinearOp

Scalar identity operator class.

This is a symbolic representation of an scalar identity operator on multiple subsystems. It may be used to initialize a symbolic scalar multiplication of an identity and then be implicitly converted to other kinds of operator subclasses by using the compose(), dot(), tensor(), expand() methods.

Initialize an operator object.

Parâmetros:
  • dims (int or tuple) – subsystem dimensions.

  • coeff (Number) – scalar coefficient for the identity operator (Default: 1).

Levanta:

QiskitError – If the optional coefficient is invalid.

Attributes

atol = 1e-08#
coeff#

Return the coefficient

dim#

Return tuple (input_shape, output_shape).

num_qubits#

Return the number of qubits if a N-qubit operator or None otherwise.

qargs#

Return the qargs for the operator.

rtol = 1e-05#

Methods

adjoint()#

Return the adjoint of the Operator.

Tipo de retorno:

Self

compose(other, qargs=None, front=False)[código fonte]#

Return the operator composition with another ScalarOp.

Parâmetros:
  • other (ScalarOp) – a ScalarOp object.

  • qargs (list or None) – Optional, a list of subsystem positions to apply other on. If None apply on all subsystems (default: None).

  • front (bool) – If True compose using right operator multiplication, instead of left multiplication [default: False].

Retorno:

The composed ScalarOp.

Tipo de retorno:

ScalarOp

Levanta:

QiskitError – if other cannot be converted to an operator, or has incompatible dimensions for specified subsystems.

Nota

Composition (&) by default is defined as left matrix multiplication for matrix operators, while @ (equivalent to dot()) is defined as right matrix multiplication. That is that A & B == A.compose(B) is equivalent to B @ A == B.dot(A) when A and B are of the same type.

Setting the front=True kwarg changes this to right matrix multiplication and is equivalent to the dot() method A.dot(B) == A.compose(B, front=True).

conjugate()[código fonte]#

Return the conjugate of the ScalarOp.

copy()#

Make a deep copy of current operator.

dot(other, qargs=None)#

Return the right multiplied operator self * other.

Parâmetros:
  • other (Operator) – an operator object.

  • qargs (list or None) – Optional, a list of subsystem positions to apply other on. If None apply on all subsystems (default: None).

Retorno:

The right matrix multiplied Operator.

Tipo de retorno:

Operator

Nota

The dot product can be obtained using the @ binary operator. Hence a.dot(b) is equivalent to a @ b.

expand(other)[código fonte]#

Return the reverse-order tensor product with another ScalarOp.

Parâmetros:

other (ScalarOp) – a ScalarOp object.

Retorno:

the tensor product \(b \otimes a\), where \(a\)

is the current ScalarOp, and \(b\) is the other ScalarOp.

Tipo de retorno:

ScalarOp

input_dims(qargs=None)#

Return tuple of input dimension for specified subsystems.

is_unitary(atol=None, rtol=None)[código fonte]#

Return True if operator is a unitary matrix.

output_dims(qargs=None)#

Return tuple of output dimension for specified subsystems.

power(n)[código fonte]#

Return the power of the ScalarOp.

Parâmetros:

n (float) – the exponent for the scalar op.

Retorno:

the coeff ** n ScalarOp.

Tipo de retorno:

ScalarOp

reshape(input_dims=None, output_dims=None, num_qubits=None)#

Return a shallow copy with reshaped input and output subsystem dimensions.

Parâmetros:
  • input_dims (None or tuple) – new subsystem input dimensions. If None the original input dims will be preserved [Default: None].

  • output_dims (None or tuple) – new subsystem output dimensions. If None the original output dims will be preserved [Default: None].

  • num_qubits (None or int) – reshape to an N-qubit operator [Default: None].

Retorno:

returns self with reshaped input and output dimensions.

Tipo de retorno:

BaseOperator

Levanta:

QiskitError – if combined size of all subsystem input dimension or subsystem output dimensions is not constant.

tensor(other)[código fonte]#

Return the tensor product with another ScalarOp.

Parâmetros:

other (ScalarOp) – a ScalarOp object.

Retorno:

the tensor product \(a \otimes b\), where \(a\)

is the current ScalarOp, and \(b\) is the other ScalarOp.

Tipo de retorno:

ScalarOp

Nota

The tensor product can be obtained using the ^ binary operator. Hence a.tensor(b) is equivalent to a ^ b.

to_matrix()[código fonte]#

Convert to a Numpy matrix.

to_operator()[código fonte]#

Convert to an Operator object.

Tipo de retorno:

Operator

transpose()[código fonte]#

Return the transpose of the ScalarOp.