About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
ScalarOp
class qiskit.quantum_info.ScalarOp(dims=None, coeff=1)
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.
Parameters
- dims (int ortuple) – subsystem dimensions.
- coeff (Number) – scalar coefficient for the identity operator (Default: 1).
Raises
QiskitError – If the optional coefficient is invalid.
Attributes
atol
Default value: 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
Default value: 1e-05
Methods
adjoint
compose
compose(other, qargs=None, front=False)
Return the operator composition with another ScalarOp.
Parameters
- 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].
Returns
The composed ScalarOp.
Return type
Raises
QiskitError – if other cannot be converted to an operator, or has incompatible dimensions for specified subsystems.
Note
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
copy
dot
dot(other, qargs=None)
Return the right multiplied operator self * other.
Parameters
- 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).
Returns
The right matrix multiplied Operator.
Return type
Note
The dot product can be obtained using the @
binary operator. Hence a.dot(b)
is equivalent to a @ b
.
expand
expand(other)
Return the reverse-order tensor product with another ScalarOp.
Parameters
other (ScalarOp) – a ScalarOp object.
Returns
the tensor product , where
is the current ScalarOp, and is the other ScalarOp.
Return type
input_dims
is_unitary
output_dims
power
power(n)
Return the power of the ScalarOp.
Parameters
n (float) – the exponent for the scalar op.
Returns
the coeff ** n
ScalarOp.
Return type
reshape
reshape(input_dims=None, output_dims=None, num_qubits=None)
Return a shallow copy with reshaped input and output subsystem dimensions.
Parameters
- 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].
Returns
returns self with reshaped input and output dimensions.
Return type
BaseOperator
Raises
QiskitError – if combined size of all subsystem input dimension or subsystem output dimensions is not constant.
tensor
tensor(other)
Return the tensor product with another ScalarOp.
Parameters
other (ScalarOp) – a ScalarOp object.
Returns
the tensor product , where
is the current ScalarOp, and is the other ScalarOp.
Return type
Note
The tensor product can be obtained using the ^
binary operator. Hence a.tensor(b)
is equivalent to a ^ b
.
to_matrix
to_operator
transpose
Was this page helpful?
Report a bug or request content on GitHub.