forte2.symmetry.sym_utils ========================= .. py:module:: forte2.symmetry.sym_utils Module Contents --------------- .. py:data:: SYMMETRY_OPS .. py:data:: CHARACTER_TABLE .. py:data:: COTTON_LABELS .. py:function:: equivalent_under_operation(coords, charges, op, tol) Check if a set of coordinates and charges is equivalent to itself under a given symmetry operation. :Parameters: **coords** : ndarray of shape (N, 3) The coordinates of the atoms. **charges** : list of length N The nuclear charges of the atoms. **op** : callable A function representing the symmetry operation that takes a 3-vector and returns the transformed 3-vector. **tol** : float The tolerance for comparing distances. :Returns: **has_op** : bool True if the system is invariant under the operation, False otherwise. .. !! processed by numpydoc !! .. py:function:: rotation_mat(axis, theta) Euler-Rodrigues formula for rotation matrix :Parameters: **axis** : ndarray of shape (3,) The axis to rotate around. Will be normalized internally. **theta** : float Rotation angle :Returns: **R** : ndarray of shape (3, 3) The rotation matrix. .. !! processed by numpydoc !! .. py:function:: reflection_mat(plane) Return the 3x3 reflection matrix for the mirror plane σ(x_i, x_j). :Parameters: **plane: tuple (i, j) with i != j and i,j ∈ {0,1,2} mapping to x,y,z.** Example: (0,1) -> σ_xy (flip z). :Returns: **R** : ndarray of shape (3, 3) .. The reflection matrix. .. .. !! processed by numpydoc !!