code: def _build_primitive_cell(self):
          
          self._primitive = self._get_primitive_cell(
              self._supercell, self._supercell_matrix, self._primitive_matrix)
docs: primitive_matrix:
            Relative axes of primitive cell to the input unit cell.
            Relative axes to the supercell is calculated by:
               supercell_matrix^-1 * primitive_matrix
            Therefore primitive cell lattice is finally calculated by:
               (supercell_lattice * (supercell_matrix)^-1 * primitive_matrix)^T