triqs.gfs.gf_factories.gf_factories_hermitian.fit_gf_dlr

triqs.gfs.gf_factories.gf_factories_hermitian.fit_gf_dlr()

Dispatched C++ function(s).

[1] (g: Gf[MeshImTime, 0], w_max: float, eps: float, symmetrize: bool = True)
  -> Gf[MeshDLR, 0]

[2] (g: Gf[MeshImTime, 0], dlr_mesh: MeshDLR)
  -> Gf[MeshDLR, 0]

[3] (g: BlockGf[MeshImTime, 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshDLR, 0]

[4] (g: BlockGf[MeshImTime, 0], dlr_mesh: MeshDLR)
  -> BlockGf[MeshDLR, 0]

[5] (g: Block2Gf[MeshImTime, 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Block2Gf[MeshDLR, 0]

[6] (g: Block2Gf[MeshImTime, 0], dlr_mesh: MeshDLR)
  -> Block2Gf[MeshDLR, 0]

[7] (g: Gf[MeshImTime, 1], w_max: float, eps: float, symmetrize: bool = True)
  -> Gf[MeshDLR, 1]

[8] (g: Gf[MeshImTime, 1], dlr_mesh: MeshDLR)
  -> Gf[MeshDLR, 1]

[9] (g: BlockGf[MeshImTime, 1],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshDLR, 1]

[10] (g: BlockGf[MeshImTime, 1], dlr_mesh: MeshDLR)
  -> BlockGf[MeshDLR, 1]

[11] (g: Block2Gf[MeshImTime, 1],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Block2Gf[MeshDLR, 1]

[12] (g: Block2Gf[MeshImTime, 1], dlr_mesh: MeshDLR)
  -> Block2Gf[MeshDLR, 1]

[13] (g: Gf[MeshImTime, 2], w_max: float, eps: float, symmetrize: bool = True)
  -> Gf[MeshDLR, 2]

[14] (g: Gf[MeshImTime, 2], dlr_mesh: MeshDLR)
  -> Gf[MeshDLR, 2]

[15] (g: BlockGf[MeshImTime, 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshDLR, 2]

[16] (g: BlockGf[MeshImTime, 2], dlr_mesh: MeshDLR)
  -> BlockGf[MeshDLR, 2]

[17] (g: Block2Gf[MeshImTime, 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Block2Gf[MeshDLR, 2]

[18] (g: Block2Gf[MeshImTime, 2], dlr_mesh: MeshDLR)
  -> Block2Gf[MeshDLR, 2]

[19] (g: Gf[MeshImTime, 3], w_max: float, eps: float, symmetrize: bool = True)
  -> Gf[MeshDLR, 3]

[20] (g: Gf[MeshImTime, 3], dlr_mesh: MeshDLR)
  -> Gf[MeshDLR, 3]

[21] (g: BlockGf[MeshImTime, 3],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshDLR, 3]

[22] (g: BlockGf[MeshImTime, 3], dlr_mesh: MeshDLR)
  -> BlockGf[MeshDLR, 3]

[23] (g: Block2Gf[MeshImTime, 3],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Block2Gf[MeshDLR, 3]

[24] (g: Block2Gf[MeshImTime, 3], dlr_mesh: MeshDLR)
  -> Block2Gf[MeshDLR, 3]

[25] (g: Gf[MeshImTime, 4], w_max: float, eps: float, symmetrize: bool = True)
  -> Gf[MeshDLR, 4]

[26] (g: Gf[MeshImTime, 4], dlr_mesh: MeshDLR)
  -> Gf[MeshDLR, 4]

[27] (g: BlockGf[MeshImTime, 4],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshDLR, 4]

[28] (g: BlockGf[MeshImTime, 4], dlr_mesh: MeshDLR)
  -> BlockGf[MeshDLR, 4]

[29] (g: Block2Gf[MeshImTime, 4],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Block2Gf[MeshDLR, 4]

[30] (g: Block2Gf[MeshImTime, 4], dlr_mesh: MeshDLR)
  -> Block2Gf[MeshDLR, 4]

[31] (g: Gf[MeshProduct[MeshImTime, MeshBrZone], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshDLR, MeshBrZone], 0]

[32] (g: Gf[MeshProduct[MeshBrZone, MeshImTime], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshBrZone, MeshDLR], 0]

[33] (g: Gf[MeshProduct[MeshImTime, MeshBrZone], 0],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshDLR, MeshBrZone], 0]

[34] (g: Gf[MeshProduct[MeshBrZone, MeshImTime], 0],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshBrZone, MeshDLR], 0]

[35] (g: Gf[MeshProduct[MeshImTime, MeshCycLat], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshDLR, MeshCycLat], 0]

[36] (g: Gf[MeshProduct[MeshCycLat, MeshImTime], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshCycLat, MeshDLR], 0]

[37] (g: Gf[MeshProduct[MeshImTime, MeshCycLat], 0],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshDLR, MeshCycLat], 0]

[38] (g: Gf[MeshProduct[MeshCycLat, MeshImTime], 0],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshCycLat, MeshDLR], 0]

[39] (g: BlockGf[MeshProduct[MeshImTime, MeshBrZone], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshDLR, MeshBrZone], 0]

[40] (g: BlockGf[MeshProduct[MeshBrZone, MeshImTime], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshBrZone, MeshDLR], 0]

[41] (g: BlockGf[MeshProduct[MeshImTime, MeshBrZone], 0],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshDLR, MeshBrZone], 0]

[42] (g: BlockGf[MeshProduct[MeshBrZone, MeshImTime], 0],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshBrZone, MeshDLR], 0]

[43] (g: BlockGf[MeshProduct[MeshImTime, MeshCycLat], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshDLR, MeshCycLat], 0]

[44] (g: BlockGf[MeshProduct[MeshCycLat, MeshImTime], 0],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshCycLat, MeshDLR], 0]

[45] (g: BlockGf[MeshProduct[MeshImTime, MeshCycLat], 0],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshDLR, MeshCycLat], 0]

[46] (g: BlockGf[MeshProduct[MeshCycLat, MeshImTime], 0],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshCycLat, MeshDLR], 0]

