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.