static, filter_function_projector=None, *, name=None)

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

  • operator (np.ndarray or Tensor) – The target gate \(U_\mathrm{target}\). Must be a non-zero partial isometry.

  • filter_function_projector (np.ndarray, optional) – The orthogonal projection matrix \(P\) onto the subspace used for filter function calculations. If you provide a value then it must be Hermitian and idempotent. Defaults to the identity matrix.

  • name (str, optional) – The name of the node.


The node containing the specified target information.

Return type



The target gate \(U_\mathrm{target}\) is a non-zero partial isometry, which means that it can be expressed in the form \(\sum_j \left|\psi_j\right>\left<\phi_j\right|\), where \(\left\{\left|\psi_j\right>\right\}\) and \(\left\{\left|\phi_j\right>\right\}\) both form (non-empty) orthonormal, but not necessarily complete, sets. Such a target represents a target state \(\left|\psi_j\right>\) for each initial state \(\left|\phi_j\right>\). The resulting operational infidelity is 0 if and only if, up to global phase, each initial state \(\left|\phi_j\right>\) maps exactly to the corresponding final state \(\left|\psi_j\right>\).

The filter function projector \(P\) is an orthogonal projection matrix, which means that it satisfies \(P=P^\dagger=P^2\). The image of \(P\) defines the set of initial states from which the calculated filter function measures robustness.