GeneralGate
- class GeneralGate[source]
Bases:
Gate
,LocallyOptimizableUnitary
An abstract base class for gates that parameterize any unitary.
- __init__()
Attributes
The matrix dimension for this unitary.
The name of this gate.
The number of real parameters this unitary-valued function takes.
The number of qudits this unitary can act on.
The qasm identifier for this gate.
The number of orthogonal states for each qudit.
Methods
calc_params
(utry)Return the parameters for this gate to implement utry.
check_env_matrix
(env_matrix)Check to ensure the env_matrix is validly shaped.
check_parameters
(params)Check parameters are valid and match the unitary.
Return the gate's inverse as a gate.
get_inverse_params
([params])Return the parameters that invert the gate.
get_qasm
(params, location)Returns the qasm string for this gate.
Returns a qasm gate definition block for this gate.
get_unitary
([params])Map real-valued params to a UnitaryMatrix.
identity_as_params
(radixes)Return the parameters for the gate that implements the identity.
Return true if this unitary doesn't take parameters.
Return true if this unitary is parameterized.
Return true if this unitary can only act on qubits.
is_qudit_only
(radix)Return true if this unitary can only act on radix-qudits.
Return true if this unitary can only act on qutrits.
is_self_inverse
([params])Checks whether the unitary is its own inverse.
optimize
(env_matrix)Return the optimal parameters with respect to an environment matrix.
with_all_frozen_params
(params)Freeze all of a gate's parameters so they don't change from optimization.
with_frozen_params
(frozen_params)Freeze some of a gate's parameters so they don't change from optimization.