pub fn canonical_schmidt_spectrum_subsystem_with_exchange_phases( state: &[Complex64], local_dimensions: &[usize], retained_sites: &[usize], noncommuting_groups: &[NoncommutingGroup], ) -> Result<Vec<f64>>