ArbitraryCPhaseGate
- class ArbitraryCPhaseGate[source]
Bases:
Gate
,DifferentiableUnitary
,CachedClass
,LocallyOptimizableUnitary
A gate representing an arbitrary qudit controlled phase rotation.
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
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.
get_grad
([params])Return the gradient for this gate.
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])Return the unitary for this gate, see
Unitary
for more.get_unitary_and_grad
([params])Return a tuple combining the outputs of get_unitary and get_grad.
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.