triqs.gfs.gf_factories.gf_factories_hermitian.make_hermitian

triqs.gfs.gf_factories.gf_factories_hermitian.make_hermitian()

Dispatched C++ function(s).

[1] (g: Gf[MeshImFreq, 0])
  -> Gf[MeshImFreq, 0]

[2] (g: BlockGf[MeshImFreq, 0])
  -> BlockGf[MeshImFreq, 0]

[3] (g: Block2Gf[MeshImFreq, 0])
  -> Block2Gf[MeshImFreq, 0]

[4] (g: Gf[MeshImFreq, 2])
  -> Gf[MeshImFreq, 2]

[5] (g: BlockGf[MeshImFreq, 2])
  -> BlockGf[MeshImFreq, 2]

[6] (g: Block2Gf[MeshImFreq, 2])
  -> Block2Gf[MeshImFreq, 2]

[7] (g: Gf[MeshImFreq, 4])
  -> Gf[MeshImFreq, 4]

[8] (g: BlockGf[MeshImFreq, 4])
  -> BlockGf[MeshImFreq, 4]

[9] (g: Block2Gf[MeshImFreq, 4])
  -> Block2Gf[MeshImFreq, 4]

[10] (g: Gf[MeshImTime, 0])
  -> Gf[MeshImTime, 0]

[11] (g: BlockGf[MeshImTime, 0])
  -> BlockGf[MeshImTime, 0]

[12] (g: Block2Gf[MeshImTime, 0])
  -> Block2Gf[MeshImTime, 0]

[13] (g: Gf[MeshImTime, 2])
  -> Gf[MeshImTime, 2]

[14] (g: BlockGf[MeshImTime, 2])
  -> BlockGf[MeshImTime, 2]

[15] (g: Block2Gf[MeshImTime, 2])
  -> Block2Gf[MeshImTime, 2]

[16] (g: Gf[MeshImTime, 4])
  -> Gf[MeshImTime, 4]

[17] (g: BlockGf[MeshImTime, 4])
  -> BlockGf[MeshImTime, 4]

[18] (g: Block2Gf[MeshImTime, 4])
  -> Block2Gf[MeshImTime, 4]

Symmetrize a Green’s function so that it satisfies the hermitian symmetry.

Depending on the mesh and target rank, one of the following transformations is applied:

  • \(G(i\omega) \rightarrow \frac{1}{2} [ G(i\omega) + G^*(-i\omega) ]\)

  • \(G(\tau) \rightarrow \frac{1}{2} [ G(\tau) + G^*(\tau) ]\)

  • \(G_{i,j}(i\omega) \rightarrow \frac{1}{2} [ G_{i,j}(i\omega) + G_{j,i}^*(i\omega) ]\)

  • \(G_{i,j}(\tau) \rightarrow \frac{1}{2} [ G_{i,j}(\tau) + G_{j,i}^*(\tau) ]\)

  • \(G_{i,j,k,l}(i\omega) \rightarrow \frac{1}{2} [ G_{i,j,k,l}(i\omega)] + G_{k,l,i,j}^*(i\omega) ]\)

  • \(G_{i,j,k,l}(\tau) \rightarrow \frac{1}{2} [ G_{i,j,k,l}(\tau) + G_{k,l,i,j}(\tau) ]\)

For block Green’s functions, the symmetrization is applied block-wise.

Parameters:
gGf[MeshImFreq, 0], BlockGf[MeshImFreq, 0], Block2Gf[MeshImFreq, 0], Gf[MeshImFreq, 2], BlockGf[MeshImFreq, 2], Block2Gf[MeshImFreq, 2], Gf[MeshImFreq, 4], BlockGf[MeshImFreq, 4], Block2Gf[MeshImFreq, 4], Gf[MeshImTime, 0], BlockGf[MeshImTime, 0], Block2Gf[MeshImTime, 0], Gf[MeshImTime, 2], BlockGf[MeshImTime, 2], Block2Gf[MeshImTime, 2], Gf[MeshImTime, 4], BlockGf[MeshImTime, 4], Block2Gf[MeshImTime, 4]

The Green’s function to symmetrize.

Returns:
[1]Gf[MeshImFreq, 0]

The symmetrized Green’s function.

[2]BlockGf[MeshImFreq, 0]

The symmetrized Green’s function.

[3]Block2Gf[MeshImFreq, 0]

The symmetrized Green’s function.

[4]Gf[MeshImFreq, 2]

The symmetrized Green’s function.

[5]BlockGf[MeshImFreq, 2]

The symmetrized Green’s function.

[6]Block2Gf[MeshImFreq, 2]

The symmetrized Green’s function.

[7]Gf[MeshImFreq, 4]

The symmetrized Green’s function.

[8]BlockGf[MeshImFreq, 4]

The symmetrized Green’s function.

[9]Block2Gf[MeshImFreq, 4]

The symmetrized Green’s function.

[10]Gf[MeshImTime, 0]

The symmetrized Green’s function.

[11]BlockGf[MeshImTime, 0]

The symmetrized Green’s function.

[12]Block2Gf[MeshImTime, 0]

The symmetrized Green’s function.

[13]Gf[MeshImTime, 2]

The symmetrized Green’s function.

[14]BlockGf[MeshImTime, 2]

The symmetrized Green’s function.

[15]Block2Gf[MeshImTime, 2]

The symmetrized Green’s function.

[16]Gf[MeshImTime, 4]

The symmetrized Green’s function.

[17]BlockGf[MeshImTime, 4]

The symmetrized Green’s function.

[18]Block2Gf[MeshImTime, 4]

The symmetrized Green’s function.