def _validate_lattice_vectors(self, lattice_vectors):
        """Ensure that the lattice_vectors are reasonable inputs.

        """
        dataType = np.float64
        if lattice_vectors is None:
                lattice_vectors = np.identity(self.dimension, dtype=dataType)
        else:
            lattice_vectors = np.asarray(lattice_vectors, dtype=dataType)

            if (self.dimension, self.dimension) != np.shape(lattice_vectors):
                raise ValueError('Dimensionality of lattice_vectors is '
                                 ' of shape {} not {}.'
                                 .format(np.shape(lattice_vectors),
                                         (self.dimension, self.dimension)))

            det = np.linalg.det(lattice_vectors)
            if abs(det) == 0.0:
                raise ValueError('Co-linear vectors: {}'
                                 'have a determinant of 0.0. Does not '
                                 'define a unit cell.'
                                 .format(lattice_vectors))

            if det <= 0.0:
                raise ValueError('Negative Determinant: the determinant '
                                 'of {} is negative, indicating a left-'
                                 'handed system.' .format(det))
        self.lattice_vectors = lattice_vectors
Ensure that the lattice_vectors are reasonable inputs.