forte2.symmetry.sym_utils#
Module Contents#
- forte2.symmetry.sym_utils.SYMMETRY_OPS#
- forte2.symmetry.sym_utils.CHARACTER_TABLE#
- forte2.symmetry.sym_utils.COTTON_LABELS#
- forte2.symmetry.sym_utils.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:
- coordsndarray of shape (N, 3)
The coordinates of the atoms.
- chargeslist of length N
The nuclear charges of the atoms.
- opcallable
A function representing the symmetry operation that takes a 3-vector and returns the transformed 3-vector.
- tolfloat
The tolerance for comparing distances.
- Returns:
- has_opbool
True if the system is invariant under the operation, False otherwise.
- forte2.symmetry.sym_utils.rotation_mat(axis, theta)#
Euler-Rodrigues formula for rotation matrix
- Parameters:
- axisndarray of shape (3,)
The axis to rotate around. Will be normalized internally.
- thetafloat
Rotation angle
- Returns:
- Rndarray of shape (3, 3)
The rotation matrix.
- forte2.symmetry.sym_utils.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:
- Rndarray of shape (3, 3)
- The reflection matrix.