code: def apply_strain(self, strain):
          
          s = (1 + np.array(strain)) * np.eye(3)
          self.lattice = Lattice(np.dot(self._lattice.matrix.T, s).T)
docs: Apply a strain to the lattice.
  
          Args:
              strain (float or list): Amount of strain to apply. Can be a float,
                  or a sequence of 3 numbers. E.g., 0.01 means all lattice
                  vectors are increased by 1%. This is equivalent to calling
                  modify_lattice with a lattice with lattice parameters that
                  are 1% larger.