qiskit.quantum_info.ScalarOp¶

class ScalarOp(dims=None, coeff=1)[ソース]

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.

パラメータ
• dims (int or tuple) – subsystem dimensions.

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

QiskitError – If the optional coefficient is invalid.

__init__(dims=None, coeff=1)[ソース]

Initialize an operator object.

パラメータ
• dims (int or tuple) – subsystem dimensions.

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

QiskitError – If the optional coefficient is invalid.

Methods

 __init__([dims, coeff]) Initialize an operator object. Return the adjoint of the Operator. compose(other[, qargs, front]) Return the operator composition with another ScalarOp. Return the conjugate of the ScalarOp. Make a deep copy of current operator. dot(other[, qargs]) Return the right multiplied operator self * other. expand(other) Return the reverse-order tensor product with another ScalarOp. input_dims([qargs]) Return tuple of input dimension for specified subsystems. is_unitary([atol, rtol]) Return True if operator is a unitary matrix. output_dims([qargs]) Return tuple of output dimension for specified subsystems. Return the power of the ScalarOp. reshape([input_dims, output_dims, num_qubits]) Return a shallow copy with reshaped input and output subsystem dimensions. tensor(other) Return the tensor product with another ScalarOp. Convert to a Numpy matrix. Convert to an Operator object. Return the transpose of the ScalarOp.

Attributes

 atol Default absolute tolerance parameter for float comparisons. 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 relative tolerance parameter for float comparisons.
adjoint()

Return the adjoint of the Operator.

property atol

Default absolute tolerance parameter for float comparisons.

property coeff

Return the coefficient

compose(other, qargs=None, front=False)[ソース]

Return the operator composition with another ScalarOp.

パラメータ
• 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].

The composed ScalarOp.

ScalarOp

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

Composition (&) by default is defined as left matrix multiplication for matrix operators, while dot() is defined as right matrix multiplication. That is that A & B == A.compose(B) is equivalent to 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()[ソース]

Return the conjugate of the ScalarOp.

copy()

Make a deep copy of current operator.

property dim

Return tuple (input_shape, output_shape).

dot(other, qargs=None)

Return the right multiplied operator self * other.

パラメータ
• 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).

The right matrix multiplied Operator.

Operator

expand(other)[ソース]

Return the reverse-order tensor product with another ScalarOp.

パラメータ

other (ScalarOp) – a ScalarOp object.

the tensor product $$b \otimes a$$, where $$a$$

is the current ScalarOp, and $$b$$ is the other ScalarOp.

ScalarOp

input_dims(qargs=None)

Return tuple of input dimension for specified subsystems.

is_unitary(atol=None, rtol=None)[ソース]

Return True if operator is a unitary matrix.

property num_qubits

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

output_dims(qargs=None)

Return tuple of output dimension for specified subsystems.

power(n)[ソース]

Return the power of the ScalarOp.

パラメータ

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

the coeff ** n ScalarOp.

ScalarOp

property qargs

Return the qargs for the operator.

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

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

パラメータ
• 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 self with reshaped input and output dimensions.

BaseOperator

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

property rtol

Default relative tolerance parameter for float comparisons.

tensor(other)[ソース]

Return the tensor product with another ScalarOp.

パラメータ

other (ScalarOp) – a ScalarOp object.

the tensor product $$a \otimes b$$, where $$a$$

is the current ScalarOp, and $$b$$ is the other ScalarOp.

ScalarOp

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

to_matrix()[ソース]

Convert to a Numpy matrix.

to_operator()[ソース]

Convert to an Operator object.

transpose()[ソース]

Return the transpose of the ScalarOp.