util.symmetries
- class jVMC.util.symmetries.LatticeSymmetry(orbit, factor)
A wrapper class for lattice symmetries.
Wrapping the
orbitin this class is a workaround to make thejax.numpy.arrayhashable so that they can be passed as arguments to Flax modules.- Initializer arguments:
orbit: Ajax.numpy.arrayof rank three, which contains the permutation matrix of lattice indices for each symmetry operation.factor: Ajax.numpy.arrayof rank one, which contains the phase factor associated with each element in theorbitdue to the chosen quantum number.
- jVMC.util.symmetries.get_maps_1D(L, **kwargs)
Compute the effect of symmetry operations on a 2D square lattice.
- jVMC.util.symmetries.get_maps_2D(L, **kwargs)
Compute the effect of symmetry operations on a 2D square lattice.
- jVMC.util.symmetries.get_orbit_1D(L, *args, translation_factor=1.0, reflection_factor=1.0, spinflip_factor=1.0)
This function generates the group of lattice symmetries in a one-dimensional lattice.
- Arguments:
L: Linear dimension of the lattice.*args: Any choice of “reflection”, “rotation”, “translation”, or “spinflip”.*_factor: Prefactor for the symmetrization corresponding to the quantum number. Replace*by the name of the symmetry (“reflection”, “rotation”, “translation”, or “spinflip”).
- Returns:
An object of type
LatticeSymmetry.
- jVMC.util.symmetries.get_orbit_2D_square(L, *args, translation_factor=1.0, reflection_factor=1.0, rotation_factor=1.0, spinflip_factor=1.0)
This function generates the group of lattice symmetries in a two-dimensional square lattice.
- Arguments:
L: Linear dimension of the lattice.*args: Any choice of “reflection”, “rotation”, “translation”, or “spinflip”.*_factor: Prefactor for the symmetrization corresponding to the quantum number. Replace*by the name of the symmetry (“reflection”, “rotation”, “translation”, or “spinflip”).
- Returns:
An object of type
LatticeSymmetry.
- jVMC.util.symmetries.get_orbits_from_maps_1D(L, translation, reflection)
Given the site ids that are displaced by the desired symmetry operation, obtain the matrices that perform the desired symmetry operation.
- jVMC.util.symmetries.get_orbits_from_maps_2D(L, translation, rotation, reflection)
Given the site ids that are displaced by the desired symmetry operation, obtain the matrices that perform the desired symmetry operation.