mag4.symmetry

Site-permutation symmetry operations on the magnetic sublattice.

Functions

find_symmetry_ops(cart_coords, lat_vecs[, ...])

Find site-permutation symmetry operations of the magnetic sublattice.

mag4.symmetry.find_symmetry_ops(cart_coords, lat_vecs, tol=0.05, *, crystal=None)[source]

Find site-permutation symmetry operations of the magnetic sublattice.

Candidate operations (rotation + translation pairs) come from spglib, so any axis orientation and any space group is handled — the result no longer depends on which lattice vector is the stacking axis. Each candidate is then verified site-by-site (tolerance tol Å) and returned as a permutation tuple; perm[i] is the index of the site to which site i is mapped.

Parameters:
  • cart_coords (Cartesian coordinates of the magnetic sites.)

  • lat_vecs (3×3 lattice matrix, rows = a, b, c.)

  • tol (site-matching tolerance in Å (also spglib’s symprec).)

  • crystal (optional mag4.constants.CrystalData of the full) – structure. When given, symmetry is computed on the full decorated crystal (magnetic + non-magnetic atoms, distinguished by element), so every returned operation is a true crystal symmetry — configurations it merges are guaranteed degenerate. When omitted, only the bare magnetic sublattice is analysed (its symmetry can be higher than the crystal’s; combine with mag4.geometry.filter_symops_by_fingerprint() if ligand environments matter).

Return type:

List[Tuple[int, ...]]