[47] (g: Gf[MeshProduct[MeshImTime, MeshBrZone], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshDLR, MeshBrZone], 2]

[48] (g: Gf[MeshProduct[MeshBrZone, MeshImTime], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshBrZone, MeshDLR], 2]

[49] (g: Gf[MeshProduct[MeshImTime, MeshBrZone], 2],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshDLR, MeshBrZone], 2]

[50] (g: Gf[MeshProduct[MeshBrZone, MeshImTime], 2],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshBrZone, MeshDLR], 2]

[51] (g: Gf[MeshProduct[MeshImTime, MeshCycLat], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshDLR, MeshCycLat], 2]

[52] (g: Gf[MeshProduct[MeshCycLat, MeshImTime], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> Gf[MeshProduct[MeshCycLat, MeshDLR], 2]

[53] (g: Gf[MeshProduct[MeshImTime, MeshCycLat], 2],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshDLR, MeshCycLat], 2]

[54] (g: Gf[MeshProduct[MeshCycLat, MeshImTime], 2],
     dlr_mesh: MeshDLR)
  -> Gf[MeshProduct[MeshCycLat, MeshDLR], 2]

[55] (g: BlockGf[MeshProduct[MeshImTime, MeshBrZone], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshDLR, MeshBrZone], 2]

[56] (g: BlockGf[MeshProduct[MeshBrZone, MeshImTime], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshBrZone, MeshDLR], 2]

[57] (g: BlockGf[MeshProduct[MeshImTime, MeshBrZone], 2],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshDLR, MeshBrZone], 2]

[58] (g: BlockGf[MeshProduct[MeshBrZone, MeshImTime], 2],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshBrZone, MeshDLR], 2]

[59] (g: BlockGf[MeshProduct[MeshImTime, MeshCycLat], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshDLR, MeshCycLat], 2]

[60] (g: BlockGf[MeshProduct[MeshCycLat, MeshImTime], 2],
     w_max: float,
     eps: float,
     symmetrize: bool = True)
  -> BlockGf[MeshProduct[MeshCycLat, MeshDLR], 2]

[61] (g: BlockGf[MeshProduct[MeshImTime, MeshCycLat], 2],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshDLR, MeshCycLat], 2]

[62] (g: BlockGf[MeshProduct[MeshCycLat, MeshImTime], 2],
     dlr_mesh: MeshDLR)
  -> BlockGf[MeshProduct[MeshCycLat, MeshDLR], 2]

Fit an imaginary-time Green’s function with a Discrete Lehmann Representation.

Applies to every overload. The input lives on a single imaginary-time mesh or on a product mesh pairing an imaginary-time axis with a lattice axis. Block and block-of-block Green’s function containers are handled component-wise, and product meshes are handled axis-wise. All target ranks (scalar, vector, matrix, rank-3, rank-4) are supported. The DLR grid is either specified by the spectral cutoff w_max and the tolerance eps, or passed directly as a DLR mesh dlr_mesh.

Parameters:
gGf[MeshImTime, 0]

The imaginary-time Green’s function to fit.

w_maxfloat

Maximum real frequency captured by the DLR basis.

epsfloat

Target accuracy of the DLR representation.

symmetrizebool

If true, the DLR grid is symmetric about zero frequency.

dlr_mesh

The DLR coefficient mesh to fit onto.

Returns:
Gf[MeshDLR, 0]

A Green’s function on the DLR coefficient mesh.