# 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})$$