pub fn impose_translational_invariance(mut self, sc: &SupercellToken, level: u32) -> Self {
        let sc = SupercellWrapper::new(sc);
        for _ in 0..level {
            for _ in 0..2 {
                self.transpose_mut(sc);
                self.cancel_row_averages(sc);
            }
            self.impose_matrix_symmetry(sc);
        }
        self.impose_translational_symmetry(sc);
        self
    }
/// Imposes translational invariance like Phonopy.
///
/// **Warning:** This causes the ForceConstants matrix to effectively become dense!
Imposes translational invariance like Phonopy.
Warning:** This causes the ForceConstants matrix to effectively become dense!
Imposes translational invariance like Phonopy . Warning : ** This causes the ForceConstants matrix to effectively become dense!
pub fn impose_translational_invariance(mut self, sc: &SupercellToken, level: u32) -> Self {
        let sc = SupercellWrapper::new(sc);
        for _ in 0..level {
            for _ in 0..2 {
                self.transpose_mut(sc);
                self.cancel_row_averages(sc);
            }
            self.impose_matrix_symmetry(sc);
        }
        self.impose_translational_symmetry(sc);
        self
    }
pub fn impose_translational_invariance ( mut self , sc : & SupercellToken , level : u32 ) -> Self { let sc = SupercellWrapper :: new ( sc ) ; for _ in 0 .. level { for _ in 0 .. 2 { self . transpose_mut ( sc ) ; self . cancel_row_averages ( sc ) ; } self . impose_matrix_symmetry ( sc ) ; } self . impose_translational_symmetry ( sc ) ; self }
Imposes translational invariance like Phonopy.
Imposes translational invariance like Phonopy .
mut self
sc
&SupercellToken
level
u32
mut self
sc
&SupercellToken
level
u32