mimiqcircuits.operations.parallel¶
Parallel gate operation.
Functions
|
Classes
|
Parallel operation |
- class mimiqcircuits.operations.parallel.Parallel(num_repeats, op)[source]¶
Bases:
GateParallel operation
This is a composite operation that applies multiple gates in parallel to the circuit at once.
Examples
>>> from mimiqcircuits import * >>> c= Circuit() >>> c.push(Parallel(3,GateX()),1,2,3) 4-qubit circuit with 1 instruction: └── ⨷ ³ X @ q[1], q[2], q[3]
- property num_repeats¶
- property op¶
- iswrapper()[source]¶
Check if the operator is a wrapper around another operator.
This method should be overridden in subclasses to return True if the operator is acting as a wrapper around another operation or object, and False otherwise.
- Returns:
Always returns False in the base class. Subclasses should override this method to provide the appropriate logic.
- Return type:
- inverse()[source]¶
Raise an error, as non-unitary operators cannot be inverted.
This method is not implemented for non-unitary operators and will raise a NotImplementedError if called.
- Raises:
NotImplementedError – If the method is called.
- power(*args)[source]¶
Raise an error, as powers of non-unitary operators are not supported.
This method is not implemented for non-unitary operators and will raise a NotImplementedError if called.
- Parameters:
n (int) – The exponent to which the operator would be raised.
- Raises:
NotImplementedError – If the method is called.
- evaluate(d)[source]¶
Substitute the symbolic parameters of the operator with numerical values.
This method evaluates the operator’s symbolic parameters using the values provided in the dictionary d. If the operator has no parameters, it returns the same instance. Otherwise, it creates a new instance of the operator with updated numerical parameters.
- Parameters:
d (dict) – A dictionary where keys are symbolic parameter names and values are values for substitution.
Example
>>> from symengine import * >>> from mimiqcircuits import * >>> theta = symbols('theta') >>> op = GateRX(theta) >>> evaluated_op = op.evaluate({'theta': 0.5}) >>> print(evaluated_op) RX(0.5)