def operate(self, coordinate):
        """Reflects a point through the reflection plane.

        Parameters
        ----------
        coordinate : Tuple[float, float, float]

        Returns
        -------
        : Tuple[float, float, float]

        """
        householder_matrix = create_householder_matrix(self.vector)
        return householder_matrix_reflection(coordinate, householder_matrix)
    def operate(self, coordinate):
        """Rotates a point around the axis of rotation for a angle of 2 * pi / self.fold and then inverts.

        Parameters
        ----------
        coordinate : Tuple[float, float, float]

        Returns
        -------
        : Tuple[float, float, float]

        """
        angle = 2 * pi / self.fold
        quaternion = create_quaternion(self.vector, angle)
        householder_matrix = create_householder_matrix(self.vector)
        x, y, z = householder_matrix_reflection(quaternion_rotation(quaternion, coordinate), householder_matrix)
        return x, y, z
    def int_operate(self, coordinate):
        """Returns the reflection symmetry operation on a coordinate but returns a tuple of ints.

        This method is useful for seeing how the symmetry operation affects the sign of a gaussian functions integral
        exponents.

        Parameters
        ----------
        coordinate : Tuple[float, float, float]

        Returns
        -------
        : Tuple[int, int, int]

        """
        householder_matrix = create_householder_matrix(self.vector)
        x, y, z = householder_matrix_reflection(coordinate, householder_matrix)
        return int(round(x, 1)), int(round(y, 1)), int(round(z, 1))