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...