Point group: square lattice

Functions symmetrizing (rank-5) on-site tensor by projecting into one of the irreps of the point-group of square lattice \(C_{4v}\). All functions assume following index convention of on-site tensor:

   u s
   |/
l--A--r  <=> A[s,u,l,d,r]
   |
   d

where first index, s, is physical.

groups.pg.make_c4v_symm(A, irreps=['A1'])[source]
Parameters
  • A (torch.Tensor) – on-site tensor

  • irreps (list(str)) – choice of irreps from 'A1', 'A2', 'B1', or 'B2'

Returns

C4v symmetrized tensor A

Return type

torch.Tensor

Sum any combination of projections on real \(C_{4v}\) irreps \(A_1, A_2, B_1, B_2\). List of irreps is converted to a set (no repeated elements) and the projections are then summed up.

groups.pg.make_c4v_symm_A1(A)[source]
Parameters

A (torch.Tensor) – on-site tensor

Returns

projection of A to \(A_1\) irrep

Return type

torch.Tensor

Project on-site tensor A on \(A_1\) irrep of \(C_{4v}\) group.

groups.pg.make_c4v_symm_A2(A)[source]
Parameters

A (torch.Tensor) – on-site tensor

Returns

projection of A to \(A_2\) irrep

Return type

torch.Tensor

Project on-site tensor A on \(A_2\) irrep of \(C_{4v}\) group.

groups.pg.make_c4v_symm_B1(A)[source]
Parameters

A (torch.Tensor) – on-site tensor

Returns

projection of A to \(B_1\) irrep

Return type

torch.Tensor

Project on-site tensor A on \(B_1\) irrep of \(C_{4v}\) group.

groups.pg.make_c4v_symm_B2(A)[source]
Parameters

A (torch.Tensor) – on-site tensor

Returns

projection of A to \(B_2\) irrep

Return type

torch.Tensor

Project on-site tensor A on \(B_2\) irrep of \(C_{4v}\) group.

groups.pg.make_d2_antisymm(A)[source]
Parameters

A (torch.Tensor) – on-site tensor

Returns

\(d_2\) anti-symmetrized tensor A

Return type

torch.Tensor

Perform left-right anti-symmetrization \(A_{suldr} \leftarrow\ 1/2(A_{suldr} - A_{sludr})\)

groups.pg.make_d2_symm(A)[source]
Parameters

A (torch.Tensor) – on-site tensor

Returns

\(d_2\) symmetrized tensor A

Return type

torch.Tensor

Perform left-right symmetrization \(A_{suldr} \leftarrow\ 1/2(A_{suldr} + A_{sludr})\)