target
Graph.target(operator, filter_function_projector=None)
Create information about the target for system time evolution.
Nodes created with this function contain two types of information: the target gate for the system time evolution, and the projection operator that defines the subspace of interest for robustness.
Parameters
- operator (np.ndarray or Tensor) – The target gate
- filter_function_projector (np.ndarray or None , optional) – The orthogonal projection matrix
Returns
The node containing the specified target information.
Return type
SEE ALSO
Graph.infidelity_pwc
: Total infidelity of a system with a piecewise-constant Hamiltonian.
Graph.infidelity_stf
: Total infidelity of a system with a sampleable Hamiltonian.
Notes
The target gate is a non-zero partial isometry, which means that it can be expressed in the form , where and both form (non-empty) orthonormal, but not necessarily complete, sets. Such a target represents a target state for each initial state . The resulting operational infidelity is 0 if and only if, up to global phase, each initial state maps exactly to the corresponding final state
The filter function projector is an orthogonal projection matrix, which means that it satisfies . The image of
Examples
Define a target operation for the Pauli
>>> target_operation = graph.target(operator=np.array([[0, 1], [1, 0]]))
>>> target_operation
<Target: operation_name="target", value_shape=(2, 2)>
See more examples in the How to optimize controls robust to strong noise sources user guide.