ApplyWithCA operation
Given two operations, applies one as conjugated with the other.
Given two operations, respectively described by unitary operators $U$ and $V$, applies them in the sequence $U^{\dagger} V U$. That is, this operation implements the unitary operator given by $V$ conjugated with $U$.
operation ApplyWithCA (outerOperation : ('T => Unit is Adj), innerOperation : ('T => Unit is Adj + Ctl), target : 'T) : Unit
- Functors
-
Adjoint Controlled
Type Parameters
'T
The target on which each of the inner and outer operations act.
Input
- outerOperation
The operation $U$ that should be used to conjugate $V$. Note that the outer operation $U$ needs to be adjointable, but does not need to be controllable.
- Functors
-
Adjoint
Input: 'T
Output: Unit
- innerOperation
The operation $V$ being conjugated.
- Functors
-
Adjoint Controlled
Input: 'T
Output: Unit
- target
- 'T
The input to be provided to the outer and inner operations.
Output
Unit
Remarks
The outer operation is always assumed to be adjointable, but does not need to be controllable in order for the combined operation to be controllable.
See also
- applywith
- applywitha
- applywithc
Feedback
Loading feedback...