qudit_sim.HamiltonianBuilder.frame_change_operator
- HamiltonianBuilder.frame_change_operator(from_frame, to_frame=None)
Compute the change-of-frame operator.
Change of frame from
\[U_{f}(t) = \bigotimes_j \exp \left[ i \sum_l \left( \Xi_j^l t + \Phi_j^l \right) | l \rangle_j \langle l |_j \right]\]to
\[U_{g}(t) = \bigotimes_j \exp \left[ i \sum_l \left( \Eta_j^l t + \Psi_j^l \right) | l \rangle_j \langle l |_j \right]\]is effected by
\[V_{gf}(t) = U_g(t) U_f^{\dagger}(t) = \bigotimes_j \exp \left[ i \sum_l \left\{ (\Eta_j^l - \Xi_j^l) t + (\Psi_j^l - \Phi_j^l) \right\} | l \rangle_j \langle l |_j \right].\]- Parameters
from_frame (
Union[str,Dict[Hashable,Frame],Sequence[Frame]]) – Specification of original frame.to_frame (
Union[str,Dict[Hashable,Frame],Sequence[Frame],None]) – Specification of new frame. If None, the current frame is used.
- Return type
Tuple[numpy.ndarray,numpy.ndarray]- Returns
Flattened arrays corresponding to \([\sum_{j} \Xi_j^{l_j}]_{\{l_j\}}\) and \([\sum_{j} \Phi_j^{l_j}]_{\{l_j\}}\).