{ "cells": [ { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "# TRIQS Green's functions\n", "\n", "It is now time to start using some of the tools provided by TRIQS.\n", "\n", "Much of the functionality in TRIQS, while implemented in C++ for optimal performance, is exposed\n", "through a Python interface to make it easier to use. In practice, this means\n", "you can treat TRIQS as a Python library, just like NumPy or matplotlib.\n", "\n", "One of the central objects of a many-body calculation is a Green's function.\n", "Green's functions in TRIQS are functions defined on a mesh $\\cal{M}$ of points that hold values in some domain $\\cal{D}$, for example $\\mathbb{C}^{2\\times2}$\n", "\n", "$$\n", "G: \\cal{M} \\rightarrow \\cal{D}\n", "$$\n", "\n", "A few common Green's function meshes in TRIQS include:\n", "\n", "- `MeshReFreq` - Real-frequencies equally spaced in $[\\omega_{min},\\omega_{max}]$\n", "- `MeshImFreq` - Matsubara Frequencies\n", "- `MeshImTime` - Imaginary time points equally spaced in $[0,\\beta]$\n", "- `MeshReTime` - Real-time points (not covered in this tutorial)\n", "\n", "Let's see how we can **construct a Mesh and print its values**." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python Library Documentation: class MeshImTime in module triqs.mesh.meshes\n", "\n", "class MeshImTime(builtins.object)\n", " | Imaginary time mesh type.\n", " |\n", " | An imaginary time mesh is defined by its size :math:`N \\geq 0`, an inverse temperature :math:`\\beta > 0`\n", " | and its particle statistics. It contains :math:`N` equally spaced mesh points on the interval :math:`[0, \\beta]`\n", " | such that the distance between two consecutive mesh points (step size) is constant.\n", " |\n", " | An imaginary time mesh has the following properties:\n", " |\n", " | - Each mesh point is identified by a unique index :math:`n \\in \\{0, 1, \\ldots, N-1\\}`.\n", " | - An index :math:`n` is mapped to the corresponding data index :math:`d` by the identity function :math:`d(n) = n`\n", " | and vice versa.\n", " | - An index :math:`n` is mapped to the corresponding value :math:`\\tau` by the linear function\n", " | :math:`\\tau(n) = n \\cdot \\Delta` such that :math:`\\tau(0) = 0` and :math:`\\tau(N-1) = \\beta`. The step size of\n", " | the mesh is :math:`\\Delta = \\frac{\\beta}{N - 1}` for :math:`N > 1`, otherwise it is undefined. For implementation\n", " | purposes, we set :math:`\\Delta = 0` and :math:`\\Delta^{-1} = 0` for :math:`N = 0` and :math:`\\Delta = 0` and\n", " | :math:`\\Delta^{-1} = \\infty` for :math:`N = 1`.\n", " | - An arbitrary value :math:`\\tau \\in [0, \\beta]` is mapped to the closest mesh point with index :math:`n` by the\n", " | function :math:`n(\\tau) = \\left\\lfloor \\frac{\\tau}{\\Delta} + 0.5 \\right\\rfloor`.\n", " |\n", " | Green's function containers that are based on an imaginary time mesh store the function values at the discrete time\n", " | points :math:`\\tau(n)`, i.e. :math:`f_n = f(\\tau(n))`, and use linear interpolation to evaluate the function at an\n", " | arbitrary imaginary time :math:`\\tau \\in [0, \\beta]`.\n", " |\n", " | ----------\n", " |\n", " | Dispatched C++ constructor(s).\n", " |\n", " | ::\n", " |\n", " | [1] (beta: float = 1, statistic: Statistic (\"Fermion\" | \"Boson\") = 1, n_tau: int = 0)\n", " |\n", " |\n", " | Construct an imaginary time mesh on the interval :math:`[0, \\beta]` with :math:`N \\geq 0` equally spaced\n", " | mesh points and the given particle statistics.\n", " |\n", " | Parameters\n", " | ----------\n", " | beta : float\n", " | Inverse temperature :math:`\\beta > 0`.\n", " | statistic : Statistic (\"Fermion\" | \"Boson\")\n", " | Particle statistics.\n", " | n_tau : int\n", " | Size of the mesh.\n", " |\n", " | Methods defined here:\n", " |\n", " | __call__(self, /, *args, **kwargs)\n", " | Call self as a function.\n", " |\n", " | __eq__(self, value, /)\n", " | Return self==value.\n", " |\n", " | __ge__(self, value, /)\n", " | Return self>=value.\n", " |\n", " | __getitem__(self, key, /)\n", " | Return self[key].\n", " |\n", " | __getstate__(...)\n", " | Helper for pickle.\n", " |\n", " | __gt__(self, value, /)\n", " | Return self>value.\n", " |\n", " | __init__(self, /, *args, **kwargs)\n", " | Initialize self. See help(type(self)) for accurate signature.\n", " |\n", " | __iter__(self, /)\n", " | Implement iter(self).\n", " |\n", " | __le__(self, value, /)\n", " | Return self<=value.\n", " |\n", " | __len__(self, /)\n", " | Return len(self).\n", " |\n", " | __lt__(self, value, /)\n", " | Return self MeshImTime\n", " |\n", " |\n", " | Get a copy of a mesh (for Python bindings).\n", " |\n", " | Parameters\n", " | ----------\n", " | m : MeshImTime\n", " | The mesh object to copy.\n", " |\n", " | Returns\n", " | -------\n", " | MeshImTime\n", " | Copy of the given mesh.\n", " |\n", " | copy_from(...)\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (m2: MeshImTime)\n", " | -> void\n", " |\n", " |\n", " | Copy one mesh into another (for Python bindings).\n", " |\n", " | Simply calls the copy assignment operator of the mesh.\n", " |\n", " | Parameters\n", " | ----------\n", " | m1 : MeshImTime\n", " | The mesh object to copy into.\n", " | m2 : MeshImTime\n", " | The mesh object to copy from.\n", " |\n", " | is_index_valid(...)\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (n: int)\n", " | -> bool\n", " |\n", " |\n", " | Check if an index :math:`n` is valid.\n", " |\n", " | Parameters\n", " | ----------\n", " | n : int\n", " | Index :math:`n` to check.\n", " |\n", " | Returns\n", " | -------\n", " | bool\n", " | True if :math:`0 \\leq n < N`, false otherwise.\n", " |\n", " | to_data_index(...)\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (n: int)\n", " | -> int\n", " |\n", " |\n", " | Map an index :math:`n \\in \\{0, 1, \\ldots, N-1\\}` to its corresponding data index :math:`d(n)`.\n", " |\n", " | Parameters\n", " | ----------\n", " | n : int\n", " | Index :math:`n` to map.\n", " |\n", " | Returns\n", " | -------\n", " | int\n", " | Data index :math:`d(n) = n`.\n", " |\n", " | to_index(...)\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (d: int)\n", " | -> int\n", " |\n", " |\n", " | Map a data index :math:`d \\in \\{0, 1, \\ldots, N-1\\}` to the corresponding index :math:`n(d)`.\n", " |\n", " | Parameters\n", " | ----------\n", " | d : int\n", " | Data index :math:`d` to map.\n", " |\n", " | Returns\n", " | -------\n", " | int\n", " | Index :math:`n(d) = d`.\n", " |\n", " | to_value(...)\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (n: int)\n", " | -> float\n", " |\n", " |\n", " | Map an index :math:`n \\in \\{0, 1, \\ldots, N-1\\}` to its corresponding value :math:`m(n)`.\n", " |\n", " | Parameters\n", " | ----------\n", " | n : int\n", " | Index :math:`n` to map.\n", " |\n", " | Returns\n", " | -------\n", " | float\n", " | Value of the mesh point :math:`m(n) = a + n \\cdot \\Delta`.\n", " |\n", " | values(...)\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] ()\n", " | -> ndarray[float, 1]\n", " |\n", " |\n", " | Get the values of all mesh points in a mesh.\n", " |\n", " | Parameters\n", " | ----------\n", " | m : MeshImTime\n", " | A mesh object.\n", " |\n", " | Returns\n", " | -------\n", " | ndarray[float, 1]\n", " | Array containing the values of all mesh points.\n", " |\n", " | ----------------------------------------------------------------------\n", " | Static methods defined here:\n", " |\n", " | __new__(*args, **kwargs)\n", " | Create and return a new object. See help(type) for accurate signature.\n", " |\n", " | ----------------------------------------------------------------------\n", " | Data descriptors defined here:\n", " |\n", " | beta\n", " | Get the inverse temperature :math:`\\beta`.\n", " |\n", " | delta\n", " | Get the step size :math:`\\Delta` of the mesh, i.e. the distance between two consecutive mesh points.\n", " |\n", " | delta_inv\n", " | Get the inverse of the step size of the mesh, i.e. :math:`1 / \\Delta`.\n", " |\n", " | first_index\n", " | Get the first index of the mesh, i.e. :math:`0`.\n", " |\n", " | last_index\n", " | Get the last index of the mesh, i.e. :math:`N - 1`.\n", " |\n", " | mesh_hash\n", " | Get the hash value of the mesh.\n", " |\n", " | statistic\n", " | Get the particle statistics.\n", " |\n", " | ----------------------------------------------------------------------\n", " | Data and other attributes defined here:\n", " |\n", " | __hash__ = None\n", "\n" ] } ], "source": [ "# Import the Mesh type we want to use\n", "from triqs.gfs import MeshImTime\n", "\n", "# The documentation tells us which parameters we need to pass for the mesh construction\n", "?MeshImTime" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0\n", "0.5\n", "1.0\n", "1.5\n", "2.0\n", "2.5\n", "3.0\n", "3.5\n", "4.0\n", "4.5\n", "5.0\n" ] } ], "source": [ "# Provide the inverse temperature, Statistic, and number of points\n", "tau_mesh = MeshImTime(beta=5, statistic='Fermion', n_tau=11)\n", "\n", "# We can loop and print the mesh-point values\n", "for tau in tau_mesh:\n", " print(tau.value)\n", "\n", " # Using tab for auto completion can be very helpful to understand\n", " # which other members, functions and properties are available for\n", " # a given Python object like 'tau'.\n", " # Type 'tau.' below and use tab to see which options you get!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's **create and initialize a Green's function for a single atomic level** with energy $\\epsilon$ in the grand-canonical ensemble with inverse temperature $\\beta$\n", "\n", "$$\n", "G[\\tau] = -\\langle\\cal{T}c(\\tau) c^\\dagger\\rangle = -\\frac{e^{-\\tau \\epsilon}}{1+e^{-\\beta \\epsilon}}$$\n", "\n", "We first have a look at the documentation for `Gf`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python Library Documentation: class Gf in module triqs.gfs.gf\n", "\n", "class Gf(builtins.object)\n", " | Gf(**kw)\n", " |\n", " | Container for Green's functions and related quantities.\n", " |\n", " | A :class:`~triqs.gfs.gf.Gf` is a container for generic functions defined on\n", " | meshes:\n", " |\n", " | .. math::\n", " |\n", " | G : \\mathcal{M} \\to T .\n", " |\n", " | Here, :math:`\\mathcal{M}` is the domain of the function, determined\n", " | entirely by the underlying mesh (see :mod:`triqs.mesh.meshes`) or\n", " | :class:`~triqs.mesh.mesh_product.MeshProduct`, and :math:`T` is the\n", " | target space, which determines what quantities are stored at each\n", " | mesh point (real/complex scalars, matrices, tensors).\n", " |\n", " | Typical use cases include\n", " |\n", " | - scalar-valued imaginary time Green's functions\n", " |\n", " | .. math::\n", " |\n", " | G(\\tau) \\equiv - \\mathcal{T} \\langle c(\\tau) c^{\\dagger} (0)\\rangle\n", " | \\qquad \\text{ for } 0 \\leq \\tau \\leq \\beta \\; ,\n", " |\n", " | with :class:`~triqs.mesh.meshes.MeshImTime` as the underlying mesh\n", " | and :math:`T = \\mathbb{R}` as the target space.\n", " | - matrix-valued Matsubara Green's functions\n", " |\n", " | .. math::\n", " |\n", " | G_{\\alpha \\beta} (i \\omega_n) \\equiv \\int_0^\\beta\n", " | G_{\\alpha \\beta}(\\tau) e^{i \\omega_n \\tau} d\\tau \\; ,\n", " |\n", " | with :class:`~triqs.mesh.meshes.MeshImFreq` as the underlying mesh\n", " | and :math:`T = \\mathbb{C}^{N \\times N}` as the target space.\n", " |\n", " | Under the hood, :class:`~triqs.gfs.gf.Gf` stores a contiguous ``numpy.ndarray`` of\n", " | shape ``(*mesh_sizes, *target_shape)`` (see :attr:`~triqs.gfs.gf.Gf.data`). What is\n", " | stored and how Green's functions are evaluated depends on the mesh.\n", " |\n", " | Supported features include:\n", " |\n", " | - Bracket lookup ``g[...]`` and call-style evaluation ``g(...)``\n", " | (see Notes).\n", " | - Element-wise arithmetic (``+``, ``-``, ``*``, ``/``, ``@``) and\n", " | in-place variants. Scalars broadcast along the target-space\n", " | diagonal for square matrix targets; mixing two :class:`~triqs.gfs.gf.Gf`\n", " | requires identical meshes.\n", " | - Lazy initialization via ``g << expr`` from descriptors\n", " | (e.g. ``g << iOmega_n + 0.5``, ``g << SemiCircular(1.0)``).\n", " | See :meth:`~triqs.gfs.gf.Gf.__lshift__` and :mod:`triqs.gfs.descriptors`.\n", " | - HDF5 read/write through :class:`h5.HDFArchive`.\n", " | - Target-space slicing and :attr:`~triqs.gfs.gf.Gf.real` / :attr:`~triqs.gfs.gf.Gf.imag` views.\n", " |\n", " | Parameters\n", " | ----------\n", " | mesh : Mesh or MeshProduct\n", " | Mesh on which the Green's function is defined.\n", " | data : numpy.ndarray, optional\n", " | Raw storage of shape ``(*mesh_sizes, *target_shape)``. Mutually\n", " | exclusive with :attr:`~triqs.gfs.gf.Gf.target_shape`.\n", " | target_shape : list of int, optional\n", " | Shape of the target space (e.g. ``[2, 2]`` for a 2x2 matrix\n", " | Green's function, ``[]`` for a scalar). Mutually exclusive with\n", " | :attr:`~triqs.gfs.gf.Gf.data`.\n", " | is_real : bool, optional\n", " | If ``True`` (and :attr:`~triqs.gfs.gf.Gf.target_shape` is given), allocate the data\n", " | as ``float64`` instead of ``complex128``. Has no effect when\n", " | :attr:`~triqs.gfs.gf.Gf.data` is supplied. Default ``False``.\n", " | name : str, optional\n", " | Name used for plot labels. Default ``''``.\n", " | indices : list, optional\n", " | Deprecated. String indices are no longer supported; passing this\n", " | argument emits a :class:`FutureWarning` and the lengths are used\n", " | to derive :attr:`~triqs.gfs.gf.Gf.target_shape`.\n", " |\n", " | Attributes\n", " | ----------\n", " | mesh : Mesh\n", " | The mesh of the Green's function.\n", " | data : numpy.ndarray\n", " | Raw data, shape ``(*mesh_sizes, *target_shape)``.\n", " | rank : int\n", " | Number of mesh axes (``mesh.rank``).\n", " | target_rank : int\n", " | Number of target-space axes (``len(target_shape)``).\n", " | target_shape : tuple of int\n", " | Shape of the target space.\n", " | name : str\n", " | Plot label.\n", " | real : Gf\n", " | Views of the real part of the :attr:`~triqs.gfs.gf.Gf.data`.\n", " | imag : Gf\n", " | Views of imaginary real part of the :attr:`~triqs.gfs.gf.Gf.data`.\n", " |\n", " | Notes\n", " | -----\n", " | There are subtle differences when accessing a :class:`~triqs.gfs.gf.Gf` with brackets\n", " | ``[]`` vs. parentheses ``()``:\n", " |\n", " | - ``g[x]`` looks up the value at an *existing* mesh point, with ``x``\n", " | an :class:`~triqs.gfs.gf.Idx`, :class:`~triqs.mesh.mesh_point.MeshPoint`, or\n", " | :class:`~triqs.mesh.matsubara_freq.MatsubaraFreq`.\n", " | - ``g(x)`` instead *evaluates* the Green's function at an arbitrary ``x``\n", " | using the interpolation rule the mesh declares -- linear in imaginary time,\n", " | exact in Matsubara, k-linear on the Brillouin zone, basis expansion on\n", " | DLR / Legendre, etc. The mesh, not the :class:`~triqs.gfs.gf.Gf`, decides what\n", " | \"evaluation\" means.\n", " |\n", " | Examples\n", " | --------\n", " | Construct a scalar imaginary-time Green's function and a 2x2\n", " | matrix-valued Matsubara Green's function:\n", " |\n", " | >>> from triqs.gfs import Gf\n", " | >>> from triqs.mesh import MeshImTime, MeshImFreq\n", " | >>> tau_mesh = MeshImTime(beta=10.0, statistic='Fermion', n_tau=2049)\n", " | >>> g_tau = Gf(mesh=tau_mesh, target_shape=[])\n", " | >>> iw_mesh = MeshImFreq(beta=10.0, statistic='Fermion', n_iw=1024)\n", " | >>> g_iw = Gf(mesh=iw_mesh, target_shape=[2, 2])\n", " |\n", " | Initialize lazily from a descriptor expression:\n", " |\n", " | >>> from triqs.gfs import iOmega_n, SemiCircular\n", " | >>> g_iw << iOmega_n + 0.5\n", " | >>> g_tau << SemiCircular(half_bandwidth=1.0)\n", " |\n", " | Access the raw storage as a numpy array:\n", " |\n", " | >>> g_iw.data.shape\n", " | (2048, 2, 2)\n", " | >>> g_iw.data[:] = 0.0 # zero in place\n", " |\n", " | Methods defined here:\n", " |\n", " | __add__(self, y)\n", " | Element-wise addition; returns a new :class:`~triqs.gfs.gf.Gf`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : Gf, descriptor, lazy expression, scalar or numpy.ndarray\n", " | Right-hand operand.\n", " |\n", " | Returns\n", " | -------\n", " | Gf or LazyExpr\n", " | ``self + y`` as a fresh object.\n", " |\n", " | __call__(self, *args)\n", " | Evaluate the Green's function at the given point(s).\n", " |\n", " | Parameters\n", " | ----------\n", " | *args\n", " | One value per mesh axis. Each value may be a raw scalar\n", " | (e.g. a complex frequency, a real frequency, an imaginary\n", " | time, ...), a :class:`~triqs.mesh.mesh_point.MeshPoint` or an\n", " | :class:`~triqs.gfs.gf.Idx`.\n", " |\n", " | Returns\n", " | -------\n", " | numpy.ndarray\n", " | Value of the Green's function at the requested point, of\n", " | shape ``target_shape``. Interpolation between mesh points is\n", " | applied where supported by the C++ backend.\n", " |\n", " | Notes\n", " | -----\n", " | Dispatches to a C++ ``CallProxy*`` selected from the mesh and\n", " | target rank. For mesh / target combinations without a proxy this\n", " | method raises :class:`NotImplementedError`.\n", " |\n", " | __getitem__(self, key)\n", " | Return a mesh point, a sliced view, or a target-space sub-block.\n", " |\n", " | The bracket operator dispatches on the type of ``key``:\n", " |\n", " | * ``g[:]`` — return ``self`` (so that ``g[:] << RHS`` is\n", " | equivalent to ``g << RHS``).\n", " | * ``g[mp]`` with ``mp`` a :class:`~triqs.mesh.mesh_point.MeshPoint`,\n", " | :class:`~triqs.gfs.gf.Idx` or :class:`~triqs.mesh.matsubara_freq.MatsubaraFreq` —\n", " | return the target-space slab at that mesh point (a numpy array).\n", " | * ``g[mp0, mp1, ...]`` — same, for a :class:`~triqs.mesh.mesh_product.MeshProduct`.\n", " | * ``g[mp, :]`` (mix of mesh points and ``:``) — return a\n", " | :class:`~triqs.gfs.gf.Gf` on the remaining mesh axes.\n", " | * ``g[i, j, ...]`` with all-integer indices — extract a\n", " | ``target_rank``-dimensional sub-block as a :class:`~triqs.gfs.gf.Gf` view of\n", " | reduced target rank.\n", " | * ``g[i:j, ...]`` with all-slice indices — slice the target\n", " | space and return a :class:`~triqs.gfs.gf.Gf` view.\n", " |\n", " | Parameters\n", " | ----------\n", " | key : slice, MeshPoint, Idx, MatsubaraFreq, int, or tuple thereof\n", " | See the bullet list above.\n", " |\n", " | Returns\n", " | -------\n", " | Gf or numpy.ndarray\n", " | A :class:`~triqs.gfs.gf.Gf` view when the operation slices the mesh or\n", " | target space; a numpy array when ``key`` resolves to a\n", " | single mesh point.\n", " |\n", " | Notes\n", " | -----\n", " | Partial slicing of the mesh and string indices are not\n", " | supported.\n", " |\n", " | __iadd__(self, arg)\n", " | In-place addition ``self += arg`` (element-wise on ``self.data``).\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : Gf, descriptor, lazy expression, scalar or numpy.ndarray\n", " | Operand. A scalar added to a matrix-valued Gf is broadcast\n", " | along the diagonal of the target space.\n", " |\n", " | Returns\n", " | -------\n", " | Gf or LazyExpr\n", " | ``self`` (or a lazy expression if ``arg`` is lazy).\n", " |\n", " | __imatmul__(self, arg)\n", " | In-place matrix multiplication ``self @= arg`` on the target space.\n", " |\n", " | Evaluated pointwise on the mesh. Rank-0 (scalar-valued) and\n", " | rank-2 (matrix-valued) Green's functions are supported; mixed\n", " | ``rank-0 * rank-2`` broadcasts the scalar value across the\n", " | target-space matrix.\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : Gf, lazy expression, scalar or numpy.ndarray\n", " | Right-hand operand.\n", " |\n", " | Returns\n", " | -------\n", " | Gf or LazyExpr\n", " |\n", " | __imul__(self, arg)\n", " | In-place multiplication ``self *= arg`` (alias for :meth:`~triqs.gfs.gf.Gf.__imatmul__`).\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : Gf, scalar or numpy.ndarray\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " |\n", " | __init__(self, **kw)\n", " | Initialize self. See help(type(self)) for accurate signature.\n", " |\n", " | __isub__(self, arg)\n", " | In-place subtraction ``self -= arg``.\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : Gf, descriptor, lazy expression, scalar or numpy.ndarray\n", " | Operand.\n", " |\n", " | Returns\n", " | -------\n", " | Gf or LazyExpr\n", " |\n", " | __itruediv__(self, arg)\n", " | In-place scalar division ``self /= arg``.\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : scalar\n", " | Divisor applied element-wise to ``self.data``.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " |\n", " | __lazy_expr_eval_context__(self)\n", " |\n", " | __le__(self, other)\n", " | Return self<=value.\n", " |\n", " | __lshift__(self, A)\n", " | Lazy initialization / copy operator (``g << RHS``).\n", " |\n", " | Parameters\n", " | ----------\n", " | A : Gf, descriptor or :class:`~triqs.gfs.lazy_expressions.LazyExpr`\n", " | * If ``A`` is a :class:`~triqs.gfs.gf.Gf` on the same mesh, copy it into\n", " | ``self``.\n", " | * If ``A`` is a descriptor (e.g. :class:`~triqs.gfs.descriptors.SemiCircular`,\n", " | :class:`~triqs.gfs.descriptors.Flat`, :data:`~triqs.gfs.descriptor_base.iOmega_n`)\n", " | or a lazy expression built from descriptors and scalars, evaluate it on\n", " | ``self.mesh`` and store the result.\n", " | * If ``A`` is a scalar, fill the diagonal of the target\n", " | space with that scalar.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " | ``self`` (so that ``g << RHS`` can be chained).\n", " |\n", " | Examples\n", " | --------\n", " | >>> g << iOmega_n + 0.5\n", " | >>> g << SemiCircular(half_bandwidth=1.0)\n", " | >>> g2 << g\n", " |\n", " | __matmul__(self, y)\n", " | Matrix multiplication ``self @ y`` on the target space.\n", " |\n", " | For Matsubara meshes the result mesh statistic follows the\n", " | bosonic / fermionic combination rule of the operands.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : Gf, scalar or numpy.ndarray\n", " | Right-hand operand.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " | Product evaluated pointwise on the mesh; freshly allocated.\n", " |\n", " | __mul__(self, y)\n", " | Multiplication ``self * y`` (alias for :meth:`~triqs.gfs.gf.Gf.__matmul__`).\n", " |\n", " | For matrix-valued Green's functions this is the target-space\n", " | matrix product evaluated pointwise on the mesh.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : Gf, scalar or numpy.ndarray\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " |\n", " | __neg__(self)\n", " | Unary minus ``-self``; returns a new :class:`~triqs.gfs.gf.Gf` with sign-flipped data.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " |\n", " | __radd__(self, y)\n", " | Reflected addition ``y + self``; commutes with :meth:`~triqs.gfs.gf.Gf.__add__`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.gf.Gf.__add__`\n", " |\n", " | Returns\n", " | -------\n", " | Gf or LazyExpr\n", " |\n", " | __reduce__(self)\n", " | Helper for pickle.\n", " |\n", " | __reduce_to_dict__(self)\n", " |\n", " | __repr__(self)\n", " | One-line summary of the Green's function.\n", " |\n", " | Returns\n", " | -------\n", " | str\n", " | ``\"Green's Function with mesh and target_shape \"``.\n", " |\n", " | __rmatmul__(self, y)\n", " | Reflected matrix multiplication ``y @ self``.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : scalar or 2D numpy.ndarray\n", " | Left-hand operand.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " |\n", " | __rmul__(self, y)\n", " | Reflected multiplication ``y * self``.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : scalar or numpy.ndarray\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " |\n", " | __rsub__(self, y)\n", " | Reflected subtraction ``y - self``.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.gf.Gf.__sub__`\n", " |\n", " | Returns\n", " | -------\n", " | Gf or LazyExpr\n", " |\n", " | __setitem__(self, key, val)\n", " | Assign at a mesh point or delegate to ``<<`` for everything else.\n", " |\n", " | ``g[mp] = val`` writes ``val`` into ``self.data`` at the data\n", " | index corresponding to ``mp`` (a :class:`~triqs.mesh.mesh_point.MeshPoint`,\n", " | :class:`~triqs.gfs.gf.Idx` or :class:`~triqs.mesh.matsubara_freq.MatsubaraFreq`,\n", " | or a tuple of those for a :class:`~triqs.mesh.mesh_product.MeshProduct`). Any\n", " | other shape of ``key`` falls back to ``self[key] << val``.\n", " |\n", " | Parameters\n", " | ----------\n", " | key : MeshPoint, Idx, MatsubaraFreq, tuple thereof\n", " | Assignment target.\n", " | val : array-like or Gf-compatible\n", " | Value or Green's function to assign.\n", " |\n", " | __str__(self)\n", " | Alias for :meth:`~triqs.gfs.gf.Gf.__repr__`.\n", " |\n", " | Returns\n", " | -------\n", " | str\n", " |\n", " | __sub__(self, y)\n", " | Element-wise subtraction; returns a new :class:`~triqs.gfs.gf.Gf`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.gf.Gf.__isub__`\n", " |\n", " | Returns\n", " | -------\n", " | Gf or LazyExpr\n", " | ``self - y``.\n", " |\n", " | __truediv__(self, y)\n", " | Scalar division ``self / y``; returns a new :class:`~triqs.gfs.gf.Gf`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : scalar\n", " | Divisor.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " |\n", " | conjugate(self)\n", " | Conjugate of the Green's function.\n", " |\n", " | Returns\n", " | -------\n", " | G : Gf (copy)\n", " | Conjugate of the Green's function.\n", " |\n", " | copy(self)\n", " | Return an independent deep copy of ``self``.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " | Copy with freshly allocated mesh and data arrays.\n", " |\n", " | copy_from(self, another)\n", " | In-place copy from ``another`` into ``self``.\n", " |\n", " | Parameters\n", " | ----------\n", " | another : Gf\n", " | Source Green's function. Must have an identical data shape;\n", " | its mesh is copied into ``self.mesh``.\n", " |\n", " | Raises\n", " | ------\n", " | AssertionError\n", " | If ``self.data.shape != another.data.shape``.\n", " |\n", " | density(self, *args, **kwargs)\n", " | Compute the single-particle density matrix.\n", " |\n", " | Equivalent to :math:`\\langle c^\\dagger_i c_j \\rangle` evaluated\n", " | from the diagonal-frequency / equal-time limit of the Green's\n", " | function.\n", " |\n", " | Parameters\n", " | ----------\n", " | beta : float, optional\n", " | Inverse temperature. Required only for finite-temperature\n", " | density evaluation on a :class:`~triqs.mesh.meshes.MeshReFreq` mesh.\n", " |\n", " | Returns\n", " | -------\n", " | density_matrix : numpy.ndarray\n", " | Single-particle density matrix of shape ``target_shape``.\n", " |\n", " | Notes\n", " | -----\n", " | Only available for single-mesh Green's functions on a Matsubara,\n", " | real-frequency or Legendre mesh.\n", " |\n", " | enforce_discontinuity(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (gl: Gf[MeshLegendre, 2], disc: ndarray[float, 2])\n", " | -> void\n", " |\n", " |\n", " | Enforce a prescribed jump at :math:`\\tau = 0` for a Legendre Green's function.\n", " |\n", " | The Legendre coefficients are adjusted in place so that the corresponding imaginary-time Green's\n", " | function has the specified discontinuity :math:`G(0^+) - G(0^-)` at :math:`\\tau = 0` (which equals :math:`-1` for\n", " | a fermionic propagator). Coefficients above the constrained subspace are left unchanged.\n", " |\n", " | Parameters\n", " | ----------\n", " | gl : Gf[MeshLegendre, 2]\n", " | Legendre Green's function modified in place.\n", " | disc : ndarray[float, 2]\n", " | Target discontinuity at :math:`\\tau = 0`.\n", " |\n", " | fit_hermitian_tail(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 2],\n", " | known_moments: ndarray[complex, 3] = [])\n", " | -> tuple[ndarray[complex, 3], float]\n", " |\n", " | [2] (g: Gf[MeshImFreq, 0],\n", " | known_moments: ndarray[complex, 1] = [])\n", " | -> tuple[ndarray[complex, 1], float]\n", " |\n", " | [3] (bg: BlockGf[MeshImFreq, 2],\n", " | known_moments: [ndarray[complex, 3]] = )\n", " | -> tuple[[ndarray[complex, 3]], float]\n", " |\n", " | [4] (bg: BlockGf[MeshImFreq, 0],\n", " | known_moments: [ndarray[complex, 1]] = )\n", " | -> tuple[[ndarray[complex, 1]], float]\n", " |\n", " |\n", " | [1, 2] Fit the high-frequency tail of a Green's function, imposing hermitian symmetry on the fitted moments.\n", " |\n", " | The symmetry constraint is :math:`G_{i,j}(i\\omega) = G_{j,i}^*(-i\\omega)`.\n", " |\n", " | ------\n", " |\n", " | [3, 4] Fit the high-frequency tail of a block Green's function, imposing hermitian symmetry block by block.\n", " |\n", " | The symmetry constraint is :math:`G_{i,j}(i\\omega) = G_{j,i}^*(-i\\omega)`.\n", " |\n", " | Each block is fitted independently with the same symmetry constraint. The returned error is the maximum across\n", " | blocks.\n", " |\n", " | ------\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 2], Gf[MeshImFreq, 0]\n", " | The Green's function whose tail is to be fitted.\n", " | known_moments : ndarray[complex, 3], ndarray[complex, 1]\n", " | Array of known high-frequency moments to constrain the fit.\n", " | bg : BlockGf[MeshImFreq, 2], BlockGf[MeshImFreq, 0]\n", " | The block Green's function whose tail is to be fitted.\n", " |\n", " | Returns\n", " | -------\n", " | [1] : tuple[ndarray[complex, 3], float]\n", " | A pair containing the fitted tail moments and the fitting error.\n", " |\n", " | [2] : tuple[ndarray[complex, 1], float]\n", " | A pair containing the fitted tail moments and the fitting error.\n", " |\n", " | [3] : tuple[[ndarray[complex, 3]], float]\n", " | A pair containing the per-block fitted tail moments and the worst-block fitting error.\n", " |\n", " | [4] : tuple[[ndarray[complex, 1]], float]\n", " | A pair containing the per-block fitted tail moments and the worst-block fitting error.\n", " |\n", " | fit_hermitian_tail_on_window(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 2],\n", " | n_min: int,\n", " | n_max: int,\n", " | known_moments: ndarray[complex, 3],\n", " | n_tail_max: int,\n", " | expansion_order: int)\n", " | -> tuple[ndarray[complex, 3], float]\n", " |\n", " |\n", " | Fit the high-frequency tail on a restricted window, imposing hermitian moment matrices.\n", " |\n", " | Behaves like ``fit_tail_on_window`` but enforces the symmetry :math:`G_{i,j}(i\\omega) =\n", " | G_{j,i}^*(-i\\omega)` on the fitted moments.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 2]\n", " | The Matsubara Green's function whose tail is to be fitted.\n", " | n_min : int\n", " | Minimum Matsubara index of the fit window.\n", " | n_max : int\n", " | Maximum Matsubara index of the fit window (:math:`-1` means use the last index of the mesh).\n", " | known_moments : ndarray[complex, 3]\n", " | Array of known high-frequency moments to constrain the fit.\n", " | n_tail_max : int\n", " | Maximum frequency index used internally by the tail fitter.\n", " | expansion_order : int\n", " | Order of the tail expansion to fit.\n", " |\n", " | Returns\n", " | -------\n", " | tuple[ndarray[complex, 3], float]\n", " | A pair containing the fitted tail moments and the fitting error.\n", " |\n", " | fit_tail(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 2],\n", " | known_moments: ndarray[complex, 3] = [])\n", " | -> tuple[ndarray[complex, 3], float]\n", " |\n", " | [2] (g: Gf[MeshImFreq, 0],\n", " | known_moments: ndarray[complex, 1] = [])\n", " | -> tuple[ndarray[complex, 1], float]\n", " |\n", " | [3] (g: Gf[MeshReFreq, 2],\n", " | known_moments: ndarray[complex, 3] = [])\n", " | -> tuple[ndarray[complex, 3], float]\n", " |\n", " | [4] (g: Gf[MeshReFreq, 0],\n", " | known_moments: ndarray[complex, 1] = [])\n", " | -> tuple[ndarray[complex, 1], float]\n", " |\n", " | [5] (bg: BlockGf[MeshImFreq, 2],\n", " | known_moments: [ndarray[complex, 3]] = )\n", " | -> tuple[[ndarray[complex, 3]], float]\n", " |\n", " | [6] (bg: BlockGf[MeshImFreq, 0],\n", " | known_moments: [ndarray[complex, 1]] = )\n", " | -> tuple[[ndarray[complex, 1]], float]\n", " |\n", " | [7] (bg: BlockGf[MeshReFreq, 2],\n", " | known_moments: [ndarray[complex, 3]] = )\n", " | -> tuple[[ndarray[complex, 3]], float]\n", " |\n", " | [8] (bg: BlockGf[MeshReFreq, 0],\n", " | known_moments: [ndarray[complex, 1]] = )\n", " | -> tuple[[ndarray[complex, 1]], float]\n", " |\n", " |\n", " | [1, 2, 3, 4] Fit the high-frequency tail of a Green's function using a least-squares procedure.\n", " |\n", " | The result is the set of expansion moments that best reproduces the high-frequency behavior of :math:`G`\n", " | on the configured tail-fit window. Known moments, when provided, are treated as exact constraints on the fit.\n", " |\n", " | ------\n", " |\n", " | [5, 6, 7, 8] Fit the high-frequency tail of a block Green's function using a least-squares procedure.\n", " |\n", " | Each block is fitted independently using ``fit_tail``. The returned error is the maximum across blocks.\n", " |\n", " | ------\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 2], Gf[MeshImFreq, 0], Gf[MeshReFreq, 2], Gf[MeshReFreq, 0]\n", " | The Green's function whose tail is to be fitted.\n", " | known_moments : ndarray[complex, 3], ndarray[complex, 1]\n", " | Array of known high-frequency moments to constrain the fit.\n", " | bg : BlockGf[MeshImFreq, 2], BlockGf[MeshImFreq, 0], BlockGf[MeshReFreq, 2], BlockGf[MeshReFreq, 0]\n", " | The block Green's function whose tail is to be fitted.\n", " |\n", " | Returns\n", " | -------\n", " | [1, 3] : tuple[ndarray[complex, 3], float]\n", " | A pair containing the fitted tail moments and the fitting error.\n", " |\n", " | [2, 4] : tuple[ndarray[complex, 1], float]\n", " | A pair containing the fitted tail moments and the fitting error.\n", " |\n", " | [5, 7] : tuple[[ndarray[complex, 3]], float]\n", " | A pair containing the per-block fitted tail moments and the worst-block fitting error.\n", " |\n", " | [6, 8] : tuple[[ndarray[complex, 1]], float]\n", " | A pair containing the per-block fitted tail moments and the worst-block fitting error.\n", " |\n", " | fit_tail_on_window(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 2],\n", " | n_min: int,\n", " | n_max: int,\n", " | known_moments: ndarray[complex, 3],\n", " | n_tail_max: int,\n", " | expansion_order: int)\n", " | -> tuple[ndarray[complex, 3], float]\n", " |\n", " |\n", " | Fit the high-frequency tail of a Matsubara Green's function on a restricted frequency window.\n", " |\n", " | The fit is performed on the window :math:`[n_{\\min}, n_{\\max}]` of the Matsubara mesh (:math:`n_{\\max} =\n", " | -1` selects the last index of the mesh). The tail fitter is configured from ``n_tail_max`` and\n", " | ``expansion_order``, and the fit is delegated to ``fit_tail``.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 2]\n", " | The Matsubara Green's function whose tail is to be fitted.\n", " | n_min : int\n", " | Minimum Matsubara index of the fit window.\n", " | n_max : int\n", " | Maximum Matsubara index of the fit window (:math:`-1` means use the last index of the mesh).\n", " | known_moments : ndarray[complex, 3]\n", " | Array of known high-frequency moments to constrain the fit.\n", " | n_tail_max : int\n", " | Maximum frequency index used internally by the tail fitter.\n", " | expansion_order : int\n", " | Order of the tail expansion to fit.\n", " |\n", " | Returns\n", " | -------\n", " | tuple[ndarray[complex, 3], float]\n", " | A pair containing the fitted tail moments and the fitting error.\n", " |\n", " | from_L_G_R(self, L, G, R)\n", " | Matrix transform of the target space of a matrix valued Green's function.\n", " |\n", " | Sets the current Green's function :math:`g_{ab}` to the matrix transform of :math:`G_{cd}`\n", " | using the left and right transform matrices :math:`L_{ac}` and :math:`R_{db}`.\n", " |\n", " | .. math::\n", " | g_{ab} = \\sum_{cd} L_{ac} G_{cd} R_{db}\n", " |\n", " | Parameters\n", " | ----------\n", " | L : (a, c) ndarray\n", " | Left side transform matrix.\n", " | G : Gf matrix valued target_shape == (c, d)\n", " | Green's function to transform.\n", " | R : (d, b) ndarray\n", " | Right side transform matrix.\n", " |\n", " | Notes\n", " | -----\n", " | Only implemented for Green's functions with a single mesh.\n", " |\n", " | inverse(self)\n", " | Computes the inverse of the Green's function.\n", " |\n", " | Returns\n", " | -------\n", " | G : Gf (copy)\n", " | The matrix/scalar inverse of the Green's function.\n", " |\n", " | invert(self)\n", " | Inverts the Green's function (in place).\n", " |\n", " | is_gf_hermitian(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [2] (g: Gf[MeshImFreq, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [3] (g: Gf[MeshImFreq, 4], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [4] (g: BlockGf[MeshImFreq, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [5] (g: BlockGf[MeshImFreq, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [6] (g: BlockGf[MeshImFreq, 4], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [7] (g: Block2Gf[MeshImFreq, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [8] (g: Block2Gf[MeshImFreq, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [9] (g: Block2Gf[MeshImFreq, 4], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [10] (g: Gf[MeshImTime, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [11] (g: Gf[MeshImTime, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [12] (g: Gf[MeshImTime, 4], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [13] (g: BlockGf[MeshImTime, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [14] (g: BlockGf[MeshImTime, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [15] (g: BlockGf[MeshImTime, 4], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [16] (g: Block2Gf[MeshImTime, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [17] (g: Block2Gf[MeshImTime, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [18] (g: Block2Gf[MeshImTime, 4], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " |\n", " | Test whether a Green's function satisfies the hermitian symmetry up to a tolerance :math:`\\epsilon`.\n", " |\n", " | Depending on the mesh and target rank, one of the following relations is checked:\n", " |\n", " | - :math:`G(i\\omega) \\approx \\frac{1}{2} [ G(i\\omega) + G^*(-i\\omega) ]`\n", " | - :math:`G(\\tau) \\approx \\frac{1}{2} [ G(\\tau) + G^*(\\tau) ]`\n", " | - :math:`G_{i,j}(i\\omega) \\approx \\frac{1}{2} [ G_{i,j}(i\\omega) + G_{j,i}^*(i\\omega) ]`\n", " | - :math:`G_{i,j}(\\tau) \\approx \\frac{1}{2} [ G_{i,j}(\\tau) + G_{j,i}^*(\\tau) ]`\n", " | - :math:`G_{i,j,k,l}(i\\omega) \\approx \\frac{1}{2} [ G_{i,j,k,l}(i\\omega)] + G_{k,l,i,j}^*(i\\omega) ]`\n", " | - :math:`G_{i,j,k,l}(\\tau) \\approx \\frac{1}{2} [ G_{i,j,k,l}(\\tau) + G_{k,l,i,j}(\\tau) ]`\n", " |\n", " | For block Green's functions, the check is applied block-wise.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 0], Gf[MeshImFreq, 2], Gf[MeshImFreq, 4], BlockGf[MeshImFreq, 0], BlockGf[MeshImFreq, 2], BlockGf[MeshImFreq, 4], Block2Gf[MeshImFreq, 0], Block2Gf[MeshImFreq, 2], Block2Gf[MeshImFreq, 4], Gf[MeshImTime, 0], Gf[MeshImTime, 2], Gf[MeshImTime, 4], BlockGf[MeshImTime, 0], BlockGf[MeshImTime, 2], BlockGf[MeshImTime, 4], Block2Gf[MeshImTime, 0], Block2Gf[MeshImTime, 2], Block2Gf[MeshImTime, 4]\n", " | The Green's function to check.\n", " | tolerance : float\n", " | Tolerance :math:`\\epsilon` for the check (default :math:`10^{-12}`).\n", " |\n", " | Returns\n", " | -------\n", " | bool\n", " | True if the property holds at every point of the mesh.\n", " |\n", " | is_gf_real_in_tau(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [2] (g: Gf[MeshImFreq, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [3] (g: BlockGf[MeshImFreq, 0], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " | [4] (g: BlockGf[MeshImFreq, 2], tolerance: float = 1e-12)\n", " | -> bool\n", " |\n", " |\n", " | Test whether a Matsubara Green's function corresponds to a real imaginary-time Green's function.\n", " |\n", " | The criterion checked, up to tolerance :math:`\\epsilon`, is :math:`G_{i,j,\\dots}(i\\omega) \\approx\n", " | G_{i,j,\\dots}^*(-i\\omega)` for every element of the target space and for every Matsubara frequency.\n", " |\n", " | For block Green's functions, the check is applied block-wise.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 0], Gf[MeshImFreq, 2], BlockGf[MeshImFreq, 0], BlockGf[MeshImFreq, 2]\n", " | The Matsubara Green's function to check.\n", " | tolerance : float\n", " | Tolerance :math:`\\epsilon` for the check (default :math:`10^{-12}`).\n", " |\n", " | Returns\n", " | -------\n", " | bool\n", " | True if the property holds at every point of the mesh.\n", " |\n", " | rebinning_tau(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImTime, 2], new_n_tau: int)\n", " | -> Gf[MeshImTime, 2]\n", " |\n", " |\n", " | Rebin an imaginary-time Green's function onto a coarser uniform mesh.\n", " |\n", " | The new mesh has ``new_n_tau`` points covering the same :math:`[0, \\beta]` interval. Each output point\n", " | is an average of the input values whose :math:`\\tau` falls in the corresponding bin.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImTime, 2]\n", " | The imaginary-time Green's function to rebin.\n", " | new_n_tau : int\n", " | Number of points of the output mesh.\n", " |\n", " | Returns\n", " | -------\n", " | Gf[MeshImTime, 2]\n", " | A new imaginary-time Green's function on a mesh of size ``new_n_tau``.\n", " |\n", " | replace_by_tail(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 2], tail: ndarray[complex, 3], n_min: int)\n", " | -> void\n", " |\n", " |\n", " | Overwrite the high-frequency tail of a Matsubara Green's function.\n", " |\n", " | For every Matsubara index with :math:`|n| \\geq n_{\\min}`, the value of the Green's function is replaced by\n", " | the tail expansion evaluated at that frequency. Values at lower indices are left unchanged.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 2]\n", " | The Matsubara Green's function to modify in place.\n", " | tail : ndarray[complex, 3]\n", " | The high-frequency moments used to build the tail.\n", " | n_min : int\n", " | Minimum absolute Matsubara index from which to apply the tail.\n", " |\n", " | replace_by_tail_in_fit_window(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshImFreq, 2], tail: ndarray[complex, 3])\n", " | -> void\n", " |\n", " |\n", " | Overwrite the high-frequency portion of a Matsubara Green's function with the tail expansion.\n", " |\n", " | The cutoff :math:`n_{\\min}` is first set automatically from the tail-fit window of the mesh. Then the\n", " | function delegates to ``replace_by_tail``.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshImFreq, 2]\n", " | The Matsubara Green's function to modify in place.\n", " | tail : ndarray[complex, 3]\n", " | The high-frequency moments used to build the tail.\n", " |\n", " | set_from_fourier(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g_out: Gf[MeshImFreq, 0], g_in: Gf[MeshImTime, 0])\n", " | -> void\n", " |\n", " | [2] (g_out: BlockGf[MeshImFreq, 0], g_in: BlockGf[MeshImTime, 0])\n", " | -> void\n", " |\n", " | [3] (g_out: Block2Gf[MeshImFreq, 0], g_in: Block2Gf[MeshImTime, 0])\n", " | -> void\n", " |\n", " | [4] (g_out: Gf[MeshImFreq, 0], g_in: Gf[MeshImTime, 0])\n", " | -> void\n", " |\n", " | [5] (g_out: BlockGf[MeshImFreq, 0], g_in: BlockGf[MeshImTime, 0])\n", " | -> void\n", " |\n", " | [6] (g_out: Block2Gf[MeshImFreq, 0], g_in: Block2Gf[MeshImTime, 0])\n", " | -> void\n", " |\n", " | [7] (g_out: Gf[MeshImFreq, 0], g_in: Gf[MeshImTime, 0], known_moments: ndarray[complex, 1])\n", " | -> void\n", " |\n", " | [8] (g_out: Gf[MeshImTime, 0], g_in: Gf[MeshImFreq, 0])\n", " | -> void\n", " |\n", " | [9] (g_out: BlockGf[MeshImTime, 0], g_in: BlockGf[MeshImFreq, 0])\n", " | -> void\n", " |\n", " | [10] (g_out: Block2Gf[MeshImTime, 0], g_in: Block2Gf[MeshImFreq, 0])\n", " | -> void\n", " |\n", " | [11] (g_out: Gf[MeshImTime, 0], g_in: Gf[MeshImFreq, 0], known_moments: ndarray[complex, 1])\n", " | -> void\n", " |\n", " | [12] (g_out: Gf[MeshReFreq, 0], g_in: Gf[MeshReTime, 0])\n", " | -> void\n", " |\n", " | [13] (g_out: BlockGf[MeshReFreq, 0], g_in: BlockGf[MeshReTime, 0])\n", " | -> void\n", " |\n", " | [14] (g_out: Block2Gf[MeshReFreq, 0], g_in: Block2Gf[MeshReTime, 0])\n", " | -> void\n", " |\n", " | [15] (g_out: Gf[MeshReFreq, 0], g_in: Gf[MeshReTime, 0])\n", " | -> void\n", " |\n", " | [16] (g_out: BlockGf[MeshReFreq, 0], g_in: BlockGf[MeshReTime, 0])\n", " | -> void\n", " |\n", " | [17] (g_out: Block2Gf[MeshReFreq, 0], g_in: Block2Gf[MeshReTime, 0])\n", " | -> void\n", " |\n", " | [18] (g_out: Gf[MeshReFreq, 0], g_in: Gf[MeshReTime, 0], known_moments: ndarray[complex, 1])\n", " | -> void\n", " |\n", " | [19] (g_out: Gf[MeshReTime, 0], g_in: Gf[MeshReFreq, 0])\n", " | -> void\n", " |\n", " | [20] (g_out: BlockGf[MeshReTime, 0], g_in: BlockGf[MeshReFreq, 0])\n", " | -> void\n", " |\n", " | [21] (g_out: Block2Gf[MeshReTime, 0], g_in: Block2Gf[MeshReFreq, 0])\n", " | -> void\n", " |\n", " | [22] (g_out: Gf[MeshReTime, 0], g_in: Gf[MeshReFreq, 0], known_moments: ndarray[complex, 1])\n", " | -> void\n", " |\n", " | [23] (g_out: Gf[MeshCycLat, 0], g_in: Gf[MeshBrZone, 0])\n", " | -> void\n", " |\n", " | [24] (g_out: BlockGf[MeshCycLat, 0], g_in: BlockGf[MeshBrZone, 0])\n", " | -> void\n", " |\n", " | [25] (g_out: Block2Gf[MeshCycLat, 0], g_in: Block2Gf[MeshBrZone, 0])\n", " | -> void\n", " |\n", " | [26] (g_out: Gf[MeshBrZone, 0], g_in: Gf[MeshCycLat, 0])\n", " | -> void\n", " |\n", " | [27] (g_out: BlockGf[MeshBrZone, 0], g_in: BlockGf[MeshCycLat, 0])\n", " | -> void\n", " |\n", " | [28] (g_out: Block2Gf[MeshBrZone, 0], g_in: Block2Gf[MeshCycLat, 0])\n", " | -> void\n", " |\n", " | [29] (g_out: Gf[MeshImFreq, 1], g_in: Gf[MeshImTime, 1])\n", " | -> void\n", " |\n", " | [30] (g_out: BlockGf[MeshImFreq, 1], g_in: BlockGf[MeshImTime, 1])\n", " | -> void\n", " |\n", " | [31] (g_out: Block2Gf[MeshImFreq, 1], g_in: Block2Gf[MeshImTime, 1])\n", " | -> void\n", " |\n", " | [32] (g_out: Gf[MeshImFreq, 1], g_in: Gf[MeshImTime, 1])\n", " | -> void\n", " |\n", " | [33] (g_out: BlockGf[MeshImFreq, 1], g_in: BlockGf[MeshImTime, 1])\n", " | -> void\n", " |\n", " | [34] (g_out: Block2Gf[MeshImFreq, 1], g_in: Block2Gf[MeshImTime, 1])\n", " | -> void\n", " |\n", " | [35] (g_out: Gf[MeshImFreq, 1], g_in: Gf[MeshImTime, 1], known_moments: ndarray[complex, 2])\n", " | -> void\n", " |\n", " | [36] (g_out: Gf[MeshImTime, 1], g_in: Gf[MeshImFreq, 1])\n", " | -> void\n", " |\n", " | [37] (g_out: BlockGf[MeshImTime, 1], g_in: BlockGf[MeshImFreq, 1])\n", " | -> void\n", " |\n", " | [38] (g_out: Block2Gf[MeshImTime, 1], g_in: Block2Gf[MeshImFreq, 1])\n", " | -> void\n", " |\n", " | [39] (g_out: Gf[MeshImTime, 1], g_in: Gf[MeshImFreq, 1], known_moments: ndarray[complex, 2])\n", " | -> void\n", " |\n", " | [40] (g_out: Gf[MeshReFreq, 1], g_in: Gf[MeshReTime, 1])\n", " | -> void\n", " |\n", " | [41] (g_out: BlockGf[MeshReFreq, 1], g_in: BlockGf[MeshReTime, 1])\n", " | -> void\n", " |\n", " | [42] (g_out: Block2Gf[MeshReFreq, 1], g_in: Block2Gf[MeshReTime, 1])\n", " | -> void\n", " |\n", " | [43] (g_out: Gf[MeshReFreq, 1], g_in: Gf[MeshReTime, 1])\n", " | -> void\n", " |\n", " | [44] (g_out: BlockGf[MeshReFreq, 1], g_in: BlockGf[MeshReTime, 1])\n", " | -> void\n", " |\n", " | [45] (g_out: Block2Gf[MeshReFreq, 1], g_in: Block2Gf[MeshReTime, 1])\n", " | -> void\n", " |\n", " | [46] (g_out: Gf[MeshReFreq, 1], g_in: Gf[MeshReTime, 1], known_moments: ndarray[complex, 2])\n", " | -> void\n", " |\n", " | [47] (g_out: Gf[MeshReTime, 1], g_in: Gf[MeshReFreq, 1])\n", " | -> void\n", " |\n", " | [48] (g_out: BlockGf[MeshReTime, 1], g_in: BlockGf[MeshReFreq, 1])\n", " | -> void\n", " |\n", " | [49] (g_out: Block2Gf[MeshReTime, 1], g_in: Block2Gf[MeshReFreq, 1])\n", " | -> void\n", " |\n", " | [50] (g_out: Gf[MeshReTime, 1], g_in: Gf[MeshReFreq, 1], known_moments: ndarray[complex, 2])\n", " | -> void\n", " |\n", " | [51] (g_out: Gf[MeshCycLat, 1], g_in: Gf[MeshBrZone, 1])\n", " | -> void\n", " |\n", " | [52] (g_out: BlockGf[MeshCycLat, 1], g_in: BlockGf[MeshBrZone, 1])\n", " | -> void\n", " |\n", " | [53] (g_out: Block2Gf[MeshCycLat, 1], g_in: Block2Gf[MeshBrZone, 1])\n", " | -> void\n", " |\n", " | [54] (g_out: Gf[MeshBrZone, 1], g_in: Gf[MeshCycLat, 1])\n", " | -> void\n", " |\n", " | [55] (g_out: BlockGf[MeshBrZone, 1], g_in: BlockGf[MeshCycLat, 1])\n", " | -> void\n", " |\n", " | [56] (g_out: Block2Gf[MeshBrZone, 1], g_in: Block2Gf[MeshCycLat, 1])\n", " | -> void\n", " |\n", " | [57] (g_out: Gf[MeshImFreq, 2], g_in: Gf[MeshImTime, 2])\n", " | -> void\n", " |\n", " | [58] (g_out: BlockGf[MeshImFreq, 2], g_in: BlockGf[MeshImTime, 2])\n", " | -> void\n", " |\n", " | [59] (g_out: Block2Gf[MeshImFreq, 2], g_in: Block2Gf[MeshImTime, 2])\n", " | -> void\n", " |\n", " | [60] (g_out: Gf[MeshImFreq, 2], g_in: Gf[MeshImTime, 2])\n", " | -> void\n", " |\n", " | [61] (g_out: BlockGf[MeshImFreq, 2], g_in: BlockGf[MeshImTime, 2])\n", " | -> void\n", " |\n", " | [62] (g_out: Block2Gf[MeshImFreq, 2], g_in: Block2Gf[MeshImTime, 2])\n", " | -> void\n", " |\n", " | [63] (g_out: Gf[MeshImFreq, 2], g_in: Gf[MeshImTime, 2], known_moments: ndarray[complex, 3])\n", " | -> void\n", " |\n", " | [64] (g_out: Gf[MeshImTime, 2], g_in: Gf[MeshImFreq, 2])\n", " | -> void\n", " |\n", " | [65] (g_out: BlockGf[MeshImTime, 2], g_in: BlockGf[MeshImFreq, 2])\n", " | -> void\n", " |\n", " | [66] (g_out: Block2Gf[MeshImTime, 2], g_in: Block2Gf[MeshImFreq, 2])\n", " | -> void\n", " |\n", " | [67] (g_out: Gf[MeshImTime, 2], g_in: Gf[MeshImFreq, 2], known_moments: ndarray[complex, 3])\n", " | -> void\n", " |\n", " | [68] (g_out: Gf[MeshReFreq, 2], g_in: Gf[MeshReTime, 2])\n", " | -> void\n", " |\n", " | [69] (g_out: BlockGf[MeshReFreq, 2], g_in: BlockGf[MeshReTime, 2])\n", " | -> void\n", " |\n", " | [70] (g_out: Block2Gf[MeshReFreq, 2], g_in: Block2Gf[MeshReTime, 2])\n", " | -> void\n", " |\n", " | [71] (g_out: Gf[MeshReFreq, 2], g_in: Gf[MeshReTime, 2])\n", " | -> void\n", " |\n", " | [72] (g_out: BlockGf[MeshReFreq, 2], g_in: BlockGf[MeshReTime, 2])\n", " | -> void\n", " |\n", " | [73] (g_out: Block2Gf[MeshReFreq, 2], g_in: Block2Gf[MeshReTime, 2])\n", " | -> void\n", " |\n", " | [74] (g_out: Gf[MeshReFreq, 2], g_in: Gf[MeshReTime, 2], known_moments: ndarray[complex, 3])\n", " | -> void\n", " |\n", " | [75] (g_out: Gf[MeshReTime, 2], g_in: Gf[MeshReFreq, 2])\n", " | -> void\n", " |\n", " | [76] (g_out: BlockGf[MeshReTime, 2], g_in: BlockGf[MeshReFreq, 2])\n", " | -> void\n", " |\n", " | [77] (g_out: Block2Gf[MeshReTime, 2], g_in: Block2Gf[MeshReFreq, 2])\n", " | -> void\n", " |\n", " | [78] (g_out: Gf[MeshReTime, 2], g_in: Gf[MeshReFreq, 2], known_moments: ndarray[complex, 3])\n", " | -> void\n", " |\n", " | [79] (g_out: Gf[MeshCycLat, 2], g_in: Gf[MeshBrZone, 2])\n", " | -> void\n", " |\n", " | [80] (g_out: BlockGf[MeshCycLat, 2], g_in: BlockGf[MeshBrZone, 2])\n", " | -> void\n", " |\n", " | [81] (g_out: Block2Gf[MeshCycLat, 2], g_in: Block2Gf[MeshBrZone, 2])\n", " | -> void\n", " |\n", " | [82] (g_out: Gf[MeshBrZone, 2], g_in: Gf[MeshCycLat, 2])\n", " | -> void\n", " |\n", " | [83] (g_out: BlockGf[MeshBrZone, 2], g_in: BlockGf[MeshCycLat, 2])\n", " | -> void\n", " |\n", " | [84] (g_out: Block2Gf[MeshBrZone, 2], g_in: Block2Gf[MeshCycLat, 2])\n", " | -> void\n", " |\n", " | [85] (g_out: Gf[MeshImFreq, 3], g_in: Gf[MeshImTime, 3])\n", " | -> void\n", " |\n", " | [86] (g_out: BlockGf[MeshImFreq, 3], g_in: BlockGf[MeshImTime, 3])\n", " | -> void\n", " |\n", " | [87] (g_out: Block2Gf[MeshImFreq, 3], g_in: Block2Gf[MeshImTime, 3])\n", " | -> void\n", " |\n", " | [88] (g_out: Gf[MeshImFreq, 3], g_in: Gf[MeshImTime, 3])\n", " | -> void\n", " |\n", " | [89] (g_out: BlockGf[MeshImFreq, 3], g_in: BlockGf[MeshImTime, 3])\n", " | -> void\n", " |\n", " | [90] (g_out: Block2Gf[MeshImFreq, 3], g_in: Block2Gf[MeshImTime, 3])\n", " | -> void\n", " |\n", " | [91] (g_out: Gf[MeshImFreq, 3], g_in: Gf[MeshImTime, 3], known_moments: ndarray[complex, 4])\n", " | -> void\n", " |\n", " | [92] (g_out: Gf[MeshImTime, 3], g_in: Gf[MeshImFreq, 3])\n", " | -> void\n", " |\n", " | [93] (g_out: BlockGf[MeshImTime, 3], g_in: BlockGf[MeshImFreq, 3])\n", " | -> void\n", " |\n", " | [94] (g_out: Block2Gf[MeshImTime, 3], g_in: Block2Gf[MeshImFreq, 3])\n", " | -> void\n", " |\n", " | [95] (g_out: Gf[MeshImTime, 3], g_in: Gf[MeshImFreq, 3], known_moments: ndarray[complex, 4])\n", " | -> void\n", " |\n", " | [96] (g_out: Gf[MeshReFreq, 3], g_in: Gf[MeshReTime, 3])\n", " | -> void\n", " |\n", " | [97] (g_out: BlockGf[MeshReFreq, 3], g_in: BlockGf[MeshReTime, 3])\n", " | -> void\n", " |\n", " | [98] (g_out: Block2Gf[MeshReFreq, 3], g_in: Block2Gf[MeshReTime, 3])\n", " | -> void\n", " |\n", " | [99] (g_out: Gf[MeshReFreq, 3], g_in: Gf[MeshReTime, 3])\n", " | -> void\n", " |\n", " | [100] (g_out: BlockGf[MeshReFreq, 3], g_in: BlockGf[MeshReTime, 3])\n", " | -> void\n", " |\n", " | [101] (g_out: Block2Gf[MeshReFreq, 3], g_in: Block2Gf[MeshReTime, 3])\n", " | -> void\n", " |\n", " | [102] (g_out: Gf[MeshReFreq, 3], g_in: Gf[MeshReTime, 3], known_moments: ndarray[complex, 4])\n", " | -> void\n", " |\n", " | [103] (g_out: Gf[MeshReTime, 3], g_in: Gf[MeshReFreq, 3])\n", " | -> void\n", " |\n", " | [104] (g_out: BlockGf[MeshReTime, 3], g_in: BlockGf[MeshReFreq, 3])\n", " | -> void\n", " |\n", " | [105] (g_out: Block2Gf[MeshReTime, 3], g_in: Block2Gf[MeshReFreq, 3])\n", " | -> void\n", " |\n", " | [106] (g_out: Gf[MeshReTime, 3], g_in: Gf[MeshReFreq, 3], known_moments: ndarray[complex, 4])\n", " | -> void\n", " |\n", " | [107] (g_out: Gf[MeshCycLat, 3], g_in: Gf[MeshBrZone, 3])\n", " | -> void\n", " |\n", " | [108] (g_out: BlockGf[MeshCycLat, 3], g_in: BlockGf[MeshBrZone, 3])\n", " | -> void\n", " |\n", " | [109] (g_out: Block2Gf[MeshCycLat, 3], g_in: Block2Gf[MeshBrZone, 3])\n", " | -> void\n", " |\n", " | [110] (g_out: Gf[MeshBrZone, 3], g_in: Gf[MeshCycLat, 3])\n", " | -> void\n", " |\n", " | [111] (g_out: BlockGf[MeshBrZone, 3], g_in: BlockGf[MeshCycLat, 3])\n", " | -> void\n", " |\n", " | [112] (g_out: Block2Gf[MeshBrZone, 3], g_in: Block2Gf[MeshCycLat, 3])\n", " | -> void\n", " |\n", " | [113] (g_out: Gf[MeshImFreq, 4], g_in: Gf[MeshImTime, 4])\n", " | -> void\n", " |\n", " | [114] (g_out: BlockGf[MeshImFreq, 4], g_in: BlockGf[MeshImTime, 4])\n", " | -> void\n", " |\n", " | [115] (g_out: Block2Gf[MeshImFreq, 4], g_in: Block2Gf[MeshImTime, 4])\n", " | -> void\n", " |\n", " | [116] (g_out: Gf[MeshImFreq, 4], g_in: Gf[MeshImTime, 4])\n", " | -> void\n", " |\n", " | [117] (g_out: BlockGf[MeshImFreq, 4], g_in: BlockGf[MeshImTime, 4])\n", " | -> void\n", " |\n", " | [118] (g_out: Block2Gf[MeshImFreq, 4], g_in: Block2Gf[MeshImTime, 4])\n", " | -> void\n", " |\n", " | [119] (g_out: Gf[MeshImFreq, 4], g_in: Gf[MeshImTime, 4], known_moments: ndarray[complex, 5])\n", " | -> void\n", " |\n", " | [120] (g_out: Gf[MeshImTime, 4], g_in: Gf[MeshImFreq, 4])\n", " | -> void\n", " |\n", " | [121] (g_out: BlockGf[MeshImTime, 4], g_in: BlockGf[MeshImFreq, 4])\n", " | -> void\n", " |\n", " | [122] (g_out: Block2Gf[MeshImTime, 4], g_in: Block2Gf[MeshImFreq, 4])\n", " | -> void\n", " |\n", " | [123] (g_out: Gf[MeshImTime, 4], g_in: Gf[MeshImFreq, 4], known_moments: ndarray[complex, 5])\n", " | -> void\n", " |\n", " | [124] (g_out: Gf[MeshReFreq, 4], g_in: Gf[MeshReTime, 4])\n", " | -> void\n", " |\n", " | [125] (g_out: BlockGf[MeshReFreq, 4], g_in: BlockGf[MeshReTime, 4])\n", " | -> void\n", " |\n", " | [126] (g_out: Block2Gf[MeshReFreq, 4], g_in: Block2Gf[MeshReTime, 4])\n", " | -> void\n", " |\n", " | [127] (g_out: Gf[MeshReFreq, 4], g_in: Gf[MeshReTime, 4])\n", " | -> void\n", " |\n", " | [128] (g_out: BlockGf[MeshReFreq, 4], g_in: BlockGf[MeshReTime, 4])\n", " | -> void\n", " |\n", " | [129] (g_out: Block2Gf[MeshReFreq, 4], g_in: Block2Gf[MeshReTime, 4])\n", " | -> void\n", " |\n", " | [130] (g_out: Gf[MeshReFreq, 4], g_in: Gf[MeshReTime, 4], known_moments: ndarray[complex, 5])\n", " | -> void\n", " |\n", " | [131] (g_out: Gf[MeshReTime, 4], g_in: Gf[MeshReFreq, 4])\n", " | -> void\n", " |\n", " | [132] (g_out: BlockGf[MeshReTime, 4], g_in: BlockGf[MeshReFreq, 4])\n", " | -> void\n", " |\n", " | [133] (g_out: Block2Gf[MeshReTime, 4], g_in: Block2Gf[MeshReFreq, 4])\n", " | -> void\n", " |\n", " | [134] (g_out: Gf[MeshReTime, 4], g_in: Gf[MeshReFreq, 4], known_moments: ndarray[complex, 5])\n", " | -> void\n", " |\n", " | [135] (g_out: Gf[MeshCycLat, 4], g_in: Gf[MeshBrZone, 4])\n", " | -> void\n", " |\n", " | [136] (g_out: BlockGf[MeshCycLat, 4], g_in: BlockGf[MeshBrZone, 4])\n", " | -> void\n", " |\n", " | [137] (g_out: Block2Gf[MeshCycLat, 4], g_in: Block2Gf[MeshBrZone, 4])\n", " | -> void\n", " |\n", " | [138] (g_out: Gf[MeshBrZone, 4], g_in: Gf[MeshCycLat, 4])\n", " | -> void\n", " |\n", " | [139] (g_out: BlockGf[MeshBrZone, 4], g_in: BlockGf[MeshCycLat, 4])\n", " | -> void\n", " |\n", " | [140] (g_out: Block2Gf[MeshBrZone, 4], g_in: Block2Gf[MeshCycLat, 4])\n", " | -> void\n", " |\n", " |\n", " | Fourier transform a Green's function in place from one mesh to its conjugate.\n", " |\n", " | Applies to every overload. The supported conjugate mesh\n", " | pairs are imaginary time and Matsubara frequencies, real time and\n", " | real frequency, and cyclic lattice and Brillouin zone. Block and\n", " | block-of-block Green's function containers are transformed block\n", " | by block. All target ranks (scalar, vector, matrix, rank-3,\n", " | rank-4) are supported. The output and input meshes are taken from\n", " | the two arguments; both containers must already have compatible\n", " | target shapes.\n", " |\n", " | For the imaginary-time and Matsubara and the real-time and\n", " | real-frequency pairs, an optional trailing array of high-frequency\n", " | moments (``known_moments``) may be passed; the known-moment tail\n", " | correction improves accuracy at high frequency.\n", " |\n", " | Parameters\n", " | ----------\n", " | g_out : Gf[MeshImFreq, 0]\n", " | The output Green's function on the conjugate mesh; modified in place.\n", " | g_in : Gf[MeshImTime, 0]\n", " | The input Green's function.\n", " |\n", " | set_from_imfreq(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (gl: Gf[MeshLegendre, 0], gw: Gf[MeshImFreq, 0])\n", " | -> void\n", " |\n", " | [2] (gl: Gf[MeshLegendre, 1], gw: Gf[MeshImFreq, 1])\n", " | -> void\n", " |\n", " | [3] (gl: Gf[MeshLegendre, 2], gw: Gf[MeshImFreq, 2])\n", " | -> void\n", " |\n", " | [4] (gl: Gf[MeshLegendre, 3], gw: Gf[MeshImFreq, 3])\n", " | -> void\n", " |\n", " | [5] (gl: Gf[MeshLegendre, 4], gw: Gf[MeshImFreq, 4])\n", " | -> void\n", " |\n", " |\n", " | Project a Matsubara Green's function onto the Legendre basis of the output.\n", " |\n", " | Parameters\n", " | ----------\n", " | gl : Gf[MeshLegendre, 0], Gf[MeshLegendre, 1], Gf[MeshLegendre, 2], Gf[MeshLegendre, 3], Gf[MeshLegendre, 4]\n", " | The output Legendre Green's function modified in place.\n", " | gw : Gf[MeshImFreq, 0], Gf[MeshImFreq, 1], Gf[MeshImFreq, 2], Gf[MeshImFreq, 3], Gf[MeshImFreq, 4]\n", " | The input Matsubara Green's function.\n", " |\n", " | set_from_imtime(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (gl: Gf[MeshLegendre, 0], gt: Gf[MeshImTime, 0])\n", " | -> void\n", " |\n", " | [2] (gl: Gf[MeshLegendre, 1], gt: Gf[MeshImTime, 1])\n", " | -> void\n", " |\n", " | [3] (gl: Gf[MeshLegendre, 2], gt: Gf[MeshImTime, 2])\n", " | -> void\n", " |\n", " | [4] (gl: Gf[MeshLegendre, 3], gt: Gf[MeshImTime, 3])\n", " | -> void\n", " |\n", " | [5] (gl: Gf[MeshLegendre, 4], gt: Gf[MeshImTime, 4])\n", " | -> void\n", " |\n", " |\n", " | Project an imaginary-time Green's function onto the Legendre basis of the output.\n", " |\n", " | Parameters\n", " | ----------\n", " | gl : Gf[MeshLegendre, 0], Gf[MeshLegendre, 1], Gf[MeshLegendre, 2], Gf[MeshLegendre, 3], Gf[MeshLegendre, 4]\n", " | The output Legendre Green's function modified in place.\n", " | gt : Gf[MeshImTime, 0], Gf[MeshImTime, 1], Gf[MeshImTime, 2], Gf[MeshImTime, 3], Gf[MeshImTime, 4]\n", " | The input imaginary-time Green's function.\n", " |\n", " | set_from_legendre(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (gw: Gf[MeshImFreq, 0], gl: Gf[MeshLegendre, 0])\n", " | -> void\n", " |\n", " | [2] (gw: Gf[MeshImFreq, 1], gl: Gf[MeshLegendre, 1])\n", " | -> void\n", " |\n", " | [3] (gw: Gf[MeshImFreq, 2], gl: Gf[MeshLegendre, 2])\n", " | -> void\n", " |\n", " | [4] (gw: Gf[MeshImFreq, 3], gl: Gf[MeshLegendre, 3])\n", " | -> void\n", " |\n", " | [5] (gw: Gf[MeshImFreq, 4], gl: Gf[MeshLegendre, 4])\n", " | -> void\n", " |\n", " | [6] (gt: Gf[MeshImTime, 0], gl: Gf[MeshLegendre, 0])\n", " | -> void\n", " |\n", " | [7] (gt: Gf[MeshImTime, 1], gl: Gf[MeshLegendre, 1])\n", " | -> void\n", " |\n", " | [8] (gt: Gf[MeshImTime, 2], gl: Gf[MeshLegendre, 2])\n", " | -> void\n", " |\n", " | [9] (gt: Gf[MeshImTime, 3], gl: Gf[MeshLegendre, 3])\n", " | -> void\n", " |\n", " | [10] (gt: Gf[MeshImTime, 4], gl: Gf[MeshLegendre, 4])\n", " | -> void\n", " |\n", " |\n", " | [1, 2, 3, 4, 5] Project a Legendre Green's function onto the Matsubara mesh of the output.\n", " |\n", " | ------\n", " |\n", " | [6, 7, 8, 9, 10] Project a Legendre Green's function onto the imaginary-time mesh of the output.\n", " |\n", " | ------\n", " |\n", " | Parameters\n", " | ----------\n", " | gw : Gf[MeshImFreq, 0], Gf[MeshImFreq, 1], Gf[MeshImFreq, 2], Gf[MeshImFreq, 3], Gf[MeshImFreq, 4]\n", " | The output Matsubara Green's function modified in place.\n", " | gl : Gf[MeshLegendre, 0], Gf[MeshLegendre, 1], Gf[MeshLegendre, 2], Gf[MeshLegendre, 3], Gf[MeshLegendre, 4]\n", " | The input Legendre Green's function.\n", " | gt : Gf[MeshImTime, 0], Gf[MeshImTime, 1], Gf[MeshImTime, 2], Gf[MeshImTime, 3], Gf[MeshImTime, 4]\n", " | The output imaginary-time Green's function modified in place.\n", " |\n", " | set_from_pade(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (gw: Gf[MeshReFreq, 0],\n", " | giw: Gf[MeshImFreq, 0],\n", " | n_points: int = 100,\n", " | freq_offset: float = 0)\n", " | -> void\n", " |\n", " | [2] (gw: Gf[MeshReFreq, 1],\n", " | giw: Gf[MeshImFreq, 1],\n", " | n_points: int = 100,\n", " | freq_offset: float = 0)\n", " | -> void\n", " |\n", " | [3] (gw: Gf[MeshReFreq, 2],\n", " | giw: Gf[MeshImFreq, 2],\n", " | n_points: int = 100,\n", " | freq_offset: float = 0)\n", " | -> void\n", " |\n", " | [4] (gw: Gf[MeshReFreq, 3],\n", " | giw: Gf[MeshImFreq, 3],\n", " | n_points: int = 100,\n", " | freq_offset: float = 0)\n", " | -> void\n", " |\n", " | [5] (gw: Gf[MeshReFreq, 4],\n", " | giw: Gf[MeshImFreq, 4],\n", " | n_points: int = 100,\n", " | freq_offset: float = 0)\n", " | -> void\n", " |\n", " |\n", " | Analytically continue a Matsubara Green's function to the real-frequency axis using a Pade approximant.\n", " |\n", " | Parameters\n", " | ----------\n", " | gw : Gf[MeshReFreq, 0], Gf[MeshReFreq, 1], Gf[MeshReFreq, 2], Gf[MeshReFreq, 3], Gf[MeshReFreq, 4]\n", " | The output real-frequency Green's function modified in place.\n", " | giw : Gf[MeshImFreq, 0], Gf[MeshImFreq, 1], Gf[MeshImFreq, 2], Gf[MeshImFreq, 3], Gf[MeshImFreq, 4]\n", " | The input Matsubara Green's function.\n", " | n_points : int\n", " | Number of Matsubara points used to build the Pade approximant.\n", " | freq_offset : float\n", " | Imaginary shift :math:`\\eta` applied to real frequencies.\n", " |\n", " | tau_L2_norm(self, *args, **kw) from triqs.gfs.gf.add_method_helper.\n", " | Dispatched C++ function(s).\n", " |\n", " | ::\n", " |\n", " | [1] (g: Gf[MeshDLR, 0])\n", " | -> float\n", " |\n", " | [2] (g: Gf[MeshDLR, 2])\n", " | -> ndarray[float, 2]\n", " |\n", " | [3] (g: Gf[MeshDLRImFreq, 0])\n", " | -> float\n", " |\n", " | [4] (g: Gf[MeshDLRImFreq, 2])\n", " | -> ndarray[float, 2]\n", " |\n", " | [5] (g: Gf[MeshDLRImTime, 0])\n", " | -> float\n", " |\n", " | [6] (g: Gf[MeshDLRImTime, 2])\n", " | -> ndarray[float, 2]\n", " |\n", " | [7] (g: BlockGf[MeshDLR, 0])\n", " | -> [float]\n", " |\n", " | [8] (g: BlockGf[MeshDLR, 2])\n", " | -> [ndarray[float, 2]]\n", " |\n", " | [9] (g: BlockGf[MeshDLRImFreq, 0])\n", " | -> [float]\n", " |\n", " | [10] (g: BlockGf[MeshDLRImFreq, 2])\n", " | -> [ndarray[float, 2]]\n", " |\n", " | [11] (g: BlockGf[MeshDLRImTime, 0])\n", " | -> [float]\n", " |\n", " | [12] (g: BlockGf[MeshDLRImTime, 2])\n", " | -> [ndarray[float, 2]]\n", " |\n", " |\n", " | Calculate the :math:`L^2` norm of a DLR Green's function.\n", " |\n", " | Parameters\n", " | ----------\n", " | g : Gf[MeshDLR, 0], Gf[MeshDLR, 2], Gf[MeshDLRImFreq, 0], Gf[MeshDLRImFreq, 2], Gf[MeshDLRImTime, 0], Gf[MeshDLRImTime, 2], BlockGf[MeshDLR, 0], BlockGf[MeshDLR, 2], BlockGf[MeshDLRImFreq, 0], BlockGf[MeshDLRImFreq, 2], BlockGf[MeshDLRImTime, 0], BlockGf[MeshDLRImTime, 2]\n", " | A Green's function on any DLR mesh.\n", " |\n", " | Returns\n", " | -------\n", " | [1, 3, 5] : float\n", " | The :math:`L^2` norm of the input Green's function, either as a scalar (if target rank is 0) or as an\n", " | array of norms for each element in the target domain (if target rank is greater than 0).\n", " |\n", " | [2, 4, 6] : ndarray[float, 2]\n", " | The :math:`L^2` norm of the input Green's function, either as a scalar (if target rank is 0) or as an\n", " | array of norms for each element in the target domain (if target rank is greater than 0).\n", " |\n", " | [7, 9, 11] : [float]\n", " | The :math:`L^2` norm of the input Green's function, either as a scalar (if target rank is 0) or as an\n", " | array of norms for each element in the target domain (if target rank is greater than 0).\n", " |\n", " | [8, 10, 12] : [ndarray[float, 2]]\n", " | The :math:`L^2` norm of the input Green's function, either as a scalar (if target rank is 0) or as an\n", " | array of norms for each element in the target domain (if target rank is greater than 0).\n", " |\n", " | total_density(self, *args, **kwargs)\n", " | Compute the total density (trace of the density matrix).\n", " |\n", " | Parameters\n", " | ----------\n", " | beta : float, optional\n", " | Inverse temperature, required only for a :class:`~triqs.mesh.meshes.MeshReFreq`\n", " | mesh.\n", " |\n", " | Returns\n", " | -------\n", " | float\n", " | Total density of the Green's function.\n", " |\n", " | Notes\n", " | -----\n", " | Only implemented for single-mesh Green's functions on a\n", " | Matsubara, real-frequency or Legendre mesh.\n", " |\n", " | transpose(self)\n", " | Take the transpose of a matrix valued Green's function.\n", " |\n", " | Returns\n", " | -------\n", " | G : Gf (copy)\n", " | The transpose of the Green's function.\n", " |\n", " | Notes\n", " | -----\n", " | Only implemented for single mesh matrix valued Green's functions.\n", " |\n", " | x_data_view(self, x_window=None, flatten_y=False)\n", " | Helper method for getting a view of the data.\n", " |\n", " | Parameters\n", " | ----------\n", " | x_window : tuple of float, optional\n", " | The window of x variable (omega/omega_n/t/tau) for which data\n", " | is requested.\n", " | flatten_y : bool, optional\n", " | If the Green's function is of size (1, 1) flatten the array as\n", " | a 1d array.\n", " |\n", " | Returns\n", " | -------\n", " | (X, data) : tuple\n", " | X is a 1d numpy array of the x variable inside the window\n", " | requested. data is a 3d numpy array of dim ``(:, :, len(X))``,\n", " | the corresponding slice of data. If ``flatten_y`` is True and\n", " | dim is ``(1, 1, *)`` it returns a 1d numpy array.\n", " |\n", " | zero(self)\n", " | Set all values to zero.\n", " |\n", " | ----------------------------------------------------------------------\n", " | Class methods defined here:\n", " |\n", " | __factory_from_dict__(name, d)\n", " |\n", " | ----------------------------------------------------------------------\n", " | Readonly properties defined here:\n", " |\n", " | data\n", " | Raw storage of the Green's function.\n", " |\n", " | The storage convention is\n", " |\n", " | .. math::\n", " |\n", " | \\texttt{data}[x_1, \\ldots, x_r,\\, n_1, \\ldots, n_t]\n", " | \\;=\\; G(x_1, \\ldots, x_r)_{n_1, \\ldots, n_t},\n", " |\n", " | where :math:`x_i` index the mesh and :math:`n_j` index the\n", " | target space.\n", " |\n", " | Returns\n", " | -------\n", " | numpy.ndarray\n", " | Contiguous array of shape ``(*mesh_sizes, *target_shape)``,\n", " | dtype ``complex128`` by default or ``float64`` if the Gf\n", " | was constructed with ``is_real=True``.\n", " |\n", " | imag\n", " | Imaginary-part view sharing the underlying mesh.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " | A new :class:`~triqs.gfs.gf.Gf` on the same mesh, backed by\n", " | ``self.data.imag`` (a view, not a copy). Its ``name`` is\n", " | prefixed with ``'Im '`` when ``self.name`` is non-empty.\n", " |\n", " | indices\n", " | Deprecated. Use :attr:`~triqs.gfs.gf.Gf.target_shape` /\n", " | :attr:`~triqs.gfs.gf.Gf.target_indices` instead.\n", " |\n", " | Returns\n", " | -------\n", " | list of range\n", " | ``[range(d) for d in target_shape]``.\n", " |\n", " | Warns\n", " | -----\n", " | FutureWarning\n", " | Emitted on every access; this property is deprecated.\n", " |\n", " | mesh\n", " | The mesh of the Green's function.\n", " |\n", " | Returns\n", " | -------\n", " | Mesh or MeshProduct\n", " | The underlying mesh — a single :mod:`triqs.mesh` instance,\n", " | or a :class:`~triqs.mesh.mesh_product.MeshProduct` for\n", " | multi-variable Green's functions.\n", " |\n", " | rank\n", " | Mesh rank — number of mesh axes.\n", " |\n", " | Returns\n", " | -------\n", " | int\n", " | ``1`` for a single mesh, otherwise ``len(mesh.components)``\n", " | for a :class:`~triqs.mesh.mesh_product.MeshProduct`.\n", " |\n", " | real\n", " | Real-part view sharing the underlying mesh.\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " | A new :class:`~triqs.gfs.gf.Gf` on the same mesh, backed by\n", " | ``self.data.real`` (a view, not a copy). Its ``name`` is\n", " | prefixed with ``'Re '`` when ``self.name`` is non-empty.\n", " |\n", " | target_indices\n", " | Iterate over every target-space index tuple in C order.\n", " |\n", " | Returns\n", " | -------\n", " | iterator of tuple of int\n", " | ``itertools.product`` over ``range(d)`` for each ``d`` in\n", " | :attr:`~triqs.gfs.gf.Gf.target_shape`.\n", " |\n", " | target_rank\n", " | Number of target-space axes.\n", " |\n", " | Returns\n", " | -------\n", " | int\n", " | Equal to ``len(target_shape)`` — ``0`` for a scalar target,\n", " | ``2`` for a matrix target, etc.\n", " |\n", " | target_shape\n", " | Shape of the target space.\n", " |\n", " | Returns\n", " | -------\n", " | tuple of int\n", " | Target-space dimensions, e.g. ``(2, 2)`` for a 2x2 matrix\n", " | target or ``()`` for a scalar target.\n", " |\n", " | ----------------------------------------------------------------------\n", " | Data descriptors defined here:\n", " |\n", " | __dict__\n", " | dictionary for instance variables\n", " |\n", " | __weakref__\n", " | list of weak references to the object\n", " |\n", " | ----------------------------------------------------------------------\n", " | Data and other attributes defined here:\n", " |\n", " | __array_priority__ = 10000\n", "\n" ] } ], "source": [ "from triqs.gfs import Gf\n", "?Gf" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Green's Function with mesh Imaginary time mesh with beta = 5, statistics = Fermion, N = 11 and target_shape (): \n", "\n", "-0.119\n", "-0.146\n", "-0.178\n", "-0.217\n", "-0.265\n", "-0.324\n", "-0.396\n", "-0.483\n", "-0.590\n", "-0.721\n", "-0.881\n" ] } ], "source": [ "# Create scalar-valued imaginary-time Green's function\n", "G = Gf(mesh=tau_mesh, target_shape=[], is_real=True)\n", "\n", "# Print the Green's function description\n", "print(G)\n", "\n", "# Loop initialization\n", "eps = -0.4\n", "beta = G.mesh.beta\n", "from math import exp\n", "for tau in G.mesh:\n", " G[tau] = -exp(-tau.value * eps) / (1. + exp(-beta * eps))\n", " print(f\"{G[tau]:.3f}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to **plot this Green's function** we can use the matplotlib interface defined in TRIQS.\n", "Note that the function to plot Green's function is `oplot` and not just `plot` like in matplotlib." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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pKamsnr1aqZMmcL48eOJjIwEICcnh9jYWFJTUwGIjY2lU6dO3H///aSmppKVlcXf//53lixZwo033mjgtxEREXE9dw5oT//olgDsLyjnpe92GZzIMVyqEAHMnTuX2NhYhg8fTlJSEkOGDGH27Nn216uqqsjMzLSfGfLx8eHrr78mLCyM66+/nl69evH+++/z73//m6SkJKO+hoiIiEsym03MuLkXvl61FeJfK/ewNafY4FSXzmRzx8UEGkFJSQnBwcEUFxdrgLWIiHi8V5fu4u9LdgLQo20Qnz80GG8v5zvP0tDfb+dLLiIiIk7v/is70rV1IABbc0p4Z/VegxNdGhUiERERuWC+3mZmjOuJyVT7/B9LdnKgoNzYUJdAhUhEREQuSr/2LblnYDQAFVVWfrtgi8ve1kOFSERERC7ak6O60tbSDIBVu4/y6YYcgxNdHBUiERERuWgt/Lz540097M+fX7idI6WVBia6OCpEIiIickmu6hrO2D616wEWn6jiuYXbDU504VSIRERE5JL94bo4Wgb4APDlj4dYuuOwwYkujAqRiIiIXLJWLfz4/XVx9udPfb6VsspqAxNdGBUiERERcYib+rblis61N3vNLa7gr4syDE7UcCpEIiIi4hAmk4kXbupJs1M3e31/7X7S9x8zOFXDqBCJiIiIw0SFBDB1ZBcAbDaY9ulmTlZbDU51fipEIiIi4lATBkXTq10wALvyy3hjeZbBic5PhUhEREQcytvLzIs398LLXHtfj5nf72LX4VKDU9VPhUhEREQcLi4yiPuHxgBQVWNj2mdbsFqd97YeKkQiIiLSKB4d3pkOoc0BSN9/jLnr9huc6NxUiERERKRR+Pt4MePmnvbnf16UyaGiEwYmOjcVIhEREWk0l8e0Ynz/KADKKqv5/edbsdmc79KZCpGIiIg0quljuhEW6AfA0ox8vtqSa3CiM6kQiYiISKMKDvDhuRu6258/88U2ispPGpjoTCpEIiIi0uhG94hgZFxrAI6WneSFr3cYnKguFSIRERFpdCaTiefG9iDQzxuA+esPsnr3UYNT/USFSERERJpERLA/05Ji7c9/u2ALJ07WGJjoJypEIiIi0mTu6N+eAdEhAOwvKOelpTsNTlRLhUhERESajNls4oWbe+LrVVtB3lq5l605xQanUiESERGRJtYpvAWPXN0JgBqrjd98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5eXF4cOH62w/fPgwERERBqUSuTRTpkxh4cKFrFixgnbt2hkdx235+vrSqVMnAOLj40lLS+Pll1/mzTffNDiZe0hPTyc/P59+/frZt9XU1LBixQpmzpxJZWUlXl5eBiZ0XxaLhS5durB79+4m/2yNITKIr68v8fHxLF261L7NarWydOlSjQUQl2Oz2ZgyZQoLFixg2bJldOjQwehIHsVqtVJZWWl0DLcxfPhwtmzZwqZNm+yPhIQEkpOT2bRpk8pQIyorKyMrK4s2bdo0+WfrDJGBnnjiCe655x4SEhIYMGAAL730EsePH+fee+81OppbKSsrq/NfG3v37mXTpk2EhITQvn17A5O5j4cffph58+bx3//+l8DAQPLy8gAIDg6mWbNmBqdzL9OnT2fMmDG0b9+e0tJS5s2bx/Lly/n222+NjuY2AgMDzxj/1rx5c1q1aqVxcQ725JNPcv3113PZZZdx6NAhnn76aby8vLjjjjuaPIsKkYFuv/12jhw5wh/+8Afy8vLo06cPixYtOmOgtVya9evXc9VVV9mfP/HEEwDcc889vPfeewalci9vvPEGAMOGDauz/d1332XChAlNH8iN5efnc/fdd5Obm0twcDC9evXi22+/5ZprrjE6msgFO3jwIHfccQcFBQWEhYUxZMgQ1q5dS1hYWJNn0TpEIiIi4vE0hkhEREQ8ngqRiIiIeDwVIhEREfF4KkQiIiLi8VSIRERExOOpEImIiIjHUyESERERj6dCJCIiIh5PhUhEREQ8ngqRiIiIeDwVIhEREfF4KkQi4rHGjh2LyWQ66+OLL74wOp6INCHd3FVEPFZBQQFVVVWUlZXRuXNnvv76a/r27QtAaGgo3t7eBicUkaaiQiQiHi8lJYXBgwdTUlJCixYtjI4jIgbQJTMR8XibN28mOjpaZUjEg6kQiYjH27x5M7169TI6hogYSIVIRDzevn376Nq1q9ExRMRAKkQi4vGsViv79+8nJycHDasU8UwqRCLi8R599FFWr15N165dVYhEPJRmmYmIiIjH0xkiERER8XgqRCIiIuLxVIhERETE46kQiYiIiMdTIRIRERGPp0IkIiIiHk+FSERERDyeCpGIiIh4PBUiERER8XgqRCIiIuLxVIhERETE4/0/4JcXG3DYgz0AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from triqs.plot.mpl_interface import oplot,plt\n", "\n", "# Make plots show up directly in the notebook:\n", "%matplotlib inline\n", "\n", "# Make all figures slightly bigger\n", "import matplotlib as mpl\n", "mpl.rcParams['figure.dpi']=100\n", "\n", "# Additional arguments like 'linewidth' are passed on to matplotlib\n", "oplot(G, '-', name='G', linewidth=2)" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Matrix-Valued Green's functions\n", "\n", "In most realistic problems we have to treat more than just a single orbital\n", "\n", "$$\n", "G_{ij}[\\tau] = -\\langle\\cal{T}c_i(\\tau) c_j^\\dagger\\rangle\n", "$$\n", "\n", "For this purpose, TRIQS provides Green's functions that have a Matrix structure. Let's see how you can create and use them" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Green's Function with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (2, 2): \n", "\n" ] } ], "source": [ "# A uniform real-frequency mesh on a given interval\n", "from triqs.gfs import MeshReFreq\n", "w_mesh = MeshReFreq(window=(-4,4), n_w=1000)\n", "\n", "# Gf with 2x2 Matrix structure holding complex values\n", "G = Gf(mesh=w_mesh, target_shape=[2,2])\n", "for w in w_mesh:\n", " G[w][0,0] = 1/(w - 0.1 + 1e-5j)\n", " G[w][1,1] = 1/(w + 0.2 + 1e-5j)\n", " \n", "print(G)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.24390244-5.94883998e-07j 0. +0.00000000e+00j]\n", " [ 0. +0.00000000e+00j -0.26315789-6.92520776e-07j]]\n" ] } ], "source": [ "# Accessing a specific mesh point gives us a matrix\n", "from triqs.gfs import Idx # Use Idx to access Gf at specific Index\n", "print(G[Idx(0)])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Green's Function with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (): " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# By Fixing the orbital indices we obtain a Green's function that is no longer matrix but complex-valued\n", "G[0,0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note: `target_shape=[]` vs `target_shape=[1,1]`**\n", "\n", "These two are **not** equivalent:\n", "\n", "- `target_shape=[]` → scalar target (`target_rank=0`), data shape `(mesh.size,)`, `G[iw]` returns a complex number.\n", "- `target_shape=[1,1]` → 1×1 matrix target (`target_rank=2`), data shape `(mesh.size, 1, 1)`, `G[iw]` returns a 1×1 NumPy array.\n", "\n", "The practical differences:\n", "\n", "- Orbital indexing like `G[0,0]` is only meaningful for matrix-valued Gf.\n", "- `transpose()` and `matrix_transform()` require `target_rank=2`.\n", "- The two are distinct types on disk, with different data shapes." ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Block Green's functions\n", "\n", "In many realistic problems we know a priori that (due to e.g. symmetries or conserved quantum numbers) certain components of the Green's function will vanish.\n", "In other words, the Green's functions has an additional *block structure*.\n", "\n", "$$\n", "\\hat{G} =\n", "\\begin{pmatrix}\n", "\\hat{g}^0 & 0 & \\cdots & \\cdots \\\\\n", "0 & \\hat{g}^1 & 0 & \\cdots \\\\\n", "\\cdots & 0 & \\hat{g}^2 & 0 \\\\\n", "\\cdots & \\cdots & \\cdots & \\cdots\n", "\\end{pmatrix}\n", "$$\n", "\n", "Here the $\\hat{g}^i$ are Green's functions with non-zero elements $g^i_{ab}$. In principle they can have\n", "different dimensions.\n", "\n", "For example, you can imagine a system of 5 $d$-orbitals that are split by a\n", "crystal field into 3 $t_{2g}$-orbitals and 2 $e_g$-orbitals. For symmetry reasons, you can have a\n", "situation where these orbitals do not talk to each other. In that case, the complete Green's function\n", "would have two blocks, one of size 2x2 corresponding to the $e_g$ orbitals and one of size 3x3 corresponding for the $t_{2g}$ orbitals. \n", "\n", "$$\n", "\\hat{G} =\n", "\\begin{pmatrix}\n", "\\hat{g}^{e_g} & 0 \\\\\n", "0 & \\hat{g}^{t_{2g}} \\\\\n", "\\end{pmatrix}=\n", "\\begin{pmatrix}\n", "\\begin{pmatrix}\n", "g^{e_g}_{00} & g^{e_g}_{01} \\\\\n", "g^{e_g}_{10} & g^{e_g}_{11}\n", "\\end{pmatrix} & 0 \\\\\n", "0 & \\begin{pmatrix}\n", "g^{t_{2g}}_{00} & g^{t_{2g}}_{01} & g^{t_{2g}}_{02} \\\\\n", "g^{t_{2g}}_{10} & g^{t_{2g}}_{11} & g^{t_{2g}}_{12} \\\\\n", "g^{t_{2g}}_{20} & g^{t_{2g}}_{21} & g^{t_{2g}}_{22} \\\\\n", "\\end{pmatrix}\n", "\\end{pmatrix}\n", "$$\n", "\n", "Now let's consider a more concrete example for the case outlined above:\n", "$$\n", "\\hat{G} =\n", "\\begin{pmatrix}\n", "\\begin{pmatrix}\n", "\\omega + i\\eta & V_1 \\\\\n", "V_1 & \\omega + i\\eta\n", "\\end{pmatrix}^{-1} & 0 \\\\\n", "0 & \\begin{pmatrix}\n", "\\omega - \\epsilon_2 + i\\eta & 0 & V_2 \\\\\n", "0 & \\omega - \\epsilon_2 + i\\eta & 0 \\\\\n", "V_2 & 0 & \\omega - \\epsilon_2 + i\\eta\n", "\\end{pmatrix}^{-1}\n", "\\end{pmatrix}\n", "$$\n", "\n", "The associated type in TRIQS is called `BlockGf`. Let us have a first look at it's documentation:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python Library Documentation: class BlockGf in module triqs.gfs.block_gf\n", "\n", "class BlockGf(builtins.object)\n", " | BlockGf(**kwargs)\n", " |\n", " | Block-diagonal Green's function.\n", " |\n", " | A :class:`~triqs.gfs.block_gf.BlockGf` is an **ordered**, named collection of\n", " | :class:`~triqs.gfs.gf.Gf` blocks sharing the same mesh and underlying type — for\n", " | instance one block per spin or one block per symmetry sector. Block\n", " | access uses either the string block name (``g['up']``) or the\n", " | positional integer index (``g[0]``). Iteration yields ``(name,\n", " | block)`` pairs in construction order.\n", " |\n", " | Three keyword-only constructor patterns are supported (see\n", " | Examples):\n", " |\n", " | 1. ``BlockGf(name_list=..., block_list=..., make_copies=False, name='G')``\n", " | — explicit list of blocks.\n", " | 2. ``BlockGf(mesh=..., gf_struct=..., target_rank=2, name='G')``\n", " | — build matrix-valued blocks from a mesh and block structure.\n", " | 3. ``BlockGf(name_block_generator=..., make_copies=False, name='G')``\n", " | — iterable of ``(name, block)`` pairs.\n", " |\n", " | Parameters\n", " | ----------\n", " | name_list : list of str, optional\n", " | Block names, e.g. ``['up', 'dn']``. Pattern 1 only. Defaults to\n", " | ``['0', '1', ...]`` when ``block_list`` is provided.\n", " | block_list : list of Gf, optional\n", " | One :class:`~triqs.gfs.gf.Gf` per block. Pattern 1 only. All\n", " | blocks must have the same Python type.\n", " | mesh : Mesh, optional\n", " | Common mesh for every block. Pattern 2 only.\n", " | gf_struct : list of (str, int), optional\n", " | ``(block_name, linear_size)`` pairs. Pattern 2 only.\n", " | target_rank : int, optional\n", " | Rank of the target space of each block. Pattern 2 only.\n", " | Default ``2`` (matrix-valued).\n", " | name_block_generator : iterable of (str, Gf), optional\n", " | Iterable of ``(name, block)`` pairs. Pattern 3 only.\n", " | make_copies : bool, optional\n", " | If ``True``, store deep copies of the blocks; otherwise store\n", " | the references. Default ``False``.\n", " | name : str, optional\n", " | Plot label. Default ``'G'``.\n", " |\n", " | Attributes\n", " | ----------\n", " | name : str\n", " | Plot label; also used as a prefix for the individual block\n", " | names.\n", " | mesh : Mesh\n", " | Mesh shared by every block.\n", " | beta : float\n", " | Inverse temperature of the first block's mesh, when defined.\n", " | indices : generator of str\n", " | Block names in construction order.\n", " | all_indices : generator\n", " | Tuples ``(block_name, n1, n2)`` over every entry in every block.\n", " | gf_struct : list of (str, int)\n", " | Canonical block structure.\n", " | n_blocks : int\n", " | Number of blocks.\n", " | real : BlockGf\n", " | Block-wise view of the real part.\n", " | imag : BlockGf\n", " | Block-wise view of the imaginary part.\n", " |\n", " | Notes\n", " | -----\n", " | - All blocks must be of the same Python type (e.g. all :class:`~triqs.gfs.gf.Gf`).\n", " | - The ``<<`` operator broadcasts lazy initializers / Green's\n", " | functions to every block; see :meth:`~triqs.gfs.block_gf.BlockGf.__lshift__`.\n", " |\n", " | Examples\n", " | --------\n", " | Construct a two-block matrix-valued Matsubara Green's function and\n", " | fill every block with a semicircular DOS:\n", " |\n", " | >>> from triqs.gfs import BlockGf, SemiCircular\n", " | >>> from triqs.mesh import MeshImFreq\n", " | >>> mesh = MeshImFreq(beta=10.0, statistic='Fermion', n_iw=1024)\n", " | >>> G = BlockGf(mesh=mesh, gf_struct=[('up', 2), ('dn', 2)])\n", " | >>> G << SemiCircular(half_bandwidth=1.0)\n", " | >>> for name, g in G:\n", " | ... print(name, g.target_shape)\n", " |\n", " | Methods defined here:\n", " |\n", " | __add__(self, y)\n", " | Block-wise addition; returns a new :class:`~triqs.gfs.block_gf.BlockGf`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.block_gf.BlockGf.__iadd__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __getitem__(self, key)\n", " | Access a block by string name or integer position.\n", " |\n", " | Parameters\n", " | ----------\n", " | key : str or int\n", " | Block name (e.g. ``'up'``) or zero-based block index\n", " | (negative integers count from the end).\n", " |\n", " | Returns\n", " | -------\n", " | Gf\n", " | The requested block (a reference, not a copy).\n", " |\n", " | Raises\n", " | ------\n", " | IndexError\n", " | If ``key`` does not name an existing block, or if the\n", " | integer is out of range.\n", " | TypeError\n", " | If ``key`` is neither a ``str`` nor an ``int``.\n", " |\n", " | __iadd__(self, arg)\n", " | In-place block-wise addition ``self += arg``.\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : BlockGf, sequence, or anything accepted by :meth:`~triqs.gfs.gf.Gf.__iadd__`\n", " | Same-shape :class:`~triqs.gfs.block_gf.BlockGf` adds block-wise; a sequence\n", " | adds element-wise per block; otherwise ``arg`` is\n", " | broadcast to every block.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __imul__(self, arg)\n", " | In-place block-wise multiplication ``self *= arg``.\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : BlockGf or anything accepted by :meth:`~triqs.gfs.gf.Gf.__imul__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __init__(self, **kwargs)\n", " | Initialize self. See help(type(self)) for accurate signature.\n", " |\n", " | __isub__(self, arg)\n", " | In-place block-wise subtraction ``self -= arg``.\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : BlockGf, sequence, or anything accepted by :meth:`~triqs.gfs.gf.Gf.__isub__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __iter__(self)\n", " | Iterate as ``(block_name, block_gf)`` pairs in construction order.\n", " |\n", " | Yields\n", " | ------\n", " | tuple of (str, Gf)\n", " | ``(name, block)`` pairs.\n", " |\n", " | __itruediv__(self, arg)\n", " | In-place block-wise division ``self /= arg``.\n", " |\n", " | Parameters\n", " | ----------\n", " | arg : sequence or scalar\n", " | A sequence divides element-wise per block; a scalar is\n", " | broadcast.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __le__(self, other)\n", " | Return self<=value.\n", " |\n", " | __len__(self)\n", " | Number of blocks.\n", " |\n", " | Returns\n", " | -------\n", " | int\n", " | ``len(self.__GFlist)``.\n", " |\n", " | __lshift__(self, A)\n", " | Lazy initialization / copy operator (``G << RHS``).\n", " |\n", " | Parameters\n", " | ----------\n", " | A : BlockGf, descriptor or Gf-compatible\n", " | * If ``A`` is a :class:`~triqs.gfs.block_gf.BlockGf`, copy block-wise.\n", " | * If ``A`` is a block descriptor (one yielding per-block\n", " | descriptors via ``is_block_descriptor()``), apply each\n", " | sub-descriptor to the corresponding block.\n", " | * Otherwise broadcast ``A`` to every block: ``g << A`` for\n", " | each ``g`` in ``self``.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | ``self`` (so that ``G << RHS`` can be chained).\n", " |\n", " | __mul__(self, y)\n", " | Block-wise multiplication; returns a new :class:`~triqs.gfs.block_gf.BlockGf`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : BlockGf or anything accepted by :meth:`~triqs.gfs.gf.Gf.__mul__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __neg__(self)\n", " | Unary minus ``-self``; returns a new :class:`~triqs.gfs.block_gf.BlockGf`.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __radd__(self, y)\n", " | Reflected addition ``y + self``.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.block_gf.BlockGf.__add__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __reduce__(self)\n", " | Helper for pickle.\n", " |\n", " | __reduce_to_dict__(self)\n", " |\n", " | __repr__(self)\n", " | Multi-line summary listing every block.\n", " |\n", " | Returns\n", " | -------\n", " | str\n", " | Header line followed by ``repr(g)`` for each block.\n", " |\n", " | __rmul__(self, x)\n", " | Reflected multiplication ``x * self``.\n", " |\n", " | Parameters\n", " | ----------\n", " | x : same as :meth:`~triqs.gfs.block_gf.BlockGf.__mul__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __rsub__(self, y)\n", " | Reflected subtraction ``y - self``.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.block_gf.BlockGf.__sub__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __setitem__(self, key, val)\n", " | Assign into a block via ``<<``.\n", " |\n", " | ``G[key] = val`` is equivalent to ``G[key] << val``.\n", " | ``G[:] = val`` is equivalent to ``G << val`` (broadcast to every\n", " | block).\n", " |\n", " | Parameters\n", " | ----------\n", " | key : str, int or slice\n", " | Block selector. ``slice(None, None, None)`` broadcasts.\n", " | val : Gf, BlockGf, descriptor or scalar\n", " | Value to assign.\n", " |\n", " | __str__(self)\n", " | Alias for :meth:`~triqs.gfs.block_gf.BlockGf.__repr__`.\n", " |\n", " | Returns\n", " | -------\n", " | str\n", " |\n", " | __sub__(self, y)\n", " | Block-wise subtraction; returns a new :class:`~triqs.gfs.block_gf.BlockGf`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.block_gf.BlockGf.__isub__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | __truediv__(self, y)\n", " | Block-wise division; returns a new :class:`~triqs.gfs.block_gf.BlockGf`.\n", " |\n", " | Parameters\n", " | ----------\n", " | y : same as :meth:`~triqs.gfs.block_gf.BlockGf.__itruediv__`\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " |\n", " | conjugate(self)\n", " | Complex-conjugate every block.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | New container holding the complex conjugate of every block\n", " | of ``self``.\n", " |\n", " | copy(self, *args)\n", " | Return an independent deep copy of ``self`` (every block is copied).\n", " |\n", " | Parameters\n", " | ----------\n", " | *args\n", " | Forwarded to the per-block ``copy()`` method.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | Independent copy with freshly allocated blocks.\n", " |\n", " | copy_from(self, G2)\n", " | Copy the data of ``G2`` into ``self`` block by block.\n", " |\n", " | Parameters\n", " | ----------\n", " | G2 : BlockGf\n", " | Source container. Must have the same number of blocks in\n", " | the same order and identical per-block ``target_shape``.\n", " |\n", " | Raises\n", " | ------\n", " | RuntimeError\n", " | If any pair of blocks has incompatible target shape.\n", " |\n", " | copy_selected_blocks(self, selected_blocks)\n", " | Return a new :class:`~triqs.gfs.block_gf.BlockGf` containing **deep copies** of the named blocks.\n", " |\n", " | Parameters\n", " | ----------\n", " | selected_blocks : sequence of str\n", " | Block names to copy.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | New container with independent copies of the requested\n", " | blocks.\n", " |\n", " | density(self, *args, **kwargs)\n", " | Compute per-block single-particle density matrices.\n", " |\n", " | Equivalent to :math:`\\langle c^\\dagger_i c_j \\rangle` evaluated\n", " | per block from the diagonal-frequency / equal-time limit of the\n", " | block Green's function.\n", " |\n", " | Parameters\n", " | ----------\n", " | *args, **kwargs\n", " | Forwarded to :meth:`~triqs.gfs.gf.Gf.density` for each block.\n", " |\n", " | Returns\n", " | -------\n", " | dict of {str : numpy.ndarray}\n", " | Mapping ``block_name -> density_matrix``.\n", " |\n", " | inverse(self)\n", " | Compute the inverse of every block.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | New container holding the matrix/scalar inverse of every\n", " | block of ``self``.\n", " |\n", " | invert(self)\n", " | Invert each block in place.\n", " |\n", " | load(self, filename, no_exception=False)\n", " | Load each block from a text file ``filename_``.\n", " |\n", " | Parameters\n", " | ----------\n", " | filename : str\n", " | Common prefix.\n", " | no_exception : bool, optional\n", " | If ``True``, silently skip blocks whose file cannot be read.\n", " | Default ``False``.\n", " |\n", " | save(self, filename, accumulate=False)\n", " | Save each block to a text file ``filename_``.\n", " |\n", " | Parameters\n", " | ----------\n", " | filename : str\n", " | Common prefix; each block is written to\n", " | ``\"{filename}_{block_name}\"``.\n", " | accumulate : bool, optional\n", " | Forwarded to the per-block ``save`` method. Default\n", " | ``False``.\n", " |\n", " | total_density(self, *args, **kwargs)\n", " | Compute the total density summed over all blocks.\n", " |\n", " | Parameters\n", " | ----------\n", " | *args, **kwargs\n", " | Forwarded to :meth:`~triqs.gfs.gf.Gf.total_density` for each block.\n", " |\n", " | Returns\n", " | -------\n", " | float or complex\n", " | Sum of ``g.total_density(...)`` over every block.\n", " |\n", " | transpose(self)\n", " | Transpose every block in target space.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | New container holding the target-space transpose of every\n", " | block of ``self``.\n", " |\n", " | view_selected_blocks(self, selected_blocks)\n", " | Return a new :class:`~triqs.gfs.block_gf.BlockGf` containing **views** of the named blocks.\n", " |\n", " | Parameters\n", " | ----------\n", " | selected_blocks : sequence of str\n", " | Block names to expose. Must all exist in ``self``.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | New container holding view-references to the requested\n", " | blocks, in their original order.\n", " |\n", " | zero(self)\n", " | Set every block's data to zero, in place.\n", " |\n", " | ----------------------------------------------------------------------\n", " | Class methods defined here:\n", " |\n", " | __factory_from_dict__(name, d)\n", " |\n", " | ----------------------------------------------------------------------\n", " | Readonly properties defined here:\n", " |\n", " | all_indices\n", " | Iterate over flat indices ``(block_name, n1, n2)`` for every matrix-valued block.\n", " |\n", " | Yields\n", " | ------\n", " | tuple of (str, int, int)\n", " | ``(block_name, n1, n2)`` triple.\n", " |\n", " | beta\n", " | Inverse temperature :math:`\\beta`.\n", " |\n", " | Returns\n", " | -------\n", " | float\n", " | :math:`\\beta`.\n", " |\n", " | gf_struct\n", " | Canonical block structure.\n", " |\n", " | Returns\n", " | -------\n", " | list of (str, int)\n", " | ``(block_name, linear_size)`` for every block.\n", " |\n", " | imag\n", " | Block-wise view of the imaginary part.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | New container holding ``g.imag`` for each block; the\n", " | ``name`` is prefixed with ``'Im '`` when ``self.name`` is\n", " | non-empty.\n", " |\n", " | indices\n", " | Block names in construction order.\n", " |\n", " | Yields\n", " | ------\n", " | str\n", " | Block name.\n", " |\n", " | mesh\n", " | Mesh shared by every block.\n", " |\n", " | Returns\n", " | -------\n", " | Mesh\n", " | Mesh shared by every block (read from the first block).\n", " |\n", " | Notes\n", " | -----\n", " | Deprecated; access ``g.mesh`` on individual blocks instead.\n", " |\n", " | n_blocks\n", " | Number of blocks.\n", " |\n", " | Returns\n", " | -------\n", " | int\n", " | ``len(self.__GFlist)``.\n", " |\n", " | real\n", " | Block-wise view of the real part.\n", " |\n", " | Returns\n", " | -------\n", " | BlockGf\n", " | New container holding ``g.real`` for each block; the\n", " | ``name`` is prefixed with ``'Re '`` when ``self.name`` is\n", " | non-empty.\n", " |\n", " | ----------------------------------------------------------------------\n", " | Data descriptors defined here:\n", " |\n", " | __dict__\n", " | dictionary for instance variables\n", " |\n", " | __weakref__\n", " | list of weak references to the object\n", " |\n", " | ----------------------------------------------------------------------\n", " | Data and other attributes defined here:\n", " |\n", " | __array_priority__ = 10000\n", "\n" ] } ], "source": [ "from triqs.gfs import BlockGf\n", "?BlockGf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We will in the following consider the first two options for the construction listed in the documentation.\n", "\n", "The first way is to simply define the two Green's function blocks separately, and to then pass these blocks, together with their names:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Green Function G composed of 2 blocks: \n", " Green's Function G_eg with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (2, 2): \n", " \n", " Green's Function G_t2g with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (3, 3): \n", " \n", "\n" ] } ], "source": [ "# Construct individual blocks\n", "g_eg = Gf(mesh=w_mesh, target_shape=[2,2])\n", "g_t2g = Gf(mesh=w_mesh, target_shape=[3,3])\n", "\n", "# Combine blocks into a BlockGf\n", "G = BlockGf(name_list=['eg', 't2g'], block_list=[g_eg, g_t2g])\n", "print(G)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can then access individual blocks simply by using their name" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Green's Function G_eg with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (2, 2): " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G['eg']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For cases where all blocks have a square-matrix `target_shape` we can alternatively pass a list of pairs of block-names and linear matrix sizes." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Green Function G composed of 2 blocks: \n", " Green's Function G_eg with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (2, 2): \n", " \n", " Green's Function G_t2g with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (3, 3): \n", " \n", "\n" ] } ], "source": [ "# List of Block-names and their linear matrix size\n", "gf_struct = [('eg',2), ('t2g',3)]\n", "\n", "G = BlockGf(mesh=w_mesh, gf_struct=gf_struct)\n", "print(G)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's initialize the Green's function values. Instead of writing a loop over the mesh, we here make use of the the operator `<<`, which can fill the Green's function with **simple expressions** containing the `Omega` descriptor. Here `Omega` takes all values of the mesh.\n", "\n", "*Note: The loop initialization is recommended for more complicated expressions involving e.g. calls to math functions*" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from triqs.gfs import Omega\n", "\n", "V1 = 0.1\n", "V2 = 0.2\n", "eps_t2g = -2.0\n", "ieta = 1e-13j\n", "\n", "# The e_g part\n", "G['eg'][0,0] << Omega + ieta\n", "G['eg'][0,1] << V1\n", "G['eg'][1,0] << V1\n", "G['eg'][1,1] << Omega + ieta\n", "\n", "# Perform an in-place Matrix inversion\n", "G['eg'].invert()\n", "\n", "# The t_2g part\n", "G['t2g'][0,0] << Omega - eps_t2g + ieta\n", "G['t2g'][1,1] << Omega - eps_t2g + ieta\n", "G['t2g'][2,2] << Omega - eps_t2g + ieta\n", "G['t2g'][0,2] << V2\n", "G['t2g'][2,0] << V2\n", "G['t2g'].invert()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When using the Green's function object, it is often convenient to **iterate over all the blocks** of a `BlockGf`. We can do this with the following construct" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "This is the block called eg\n", "The associated Green's function is Green's Function G_eg with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (2, 2): \n", "\n", "This is the block called t2g\n", "The associated Green's function is Green's Function G_t2g with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (3, 3): \n", "\n" ] } ], "source": [ "# Loop over the blocks\n", "for name, g in G:\n", " print(\"This is the block called\", name)\n", " print(\"The associated Green's function is\", g)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional Initialization Descriptors\n", "\n", "In the following we will introduce a few additional means of initializing Green's functions using `<<`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Flat density of states\n", "Consider the problem of a single atomic level embedded in a flat conduction bath $\\Gamma$ of electrons.\n", "$$\n", "G(\\omega) = \\frac{1}{\\omega - \\epsilon_d - V^2 \\Gamma(\\omega) + i\\eta}\n", "$$\n", "\n", "In the equation above $\\epsilon_d$ is the energy of the level and $\\Gamma$ is the Green's function of\n", "a flat conduction bath as obtained via the Hilbert transform\n", "\n", "$$\n", "\\Gamma(\\omega) = \\int_{-\\infty}^{\\infty} \\frac{\\rho(\\epsilon)}{\\omega-\\epsilon + i\\eta}d\\epsilon = \\int_{-D}^{D}\\frac{1}{\\omega-\\epsilon + i\\eta}\\frac{d\\epsilon}{2D}\n", "$$\n", "\n", "Here $D$ denotes the half-bandwidth and $\\rho(\\omega) = \\theta(D-|\\omega|)/(2D)$ is the density of states.\n", "\n", "Let's see how to define and then plot this Green's function by using `inverse` and the `Flat` descriptor." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Green's Function with mesh Real frequency mesh with w_min = -4, w_max = 4, N = 1000 and target_shape (): " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eps_d = 1.0 # Energy\n", "V = 0.2 # Bath Hybridization\n", "D = 1.5 # Half bandwidth\n", "\n", "G = Gf(mesh=w_mesh, target_shape=[])\n", "\n", "from triqs.gfs import Omega, Flat, inverse\n", "G << inverse(Omega - eps_d - V**2 * Flat(D) + ieta)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the predefined function `Flat` for a flat conduction bath $\\Gamma(\\omega)$.\n", "Let's plot the atomic Green's function. Note that default, both the real and imaginary parts are plotted." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "oplot(G, '-', linewidth=2, name=\"G\") " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the spectral function, which is defined as\n", "\n", "$$ \\rho(\\omega) = -\\frac{1}{\\pi} \\, \\textbf{Im} \\, G $$" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from math import pi\n", "oplot(-G.imag/pi, linewidth=2, name=r\"$\\rho$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected the spectral function is peaked at $\\epsilon_d$ and shows a jump in spectral weight at $D$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Semi-circular density of states\n", "\n", "Another predefined Green's function is the one corresponding to a semi-circular spectral function. This one will be useful in the DMFT Tutorials later on." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "D = 1.0 # Half bandwidth\n", "\n", "G = Gf(mesh=w_mesh, target_shape=[])\n", "\n", "from triqs.gfs import SemiCircular\n", "G << SemiCircular(D)\n", "\n", "oplot(-G.imag/pi, name=r\"$\\rho$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Imaginary-frequency Green's functions\n", "-------------------------------------\n", "\n", "These are Green's function defined on the Matsubara axis. The fermionic Matsubara frequencies\n", "are defined by\n", "\n", "$$\\omega_n = \\frac{(2n+1)\\pi}{\\beta}$$\n", "\n", "where $\\beta = 1/T$ is the inverse temperature. These Green's functions are important because\n", "most Monte Carlo algorithms yield results on the Matsubara axis. Let's see how they\n", "are defined:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 10.0)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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++/n/PPPp0uXLhw9epRHH32U3bt38+tf/9rO0xAREZEQEtLh6Re/+AUHDx5kxowZ5Obm0rdvX5YtW+brRL5nzx6czpONaz/88AM333wzubm5nHPOOfTr149Vq1aRkZFh1ymIiIhIiHEYhmHYXUSocLvdxMfHk5+fT1xcnN3liIiISB34+/s7ZPs8iYiIiNhB4UlERETEAoUnEREREQsUnkREREQsUHgSERERsUDhSURERMQChScRERERCxSeRERERCxQeBIRERGxQOFJRERExAKFJxERERELFJ5ERERELFB4EhEREbFA4UlERETEAoUnEREREQsUnkREREQsUHgSERERsUDhSURERMQChScRERERCxSeRERERCxQeBIRERGxQOFJRERExAKFJxERERELFJ5ERERELFB4EhEREbFA4UlERETEAoUnEREREQsUnkREREQsUHgSERERsUDhSURERMQChScRERERCyLqu2NpaSm5ubkcP36chIQEWrZs6c+6RERERIKSpZanY8eO8eyzz3LxxRcTFxdHx44d6dGjBwkJCXTo0IGbb76ZtWvXNlStIiIiIrarc3h64okn6NixIwsXLmT48OG88cYbZGdns337dlavXs3MmTMpKyvjsssuY+TIkXz99dcNWbeIiIiILRyGYRh12fDaa6/lnnvuITMz84zbFRcXs3DhQqKiorjpppv8UmSwcLvdxMfHk5+fT1xcnN3liIiISB34+/u7zuFJFJ5ERERCkb+/v3W3nYiIiIgF9b7brrLNmzfz5ptv0qJFCzIzM+nVqxfnnHOOPw4tIiIiElT80vJ0xRVX0KRJEwoLC3nuuecYNmwYnTt39sehRURERIKKX1qekpKSuOWWW6qs83g8/ji0iIiISFDxS8vTsGHDWLhwYZV1LpfLH4cWERERCSp+udtu9OjR5OTk4HQ6Oe+88+jTpw+9e/dmzJgx/qgxaOhuOxERkdDj7+9vv1y2e+eddwBzBPKcnBxycnJYsWJFowtPIiIiIvUKT3PmzCE7O5vc3FxiY2PJzMzkpz/9KYMGDfI9RERERBqjevV5euaZZzh06BBt2rQBYMmSJQwZMoSRI0eSn5/v1wJFREREgkm9Wp727t172rrPPvuMiRMnMmnSJF544YWzLkxEREQkGPmlzxPA+eefz8KFC7nooov8dUgRERGRoHPWQxUs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b37zG99yr169SE5OZtiwYezcuZPOnTuftv2sWbO47777rH9QRDS07m5+sefl1Ds8gRmgLs1IqnaE8UZt81J4eRycetHS/T28MfHka80vJyIiARZU4em2225jwoQJZ9ymU6dOJCUlceDAgSrry8rKOHLkiKX+TAMHDgRgx44d1Yan6dOnM3XqVN9rt9tNamodg1BSLzM85W40xw86Cy6nI7yGI/B6zBanM41y5YyEEQ9B76sh9pyAlSYiIhJU4SkhIYGEhIRatxs0aBBHjx5l3bp19OvXD4APPvgAr9frC0R1kZ2dDUBycvWXv6Kjo4mOrt8glyT1hA34bZqWsLJ7VdVLddXxlkKbDAUnEREJuJC8xtGjRw9GjhzJzTffzJo1a/j000+ZPHky11xzje9Ou3379pGens6aNWsA2LlzJw888ADr1q3j22+/ZenSpYwbN46LLrqI3r0bYKLXpF7ms8KTdQV5/t1ORETEj0IyPIF511x6ejrDhg3j8ssv54ILLmDBggW+90tLS9m2bZvvbrqoqCjef/99LrvsMtLT07ntttu48soreeuttxqmwMTy8PTDLig+1jCf0Vg1S/TvdiIiIn7kMIx63ksfhtxuN/Hx8eTn559xkEyfx3vAse/hpneh/fkNX2Bj4fXA4+lQeKCGDRzm3XRTNmoOOhERqZXl7+9ahGzLU0ioPN6T1J3DeYbpUsrvMhw5W8FJRERsofDUkNTvqX62vAUHNptjZZ16aS4uBa5+HjKusKc2EREJe0F1t12jk1je8pSXY28doaT0BLz3J3P5glth6HTz7ruCPDNIdRisFicREbGVwlNDSiq/iy9vs9mPR1/6tVv1DBzdA3FtzfDkdEHahXZXJSIi4qPLdg2pZRpENoGyE3B4p93VBL/87+B/T5jLl94PUU3trUdERKQaCk8NyemCxExzOXeDvbWEguUzzKDZfhD0vNLuakRERKql8NTQ1O+pbnavgpxXAQeMegQcjXzuPhERCVkKTw1Nd9zVzuuB/95pLvcbD8l97K1HRETkDBSeGpovPKnlqUbrnzfDZXQ8XHKv3dWIiIickcJTQ2uTATigIBcKDtpdTfA58QN88IC5/KPpZxgcU0REJDgoPDW06GbQspO5nKdLd6f56BE4fhgS0uG8X9tdjYiISK0UngJB07RU78BWWFM+mfPIWeCKtLceERGR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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Define the imaginary-frequency mesh\n", "from triqs.gfs import MeshImFreq\n", "iw_mesh = MeshImFreq(beta=5, statistic='Fermion', n_iw=1000)\n", "\n", "# Create Green's function and fill it using the iOmega_n descriptor\n", "G = Gf(mesh=iw_mesh, target_shape=[])\n", "from triqs.gfs import iOmega_n\n", "G << inverse(iOmega_n - 0.2)\n", "\n", "# Plot the Green's function\n", "oplot(G, '-o', name='G')\n", "plt.xlim(0,10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Arithmetic Operations\n", "\n", "Green's functions can be added, multiplied by numbers, etc. The way this is done is quite natural." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 10.0)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Vte55ORkjh07BuDqzgoODnadv+CCC/juu+/qLHvhwoWYzWZee+011q5d2+g6tXUSBAkhhGi3AgwBbL5pc4P5tmdt575VDbeKLJy0kGExwxp136YICgqid+/eAPzrX/9iyJAhvPPOO9x5550UFRUB8O2339K1a9cq15lMplrLS0pKAmD//v2uQEmv17vuYTBUfb3/73//w2azAZCRkcGECRNcARNAQEDF8yQlJbF///4q18fFxQEQHh7e+IduByQIEkII0W4pitKobqmxXcYSExhDdnF2reOCFBRiAmMY22Vso8YEtYROp2POnDnMnj2bm266iQEDBmAymTh+/HitXV+1GTp0KP369eOll17i+uuvr3NcULnK44/KA6TygKm6G2+8kccff5yff/65SS1R7ZGsEySEEKLD0+v0PDryUcAZ8FRWfvzIyEc8HgCVu+6669Dr9SxYsICQkBAeeughHnzwQZYuXcqvv/7Kjh07eP3111m6dGmt1yuKwpIlS9i/fz/jxo3jq6++4uDBg+zZs4fFixeTk5ODXt+8Z3nwwQcZM2YMkyZN4h//+Ac7duzgyJEjfP/993z33XfNLrctkiBICCGET5jcfTKvTHiF6MDoKukxgTEenR5fG4PBwMyZM3nhhRcwm838/e9/54knnmDevHn079+fKVOm8O2335KYmFhnGaNHj2b79u307duXGTNmMGDAAMaOHcuyZcuYP38+06dPb1bd/P39WbVqFY888ghLlixh/Pjx9O/fn1mzZjFu3Di++OKLZj5126NoHWnCfxMUFBQQFhZGfn4+oaGh3q6OEEKIBpSWlnLkyBESExPx9/dvdjkO1cGO7B3kFOcQFRjF+dHnt1oLkGic+n7X7nx/y5ggIYQQPkWv0zMidoS3qyHaAOkOE0IIIYRPkiBICCGEED5JgiAhhBBC+CQJgoQQQgjhkyQIEkIIIYRPkiBICCGEED5JgiAhhBBC+CQJgoQQQgjhkyQIEkIIIYRPkiBICCGET9EcDsybt5D/zbeYN29Bczg8er9p06Zx9dVXe6TsQ4cOcccdd5CQkIDJZKJr165MmjSJDz74ALvd3uxyrVYrL774Iueffz5BQUGEhYUxZMgQHn/8cU6dOuXGJ/Au2TZDCCGEzyhYsYKsufOwZ2a60gyxscTMeYzQlBQv1qzptmzZwuTJk0lOTmbBggX0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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "oplot(G, \"-o\", name='G')\n", "oplot(G+G, \"-o\", name='G+G')\n", "oplot(3*G+2, \"-o\", name='3*G+2')\n", "plt.xlim(0,10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Obtaining the density\n", "\n", "You can obtain the density for Green's functions with a `MeshReFreq` and `MeshImFreq` using the `density` method" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Density = (0.2689414213802603-2.867555569693999e-15j)\n" ] } ], "source": [ "G = Gf(mesh=iw_mesh, target_shape=[])\n", "G << inverse(iOmega_n - 0.2)\n", "print(\"Density =\", G.density())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Do not worry about the imaginary component as the machine precision is on the order of $10^{-15}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fourier transforms\n", "\n", "TRIQS allows you to easily Fourier transform Green's functions from imaginary-time to imaginary-frequency." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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Qn5+flqxYoX8/f2dlh0AALi/RnHKrL46duyokSNHatq0adq6das2bNigmTNn6pZbbqm9wuzUqVNKSkrS1q1bJdWUoeHDh6u4uFivv/66CgoKZLPZZLPZVF1dbeTbAQAAjUSjOEJ0KZYsWaKZM2dqyJAhslqtGjdunP7617/WPl5ZWam0tDSVlJRIknbs2FF7BVq7du3qvNbRo0fVunVrl2UHAACNk1vNQ2Sk+s5jAAAAGg+PnIcIAACgIVCIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6XlfycaVlZWy2WwqKSlRVFSUwsPDnZULAADAZS75CFFhYaEWLlyoa6+9ViEhIWrdurU6duyoqKgotWrVStOmTdO2bdsaIisAAECDuKRC9Oc//1mtW7fW4sWLNXToUC1fvlypqak6ePCgNm3apMcee0xVVVUaPny4Ro4cqUOHDjVUbgAAAKexOBwOR32fPHHiRD3yyCPq3LnzRZ9XXl6uxYsXy9fXV1OmTLnikI1BQUGBQkNDlZ+fr5CQEKPjAACAeqjv9/clFaL/tnLlSo0aNUpWqznGZVOIAABwP/X9/r7sNjNmzBidOXPmcjcHAABoNC67EF3mgSUAAIBG54rOd6WmpqqkpKTOuszMTE4pAQAAt3JF8xDdcMMNslgsat26tbp166bExEQdP35cYWFhTooHAADQ8K6oEB08eFDZ2dnavXu3du3apd27d8tut2vRokXOygcAANDgrqgQBQcHq23bthowYICz8gAAALjcZY8h+slPfiIfHx9nZgEAADDEZR8hWr58uRNjAAAAGMccsyoCAABcxCUVohMnTlzSi586deqSng8AAGCESypEffr00d13333Ru9nn5+frtddeU5cuXfTRRx9dcUAAAICGdkljiPbt26enn35aw4YNk7+/v5KTkxUXFyd/f3+dO3dO+/bt0969e9WrVy89++yzGjVqVEPlBgAAcJrLurlraWmpPvnkE3399dc6fvy4SktLFRkZqZ49e2rEiBHq0qVLQ2Q1FDd3BQDA/TT43e7NhkIEAID7qe/39yVfdl9aWqo1a9boxhtvlCTNnTtX5eXltY97eXnpySeflL+//2XEBgAAcL1LLkRvvfWWPvnkk9pCNH/+fHXu3FkBAQGSpAMHDiguLk4PPvigc5MCAAA0kEueh2jJkiWaPn16nXVLly7VF198oS+++ELPPfecPvjgA6cFBAAAaGiXXIjS09PVtWvX2j/7+/vLav3+Zfr27at9+/Y5Jx0AAIALXPIps7y8vDpjhnJycuo8brfb6zwOAADQ2F3yEaIWLVpoz549F3x8165datGixRWFAgAAcKVLLkSjRo3So48+qrKysh88VlpaqieeeEKjR492SjgAAABXuOR5iLKystSjRw/5+vpq5syZ6tChgyQpLS1N8+fPV1VVlXbu3KmYmJgGCWwU5iECAMD9NNg8RDExMdq4caPuuecezZkzR9/1KYvFomHDhunll1/2uDIEAAA82yUXIklq06aNVq1apdzcXKWnp0uS2rVrp/DwcKeGAwAAcIXLKkTfCQ8PV9++fZ2VBQAAwBCXPKgaAADA01CIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6VGIAACA6bldIcrNzdWkSZMUEhKisLAwTZ06VUVFRRfd5u6771bbtm0VEBCgqKgojRkzRgcOHHBRYgAA0Ni5XSGaNGmS9u7dq9WrV2vlypVav369pk+fftFtkpOTtXjxYu3fv1+fffaZHA6Hhg8frurqahelBgAAjZnF4XA4jA5RX/v371enTp20bds29e7dW5K0atUqjRo1SidPnlRcXFy9XmfXrl3q3r270tPT1bZt23ptU1BQoNDQUOXn5yskJOSy3wMAAHCd+n5/u9URok2bNiksLKy2DEnS0KFDZbVatWXLlnq9RnFxsRYvXqw2bdooPj7+gs8rLy9XQUFBnQUAAHgmtypENptN0dHRddZ5e3srPDxcNpvtotu+/PLLCgoKUlBQkP79739r9erV8vX1veDz582bp9DQ0NrlYuUJAAC4t0ZRiObMmSOLxXLR5UoHQU+aNEk7d+7UunXr1KFDB918880qKyu74PPnzp2r/Pz82iUjI+OK9g8AABovb6MDSNLs2bM1efLkiz4nISFBsbGxys7OrrO+qqpKubm5io2Nvej23x3pad++vfr376+mTZtq2bJlmjhx4nmf7+fnJz8/v0t6HwAAwD01ikIUFRWlqKioH33egAEDlJeXp5SUFCUnJ0uS1q5dK7vd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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# A Green's function in frequency set to semi-circular\n", "Giw = Gf(mesh=iw_mesh, target_shape=[])\n", "Giw << SemiCircular(1.0)\n", "\n", "# A Green's function in time set by inverse Fourier transform\n", "from triqs.gfs import make_gf_from_fourier\n", "Gtau = make_gf_from_fourier(Giw)\n", "oplot(Gtau, name='G')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also go the other way. Let's check that it gives back the original result." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 5.0)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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AAAABgQlAAAAA4ISAACAAUEJAADAgKAEAABgQFACAAAwICgBAAAYEJQAAAAMCEoAAAAGBCUAAAADghIAAIABQQkAAMCAoAQAAGBAUAIAADAgKAEAABgQlAAAAAwISgAAAAYEJQAAAAOCEgAAgAFBCQAAwICgBAAAYEBQAgAAMCAoAQAAGBCUAAAADAhKAAAABgQlAAAAA4ISAACAAUEJAADAgKAEAABgQFACAAAwICgBAAAYEJQAAAAMCEoAAAAGBCUAAAADghIAAIBBu+buWFNTo+LiYh0+fFgul0tdu3ZtyboAAAAs16QRpfLyci1dulSXXHKJHA6HevXqpX79+snlcik5OVlTp07Vpk2bAlUrAABAq2p0UHryySfVq1cvLV++XJmZmXrzzTeVn5+vL7/8Unl5eZo3b56OHj2qyy67TGPGjNFXX30VyLoBAAACzubz+XyN6Xjdddfp/vvv1znnnHPCflVVVVq+fLk6dOig//qv/2qRIoOFx+OR0+mU2+2Ww+GwuhwAANAIp/L53eigBIISAACh6FQ+v/nWGwAAgEGzv/X2azt27NDq1avVpUsXnXPOORowYIBOO+20ljg0AACAZVpkROmqq65Sp06dVFlZqeeee04jR47UGWec0RKHBgAAsEyLjCjFx8frzjvvrNdWW1vbEocGAACwTIuMKI0cOVLLly+v1xYREdEShwYAALBMiwSlzZs364EHHlBKSop+97vfaf78+frHP/7REoc+qcWLF6tXr16KiorS8OHDtXHjxhP2/9vf/qa+ffsqKipKAwYM0D//+c9WqTOU1Xp9ytt9UKvzv1fe7oOq9fJFybaM8x1+OOfhh3PeeC0y9bZ27VpJdVfuLigoUEFBgdavX68rr7yyJQ5v9MorrygrK0s5OTkaPny4FixYoNGjR2vXrl3q3r37cf03bNig6667TtnZ2frtb3+rF198UePGjdPWrVuVmpoa0FpD0ZL8JdpdWqkNm4eoyH3E357gjFLGuVt1hquz7hh0h4UVoiVxvsMP5zz8cM6brlkjSo899piuv/56/eY3v9EVV1yhe+65R3l5eYqJiVF6erqmTp2qBQsWtHCpx3vyySc1depUTZkyRf3791dOTo46deqk559/vsH+f/nLXzRmzBj94Q9/UL9+/fTwww9ryJAhWrRoUcBrDUW7Syv1//a/oIPt19ZrP9h+rf7f/he0u7TSosoQCJzv8MM5Dz+c86ZrVlBauHChysrK/KM2L730ki644AKNGTNGbre7RQs0qa6u1pYtW5SZmelvs9vtyszMVF5eXoP75OXl1esvSaNHjzb2D2e1Xp82bB6iqtJRinTlqkPseklSh9j1inTlqqp0lDZsHsJwbRvB+Q4/nPPwwzlvnmZNve3bt++4tk8++UTTpk3T9OnTtWrVqlMu7GTKyspUW1uruLi4eu1xcXHauXNng/sUFxc32L+4uLjB/lVVVaqqqvJvezyeU6w6dGws/OHnYdmRklT3j6rbv2Sz16qqdJSqy0aqSEe0sfAHpZ/Rzdpicco43+GHcx5+OOfN02JX5j7//PO1fPlyvfXWWy11SMtlZ2fL6XT6H0lJSVaX1GoOlP8yd11dNlI+b4Rs9lr5vBGqLhvZYD+ELs53+OGchx/OefOcclBavny5XnvtNa1Zs0aLFi1St26tk0JjY2MVERGhkpKSeu0lJSWKj49vcJ/4+Pgm9Z8zZ47cbrf/0dBIWlvVPSbK/7xD7Hr/PyabvdY/XPvv/RC6ON/hh3MefjjnzXPKQenTTz/VbbfdpquvvloHDhxotRGlDh06aOjQoVq//peT6/V6tX79eqWnpze4T3p6er3+kpSbm2vsHxkZKYfDUe8RLoaldFWCM6re3HXFrvn15rYTnFEaltLV6lLRAjjf4YdzHn44581zykEpJydHZWVlWrNmjb755htt3bq1JepqlKysLD377LNauXKlvvjiC02bNk2VlZWaMmWKJGnixImaM2eOv/+dd96pdevW6YknntDOnTv1wAMPaPPmzZoxY0ar1RwqIuw2ZZy71f+P6diwbHXZSP8/qoxztyrCbrO4UrQEznf44ZyHH8558zRrMffFF1+sxx9/XMOHD5ck2Ww2jR07VgkJCbr88ss1adKkFi3S5JprrlFpaanmzp2r4uJiDRo0SOvWrfMv2N67d6/s9l+yYEZGhl588UXdf//9uu+++3TmmWfqzTff5BpKBme4OusyTdSG/UNUpF/mrLvVXKGMxASd4epsYXVoaZzv8MM5Dz+c86az+Xy+Jn8PcNq0aXr22Wc1bNgwjR8/XgMGDFB0dLReeuklrVq1Sj/++GMgarWcx+OR0+mU2+0Oq2m4Wq9PGwt/0IHyI+oeUzcsy/9xtF2c7/DDOQ8/4XbOT+Xzu1lBSZK2b9+uxx9/XG+88YbKy8vrDmaz6ZFHHtEf//jH5hwy6IVrUAIAIJRZEpSOqa2t1e7du3Xo0CElJycfd52itoSgBABA6DmVz+9GL+a+6aab9NNPP0mqW/tzTEREhM466ywNGzasTYckAAAQfhq9mLtz586qqqpSx44d1atXL5122mkaOHCgBg0apLS0NA0aNEjnnHOO2rdvH8h6AQAAWk2zpt727Nmjzz77TPn5+f6f3377rdq1a6e+ffvqs88+C0StlmPqDQCA0HMqn9/NujxAcnKykpOTddVVV/nbysvLlZ+fr88//7w5hwQAAAg6jR5R2rt3r3r27NnoA3///fc6/fTTm11YMGJECQCA0NMqi7nPO+883Xbbbdq0aZOxj9vt1rPPPqvU1FT9/e9/b1IhAAAAwabRU287duzQ/PnzNWrUKEVFRWno0KFKTExUVFSUfvzxR+3YsUPbt2/XkCFD9Nhjj+nyyy8PZN0AAAAB1+TF3D/99JPWrl2rjz76SHv27NFPP/2k2NhYDR48WKNHj27TtwNh6g0AgNBj6QUnwwlBCQCA0NMqa5QAAADCDUEJAADAgKAEAABgQFACAAAwICgBAAAYEJQAAAAMCEoAAAAGBCUAAAADghIAAIABQQkAAMCAoAQAAGBAUAIAADBoZ3UBAACglXlrpT0bpIoSKTpOSs6Q7BFWVxWUCEoAAISJ0oWLpINfyuXIlTz7f3nBkahSzyip21lyzZxhXYFBiKk3AADCxcEvVfZyrko3eOo1l24oV9nLudLBLy0qLHgxogQAQDjw1taNJKV6VFbgkCS5UitUWhCtsoIYxaaWy+V4t25ajmk4P4ISAADhYM8GybNfrtS6zbIChw7uiJHPa1Nsqkeu1ArJU17XL+Uia2sNIky9AQAQDipK/E9dqRWy2X3yeW2y2X11IamBfiAoAQAQHqLj/E9LC6L9Icnntam0ILrBfmDqDQCA8JCcUffttg3lP69J8vxqjZJDkk2uDEddP/gxogQAQDiwR6jUM+qXhds/T7e5UisUm1oXnko9mSzk/jeMKAEAEC66naXYa/XzdZTK/c2uDIeUmil1O8vC4oITQQkAgDDhv5hkA1fmdjGS1CCCEgAA4cYewSUAGok1SgAAAAaMKAFAuOMGqYARQQkAwhQ3SAVOjqk3AAhX3CAVOClGlAAgHHGDVKBRCEoAEI64QSrQKEy9AUA44gapQKMQlAAgHHGDVKBRmHoDgHDEDVKBRmFECQDCETdIBRqFESUACFfcIBU4KYISAIQpbpAKnBxBCQDCHTdIBYxYowQAAGBAUAIAADAgKAEAABgQlAAAAAwISgAAAAYEJQAAAAOCEgAAgAFBCQAAwICgBAAAYEBQAgAAMCAoAQAAGBCUAAAADAhKAAAABgQlAAAAA4ISAACAAUEJAADAoJ3VBQAIMt5aac8GqaJEio6TkjMke4TVVQGAJUJ2ROmHH37QDTfcIIfDoS5duujmm29WRUXFCfcZMWKEbDZbvcftt9/eShUDwa104SKVPvB7aUGqtPK30t9vrvu5IFWlD/xepQsXWV0iALS6kB1RuuGGG1RUVKTc3FzV1NRoypQpuvXWW/Xiiy+ecL+pU6fqoYce8m936tQp0KUCoeHglyp7OVdK9ciV+ktz6YZylRXkKvZa60oDAKuEZFD64osvtG7dOm3atEnnnnuuJGnhwoW6/PLL9T//8z9KTEw07tupUyfFx8e3VqlAaPDWyuWoC0llBQ5Jkiu1QqUF0SoriFFsarlcjnfrpuWYhgMQRkJy6i0vL09dunTxhyRJyszMlN1u16effnrCff/6178qNjZWqampmjNnjg4fPhzocoHgt2eD5NkvV2qFYn8OSztfTVBZgUOxqR65Usslz/d1/QAgjITkiFJxcbG6d+9er61du3bq2rWriouLjftdf/31Sk5OVmJioj7//HP98Y9/1K5du/T666832L+qqkpVVVX+bY/H0zK/ABBsKkr8T12pFTq4I0Y+r002u0+u1IoG+wFAOAiqoHTvvffqz3/+8wn7fPHFF80+/q233up/PmDAACUkJGjkyJHavXu3zjjjjOP6Z2dn68EHH2z2+wEhIzrO/7S0INofknxem0oLon8JS7/qBwDhIKiC0t13363JkyefsE/v3r0VHx+vAwcO1Gs/evSofvjhhyatPxo+fLgk6euvv24wKM2ZM0dZWVn+bY/Ho6SkpEYfHwgZyRmSI/HnhdsxP0+3HVuj5JBkkyvDUdcPAMJIUAUll8sll8t10n7p6ek6dOiQtmzZoqFDh0qS/vWvf8nr9frDT2Pk5+dLkhISEhp8PTIyUpGRkY0+HhCy7BEq9Yyq+3Zbarl/BKnup01lBTFSaqZcLOQGEGZCcjF3v379NGbMGE2dOlUbN27Uxx9/rBkzZujaa6/1f+Pt+++/V9++fbVx40ZJ0u7du/Xwww9ry5Yt+vbbb/XWW29p4sSJuvjiizVw4EArfx0gOHQ7S7HXjpIrI6ZesyvDodhrR0ndzrKoMACwTlCNKDXFX//6V82YMUMjR46U3W7X+PHj9fTTT/tfr6mp0a5du/zfauvQoYPeffddLViwQJWVlUpKStL48eN1//33W/UrAEHFNXNG3ZMGrszNSBKAcGXz+Xw+q4sIFR6PR06nU263Ww6Hw+pyAABAI5zK53dITr0BAAC0BoISAACAAUEJAADAgKAEAABgQFACAAAwICgBAAAYEJQAAAAMCEoAAAAGBCUAAAADghIAAIABQQkAAMCAoAQAAGBAUAIAADAgKAEAABgQlAAAAAwISgAAAAYEJQAAAAOCEgAAgAFBCQAAwICgBAAAYEBQAgAAMCAoAQAAGBCUAAAADAhKAAAABgQlAAAAA4ISAACAAUEJAADAgKAEAABgQFACAAAwICgBAAAYEJQAAAAMCEoAAAAGBCUAAAADghIAAIABQQkAAMCAoAQAAGBAUAIAADAgKAEAABgQlAAAAAwISgAAAAYEJQAAAAOCEgAAgAFBCQAAwICgBAAAYEBQAgAAMCAoAQAAGBCUAAAADAhKAAAABgQlAAAAA4ISAACAAUEJAADAgKAEAABgQFACAAAwICgBAAAYEJQAAAAMCEoAAAAGBCUAAAADghIAAIABQQkAAMCAoAQAAGBAUAIAADAgKAEAABgQlAAAAAwISgAAAAYEJQAAAIOQDErz589XRkaGOnXqpC5dujRqH5/Pp7lz5yohIUEdO3ZUZmamvvrqq8AWCgAAQlpIBqXq6mpNmDBB06ZNa/Q+jz32mJ5++mnl5OTo008/VefOnTV69GgdOXIkgJUCAIBQZvP5fD6ri2iuFStWaNasWTp06NAJ+/l8PiUmJuruu+/W7NmzJUlut1txcXFasWKFrr322ka9n8fjkdPplNvtlsPhONXyAQBAKziVz++QHFFqqsLCQhUXFyszM9Pf5nQ6NXz4cOXl5VlYGQAACGbtrC6gNRQXF0uS4uLi6rXHxcX5X2tIVVWVqqqq/NsejycwBQIAgKAUNCNK9957r2w22wkfO3fubNWasrOz5XQ6/Y+kpKRWfX8AAGCtoBlRuvvuuzV58uQT9undu3ezjh0fHy9JKikpUUJCgr+9pKREgwYNMu43Z84cZWVl+bc9Hg9hCQCAMBI0QcnlcsnlcgXk2CkpKYqPj9f69ev9wcjj8ejTTz894TfnIiMjFRkZGZCaAABA8Auaqbem2Lt3r/Lz87V3717V1tYqPz9f+fn5qqio8Pfp27ev3njjDUmSzWbTrFmz9Kc//UlvvfWWtm3bpokTJyoxMVHjxo2z6LcAAADBLmhGlJpi7ty5WrlypX978ODBkqT/+7//04gRIyRJu3btktvt9ve55557VFlZqVtvvVWHDh3ShRdeqHXr1ikqKqpVawcAAKEjpK+j1Nq4jhIAAKGH6ygBAAAEAEEJAADAgKAEAABgQFACAAAwICgBAAAYhOTlAdDKvLXSng1SRYkUHSclZ0j2CKurAgAg4AhKMCpduEg6+KVcjlzJs/+XFxyJKvWMkrqdJdfMGdYVCABAgDH1BrODX6rs5VyVbvDUay7dUK6yl3Olg19aVBgAAK2DESU0zFtbN5KU6lFZQd3FuVypFSotiFZZQYxiU8vlcrxbNy3HNBwAoI0iKKFhezZInv1ypdZtlhU4dHBHjHxem2JTPXKlVkie8rp+KRdZWysAAAHC1BsaVlHif+pKrZDN7pPPa5PN7qsLSQ30AwCgrSEooWHRcf6npQXR/pDk89pUWhDdYD8AANoapt7QsOSMum+3bSj/eU2S51drlBySbHJlOOr6AQDQRjGihIbZI1TqGfXLwu2fp9tcqRWKTa0LT6WeTBZyAwDaNEaUYNbtLMVeq5+vo1Tub3ZlOKTUTKnbWRYWBwBA4BGUYOS/mGQDV+Z2MZIEAAgDBCWcnD2CSwAAAMISa5QAAAAMCEoAAAAGBCUAAAADghIAAIABQQkAAMCAoAQAAGBAUAIAADAgKAEAABhwwckm8Pl8kiSPx2NxJQAAoLGOfW4f+xxvCoJSExw8eFCSlJSUZHElAACgqQ4ePCin09mkfQhKTdC1a1dJ0t69e5v8h0bL83g8SkpK0r59++RwOKwuJ6xxLoIH5yJ4cC6Ch9vtVs+ePf2f401BUGoCu71uSZfT6eQ/+iDicDg4H0GCcxE8OBfBg3MRPI59jjdpnwDUAQAA0CYQlAAAAAwISk0QGRmpefPmKTIy0upSIM5HMOFcBA/ORfDgXASPUzkXNl9zvisHAAAQBhhRAgAAMCAoAQAAGBCUAAAADAhKAAAABgSlJli8eLF69eqlqKgoDR8+XBs3brS6pLD0wQcf6Morr1RiYqJsNpvefPNNq0sKS9nZ2TrvvPMUExOj7t27a9y4cdq1a5fVZYWtpUuXauDAgf6LG6anp+vtt9+2uqyw9+ijj8pms2nWrFlWlxKWHnjgAdlstnqPvn37NukYBKVGeuWVV5SVlaV58+Zp69atSktL0+jRo3XgwAGrSws7lZWVSktL0+LFi60uJay9//77mj59uj755BPl5uaqpqZGl112mSorK60uLSz16NFDjz76qLZs2aLNmzfrN7/5ja6++mpt377d6tLC1qZNm7Rs2TINHDjQ6lLC2jnnnKOioiL/46OPPmrS/lweoJGGDx+u8847T4sWLZIkeb1eJSUlaebMmbr33nstri582Ww2vfHGGxo3bpzVpYS90tJSde/eXe+//74uvvhiq8uB6u5P+fjjj+vmm2+2upSwU1FRoSFDhmjJkiX605/+pEGDBmnBggVWlxV2HnjgAb355pvKz89v9jEYUWqE6upqbdmyRZmZmf42u92uzMxM5eXlWVgZEDzcbrckNeumk2hZtbW1evnll1VZWan09HSrywlL06dP1xVXXFHvcwPW+Oqrr5SYmKjevXvrhhtu0N69e5u0PzfFbYSysjLV1tYqLi6uXntcXJx27txpUVVA8PB6vZo1a5YuuOACpaamWl1O2Nq2bZvS09N15MgRRUdH64033lD//v2tLivsvPzyy9q6das2bdpkdSlhb/jw4VqxYoXOPvtsFRUV6cEHH9RFF12kgoICxcTENOoYBCUAp2z69OkqKCho8tw/WtbZZ5+t/Px8ud1uvfbaa5o0aZLef/99wlIr2rdvn+68807l5uYqKirK6nLC3tixY/3PBw4cqOHDhys5OVmvvvpqo6ekCUqNEBsbq4iICJWUlNRrLykpUXx8vEVVAcFhxowZWrNmjT744AP16NHD6nLCWocOHdSnTx9J0tChQ7Vp0yb95S9/0bJlyyyuLHxs2bJFBw4c0JAhQ/xttbW1+uCDD7Ro0SJVVVUpIiLCwgrDW5cuXXTWWWfp66+/bvQ+rFFqhA4dOmjo0KFav369v83r9Wr9+vXM/yNs+Xw+zZgxQ2+88Yb+9a9/KSUlxeqS8G+8Xq+qqqqsLiOsjBw5Utu2bVN+fr7/ce655+qGG25Qfn4+IcliFRUV2r17txISEhq9DyNKjZSVlaVJkybp3HPP1bBhw7RgwQJVVlZqypQpVpcWdioqKur930BhYaHy8/PVtWtX9ezZ08LKwsv06dP14osvavXq1YqJiVFxcbEkyel0qmPHjhZXF37mzJmjsWPHqmfPniovL9eLL76o9957T++8847VpYWVmJiY49bpde7cWd26dWP9ngVmz56tK6+8UsnJydq/f7/mzZuniIgIXXfddY0+BkGpka655hqVlpZq7ty5Ki4u1qBBg7Ru3brjFngj8DZv3qxLL73Uv52VlSVJmjRpklasWGFRVeFn6dKlkqQRI0bUa1++fLkmT57c+gWFuQMHDmjixIkqKiqS0+nUwIED9c4772jUqFFWlwZY5rvvvtN1112ngwcPyuVy6cILL9Qnn3wil8vV6GNwHSUAAAAD1igBAAAYEJQAAAAMCEoAAAAGBCUAAAADghIAAIABQQkAAMCAoAQAAGBAUAIAADAgKAEAABgQlACEnWnTpunCCy9s8LUePXro0UcfbeWKAAQr7vUGIKxs375dzzzzjD788MMGX+/Xr5/y8/NbtygAQYsRJQBh5fHHH9d5552njIyMBl/v2rWriouLW7kqAMGKoAQgbBw9elSvv/66xo8f72+77bbb9Nxzz/m3y8vL1bFjRyvKAxCECEoAwsbu3btVXl6uAQMGSJK8Xq/+9re/KSYmxt/n888/V//+/SVJl19+uebOnasLLrhAvXv3VkFBgSV1A7AOQQlA2Dh06JAkKTo6WpL0zjvv6Mcff1RUVJQk6ZNPPtH333+v//iP/5AkFRQUqGfPnvr444/1+9//XqtXr7akbgDWYTE3gLCRnJwsm82ml156SZ07d9bs2bN1xRVXaPXq1UpKStLtt9+uzMxMXXjhhfJ4PLLZbLrlllskSTU1NerSpYu1vwCAVseIEoCwER8fr/nz52vVqlUaO3as7r77bs2fP1/r16/XRRddpH79+unVV1+VVDeadN555/n33bZtm8455xyrSgdgEZvP5/NZXQQABJtnnnlGJSUl+u///m9J0uDBg/Xuu++qW7duFlcGoDUxogQADSgoKNDAgQMl1X1b7tChQ4QkIAwxogQAAGDAiBIAAIABQQkAAMCAoAQAAGBAUAIAADAgKAEAABgQlAAAAAwISgAAAAYEJQAAAAOCEgAAgAFBCQAAwICgBAAAYEBQAgAAMPj/EJ0Mkjw0g3wAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Giw_2 = make_gf_from_fourier(Gtau)\n", "oplot(Giw, 'o')\n", "oplot(Giw_2, 'x')\n", "plt.xlim(0,5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the example above `make_gf_from_fourier` will construct a new Green's function object.\n", "This uses the `statistic` information of `MeshImTime` to decide whether to use bosonic or fermionic Matsubara frequencies.\n", "If we want to instead use an existing Green's function we can use the `Fourier` descriptor" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Green's Function with mesh Imaginary time mesh with beta = 5, statistics = Fermion, N = 6001 and target_shape (): " ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from triqs.gfs import Fourier\n", "Gtau << Fourier(Giw)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compact meshes for imaginary time / frequency: DLR Green's function\n", "\n", "When representing Green's functions at low temperatures the regular meshes `MeshImFreq` and `MeshImTime` may easily require several thousand of points to store the relevant information. This is often problematic when storing or initializing lattice Green's functions\n", "with a momentum and orbital dependence.\n", "\n", "For this purpose TRIQS provides mesh types on the Matsubara / imaginary time axis that are much more compact,\n", "based on the Discrete Lehman Representation (DLR), for a detailed introduction see [Kaye et al., PRB105, 2022](https://doi.org/10.1103/PhysRevB.105.235115).\n", "\n", "The DLR of an imaginary time Green's function is given by an expansion of the form\n", "\n", "$$ G(\\tau) \\approx \\sum_{l=1}^r K(\\tau, \\omega_l) \\, \\widehat{g}_l $$\n", "\n", "where $K(\\tau,\\omega) = -\\frac{e^{-\\tau \\omega}}{1+e^{-\\beta \\omega}}$ is the analytic continuation kernel appearing in the spectral Lehmann representation\n", "\n", "$$ G(\\tau) = \\int_{-\\infty}^\\infty d\\omega \\, K(\\tau, \\omega) \\rho(\\omega) $$\n", "\n", "relating $G$ to its spectral density $\\rho$. \n", "\n", "The DLR frequencies $\\omega_l$ are obtained by a numerical scheme that is independent of the specific Green's function $G$. They depend only on the desired accuracy $\\epsilon$ of the DLR expansion, and a dimensionless cutoff parameter $\\Lambda = \\beta \\omega_{max}$ characterized by the assumption that $\\rho(\\omega) = 0$ outside of the interval $[-\\omega_{max}, \\omega_{max}]$. The DLR basis is one of the most compact representations of Matsubara Green's functions and the basis size scales only logarithmically with $\\beta$.\n", "\n", "To get started we first create a Matsubara Green's function with a SemiCircular density of states function at a low temperature of $\\beta=100$. For the imaginary part of G to decay to zero we have to use as many as `~1500` Matsubara frequencies." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Green's Function with mesh Imaginary frequency mesh with beta = 100, statistics = Fermion, N_iw = 1500, positive_only = false and target_shape (): " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iw_mesh = MeshImFreq(beta=100, statistic='Fermion', n_iw=1500)\n", "Giw = Gf(mesh=iw_mesh, target_shape=[])\n", "Giw << SemiCircular(1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now construct a DLR Matsubara Green's function. Similar to the MeshImFreq we have to provide $\\beta$ and the particle statistics. Additionally we set the maximal spectral width of the Green's function `w_max` (half spectral width), plus the precision we want to achieve with the DLR basis:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "DLR imaginary frequency mesh of size 36 with beta = 100, statistics = Fermion, w_max = 1.2, eps = 1e-12, symmetrized = true\n" ] } ], "source": [ "# import DLR mesh\n", "from triqs.mesh import MeshDLRImFreq\n", "\n", "dlr_iw_mesh = MeshDLRImFreq(beta=100, statistic='Fermion', w_max=1.2, eps=1e-12)\n", "# the Gf is constructed then the same way\n", "Giw_dlr = Gf(mesh= dlr_iw_mesh, target_shape=[])\n", "\n", "print(dlr_iw_mesh)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By printing the mesh we see that its size is `36` which is substantially smaller than `1500`.\n", "We can initialize the DLR Matsubara Green's function using the same syntax as before" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "Giw_dlr << SemiCircular(1.0);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us now plot both Green's functions:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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QPfff7/mzZt3zrFmzJihnJwc1+vAgQPVC+bE2ToFJAEAAAAAAF5WrZUAJ06c0EsvvaTVq1dr8+bNKigokGEYMplMuuCCC3TllVdqwoQJuuSSS2oUzL333qsxY8ZU2qddu3aKjY3V0aNH3doLCwt1/PjxKt3L/9prrykvL0+33377efv269dPTzzxhPLz8xUcHFzueHBwcIXtVeZKAvioBgEAAAAAoNGqchLgmWee0axZs3TRRRfp97//vR588EHFxcWpSZMmOn78uHbu3KnPPvtMV155pfr166e0tDQlJiZWKxir1Sqr1XrefgMGDFB2dra2bt2q3r17S5I++ugjORwO9evX77znL126VNddd12VrpWRkaFmzZrVbqJ/LoX5Ut4x53ZE+WKGAAAAAAB4UpWTAFu2bNGnn36qLl26VHi8b9++Gjt2rBYtWqTly5frs88+q3YSoKo6deqk4cOHa/z48Vq8eLHsdrtSUlJ08803u54McPDgQQ0ZMkQvvvii+vbt6zp37969+vTTT/Xvf/+73LjvvPOOjhw5ov79+yskJETr1q3T7Nmzdd9999Uw0vMUBiyuB2AJlpo0q+E1AAAAAAComionAV5++eUq9QsJCdFdd91V44CqauXKlUpJSdGQIUNkNps1YsQIpaamuo7b7Xbt2bNHeXl5bue98MILrlsXygoMDNTChQs1depUGYah9u3b65lnntH48eO98yFcRQFjJZPJO9cAAAAAAOAsk1HZ8++qaNeuXXrrrbcUFRWlLl26qFu3bmrWrHH+ZTs3N1eRkZHKmR6uiJQNUuve5+78zRvSmjFSfH9p3Ac+ixEAAAAA0HC45qE5OYqIiKi0b42fDlDaddddp9DQUJ06dUpLly7VkCFDdNFFF3li6AbHlrZAtvR0507xSoAI55MBbOnpsqUt8FNkAAAAAICGrlpPBziX2NhY3X333W5tRUVFnhi6fqtojYXFrKzUNEmStX3J4wFt6enKSk1T9JTJvosPAAAAANCoeCQJMGTIEC1btkx33HGHq81isXhi6AbHmpwsSc5EwJA2slol28cHlfXmm4qeMtl1HAAAAAAAT/NIEuCrr77S8uXL9fjjj+uSSy5Rjx491L17d/3+97/3xPANTulEwDFzKxmOLSQAAAAAAABe55GaAO+9955+/vln7dixQ1OnTlXLli21fv16Twzd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0549e/TKK6+ct2+/fv1UWFioffv2qWPHjjW7ICsBAAAAANQTd/W4S5K0MGOha784ATCp5yTXcW8IDg521WeLj4/X0KFDtW7dOs2dO1eS5HA4NHfuXC1ZskSZmZnq0KGDZs6cqZtuuqnC8QzD0JgxY9ShQwd9/vnnMptLEhiJiYm65ZZbZBhGlWNq3bq1Lr74YvXv319DhgzR8uXL9Ze//KXKn69FixaKjY1VbGysHnzwQa1evVqbNm3SddddV+UxPKHOJAGsVqusVqvXr7N06VL17t1bPXr0OG/fjIwMmc1mtWzZsuYXpDAgAAAAgHqkdCJgyY4lsjvsXk8AlLVz50598cUXuvDCC11tc+bM0UsvvaTFixcrMTFRn376qW699VZZrVZddtll5cbIyMjQ7t279fLLL7slAEozmUzVju13v/udevTooddff71aSYBip0+f1osvvihJCgoKOk9vz6szSYDq2L9/v44fP679+/erqKhIGRkZkqT27duradOmkqSkpCTNmTNHN9xwg+u83NxcrVmzRn//+9/Ljblx40Zt2rRJl19+ucLDw7Vx40ZNnTpVt956q5o1a1bzYAN8/0sFAAAAgNq4q8ddrgRAoDnQJwmAd999V02bNlVhYaHy8/NlNpu1YMECSc6nss2ePVsffvihBgwYIMm5Uvy///2vnn/++QqTAN99950kua3qPnr0qNsK86efflrJNXiUe1JSknbs2FGtcwYOHCiz2ay8vDwZhqHevXtryJAh1b52bdXLJMDDDz+sFStWuPZ79eolSdqwYYMGDx4sSdqzZ49ycnLczlu9erUMw9Att9xSbszg4GCtXr1ajz76qPLz85WQkKCpU6dq2rRptQuWlQAAAAAA6pnF2xe7EgB2h12Lty/2eiLg8ssv16JFi3Tq1Ck9++yzCggI0IgRIyQ5i/vl5eXpiiuucDunoKDANR+sihYtWrj+iDx48GAVFBTUKFbDMKq9iuCVV15RUlKSdu7cqfvvv1/Lly9XYGBgja5fG/UyCbB8+XItX7680j4V3dsxYcIETZgwocL+F198sb788ktPhOeOwoAAAAAA6pGyNQCK9yV5NREQFham9u3bS3IWc+/Ro4eWLl2qcePG6eTJk5Kk9957T61bt3Y7Lzi44jlXYmKiJOcfiIsTBRaLxXWNgICaT4d3796thISEap0THx+vxMREJSYmqrCwUDfccIN27tx5zvi9pc48HaDBojAgAAAAgHqioiKAd/W4S5N6TqrwqQHeYjab9eCDD+qhhx7S6dOn1blzZwUHB2v//v1q37692ys+Pr7CMXr16qWkpCTNnz+/3CP9auOjjz7S119/7VqlUBM33XSTAgIClJ7unUcuVqZergSoV87eDmBLT5eKHLJOTvFzQAAAAABQMYfhqLAIYPG+w/DcZPp8Ro4cqb/+9a9auHCh7rvvPt13332aOnWqHA6HLr30UuXk5Ojzzz9XRESERo8eXe58k8mkZcuW6YorrtCgQYM0Y8YMderUSXa7XZ9++qlsNpssFkulMeTn5yszM1NFRUU6cuSI1q5dqzlz5ujaa6/V7bff7tb34MGDrlsNipUubFg2tilTpujRRx/VnXfeqdDQ0Or9cGqBlQDeFhAkW3q6slLTJAs/bgAAAAB1V3LP5HMu+b+rx11K7ln9Ino1FRAQoJSUFD399NM6deqUnnjiCc2cOVNz5sxRp06dNHz4cL333nuVLsvv37+/tm7dqo4dO2rSpEnq3LmzBg4cqJdfflnPPvusJk6cWGkMa9euVatWrdS2bVsNHz5cGzZsUGpqqt56661yCYT58+erV69ebq/33nvvnGOPHj1adrvdVfzQV0zG+R6MiGrJzc1VZGSkfrguVu165ckW9ZCyFr+g6CmTZa1B1UkAAAAAqKozZ87op59+UkJCgkJCKFLekFT2uy2eh+bk5CgiIqLScbgdwEuO7QpXwfeRMhwkAAAAAAAAdQPr073EZDZkOEwyBQaSAAAAAAAA1AkkAbzEcJiciQC73VkUEAAAAAAAP+N2AC9p0fmEsyZAyznOooASKwIAAAAAAH5FEsBLojufkmRyTfxJBAAAAAAA/I0kgA+4Jv5FvnumJgAAAAAAZZEE8BFWAAAAAAAA/I3CgAAAAAAANBIkAQAAAAAAaCRIAgAAAAAA0EiQBAAAAAAASJJsaQtkS0+v+Fh6umxpC7xy3TFjxuj666/3yth79+7V2LFj1aZNGwUHB6t169YaMmSIVq5cqcLCwkpjMplMMplMCgwMVExMjK644gq98MILcjjci763bdtWzz33XIXj7Nu3zzWOyWRS8+bNddlll+mzzz7z5MesMpIAAAAAAAAni1lZqWnlEgG29HTnY88t9WsKuXnzZl188cXavXu3Fi5cqJ07d+rjjz/WX/7yFy1atEjffPNNpecPHz5chw8f1r59+/T+++/r8ssv1913361rr7220gRCRT788EMdPnxYn376qeLi4nTttdfqyJEjtfl4NcLTAQAAAAAAkkqeapaVmubaL04ARE+Z7LOnng0ePFjdunWTxWLRihUrFBQUpCeffFJ//vOflZKSotdee00xMTFKS0vTVVddVeEYhmFozJgx6tChgz7//HOZzSUJjMTERN1yyy0yDKPSOIKDgxUbGytJat26tS6++GL1799fQ4YM0fLly/WXv/ylyp+pRYsWio2NVWxsrB588EGtXr1amzZt0nXXXVflMTyhfqVxAAAAAABeZU1OVvSUycpKTdO33br7PAFQbMWKFYqOjtbmzZs1efJkTZw4USNHjtTAgQO1bds2XXnllbrtttuUl5dX4fkZGRnavXu37rvvPrcEQGkmk6nacf3ud79Tjx499Prrr1f7XEk6ffq0XnzxRUlSUFBQjcaoDZIAAAAAAAA31uRkmQIDZdjtMgUG+jwBIEk9evTQQw89pMTERM2YMUMhISGKjo7W+PHjlZiYqIcffljHjh3Tjh07Kjz/u+++kyR17NjR1Xb06FE1bdrU9Uo/R/2D80lKStK+ffuqdc7AgQPVtGlThYWFaf78+erdu7eGDBlSo+vXBkkAAAAAAIAbW3q6KwFg2O3nLBboTd27d3dtWywWtWjRQt26dXO1xcTESHJO7KuqRYsWysjIUEZGhqKiolRQUFCj2AzDqPYqgldeeUX/+9//9H//939q3769li9frsDAwBpdvzaoCeBNFt8v7QAAAACA2ihbA8BVFFDy6YqAshPk4ir9pfcllavUXywxMVGStGfPHvXq1UuSM5nQvn17SVJAQM2nw7t371ZCQkK1zomPj1diYqISExNVWFioG264QTt37lRwcHCN46gJVgJ4k8W3v0wAAAAAqI2KigCWrhHgjxUBNdWrVy8lJSVp/vz550wU1MRHH32kr7/+WiNGjKjxGDfddJMCAgJqfDtCbbASwJsCWAkAAAAAoB4pclRYBNC1X+S5ybS3mUwmLVu2TFdccYUGDRqkGTNmqFOnTrLb7fr0009ls9lksVgqHSM/P1+ZmZkqKirSkSNHtHbtWs2ZM0fXXnutbr/9dre+Bw8eVEZGhlvbhRdeeM7YpkyZokcffVR33nmnQkNDa/VZq4MkgDcFhEhyZtNU5JB1coqfAwIAAACAc6tszuKP4oC11b9/f23dulWzZ8/WpEmTlJmZqbCwMPXo0UPPPvusxo4dW+n5a9euVatWrRQQEKBmzZqpR48eSk1N1ejRo8s9cWD+/PmaP3++W9v/+3//T5deemmFY48ePVp/+9vftGDBAt1///21+6DVYDLO92BEVEtubq4iIyOVMz1cEbHtZAuc4LdHagAAAABoXM6cOaOffvpJCQkJCgkJ8Xc48KDKfreueWhOjiIiIiodh5UAXmTbJmVtIgEAAAAAAKgbSAJ4yXevxyjMlE8CAAAAAABQZ/B0AC8xHCaZAgNIAAAAAAAA6gySAF5iCgyUYS+sV4/QAAAAAAA0bNwO4CUdvtyo/JdeUlZqmqT6WUkTAAAAQP1E/feGx+HwzOMZSQJ4UfHEn0QAAAAAAF8IDAyUyWSSzWaT1WqVyWTyd0ioJcMwVFBQIJvNJrPZrKCgoFqNRxLAy1wT/yLPZG0AAAAA4FwsFosuuOAC/fLLL9q3b5+/w4EHhYaGqk2bNjKba3dXv8lgnYhHVef5jAAAAADgDUVFRbLb7f4OAx5isVgUEBBwzpUd1ZmHshIAAAAAABoYi8Uii8Xi7zBQB9XLpwPs27dP48aNU0JCgpo0aaKLLrpIjzzyiAoKCio978yZM5o0aZJatGihpk2basSIETpy5Ihbn/379+uaa65RaGioWrZsqb/+9a8qLCz05scBAAAAAMAn6uVKgG+//VYOh0PPP/+82rdvr507d2r8+PE6deqU5s+ff87zpk6dqvfee09r1qxRZGSkUlJSdOONN+rzzz+X5Fwyc8011yg2NlZffPGFDh8+rNtvv12BgYGaPXu2rz4eAAAAAABe0WBqAsybN0+LFi3Sjz/+WOHxnJwcWa1WrVq1SjfddJMkZzKhU6dO2rhxo/r376/3339f1157rQ4dOqSYmBhJ0uLFi/XAAw/IZrNVqQojNQEAAAAAAL7UKGsC5OTkqHnz5uc8vnXrVtntdg0dOtTVlpSUpDZt2riSABs3blS3bt1cCQBJGjZsmCZOnKhvvvlGvXr1Kjdufn6+8vPz3eKQnL8EAAAAAAC8rXj+WZW/8TeIJMDevXuVlpZW6a0AmZmZCgoKUlRUlFt7TEyMMjMzXX1KJwCKjxcfq8icOXP02GOPlWuPj4+vzkcAAAAAAKBWTpw4ocjIyEr71KkkwPTp0zV37txK++zevVtJSUmu/YMHD2r48OEaOXKkxo8f7+0Qy5kxY4amTZvm2nc4HPr555/Vs2dPHThwgFsCgLNyc3MVHx/P9wI4i+8EUB7fC6A8vheoCsMwdOLECcXFxZ23b51KAtx7770aM2ZMpX3atWvn2j506JAuv/xyDRw4UEuWLKn0vNjYWBUUFCg7O9ttNcCRI0cUGxvr6rN582a384qfHlDcp6zg4GAFBwe7tZnNzocuRERE8EUFyuB7AbjjOwGUx/cCKI/vBc7nfCsAitWpJIDVapXVaq1S34MHD+ryyy9X7969tWzZMtfE+1x69+6twMBArV+/XiNGjJAk7dmzR/v379eAAQMkSQMGDNCsWbN09OhRtWzZUpK0bt06RUREqHPnzrX4ZAAAAAAA+F/lM+c66uDBgxo8eLDatGmj+fPny2azKTMz0+2+/YMHDyopKcn1l/3IyEiNGzdO06ZN04YNG7R161bdcccdGjBggPr37y9JuvLKK9W5c2fddttt2r59uz744AM99NBDmjRpUrm/9gMAAAAAUN/UqZUAVbVu3Trt3btXe/fu1QUXXOB2rLgaot1u1549e5SXl+c69uyzz8psNmvEiBHKz8/XsGHDlJ6e7jpusVj07rvvauLEiRowYIDCwsI0evRoPf7449WKLzg4WI888giJA6AUvheAO74TQHl8L4Dy+F7A00xGVZ4hAAAAAAAA6r16eTsAAAAAAACoPpIAAAAAAAA0EiQBAAAAAABoJEgCAAAAAADQSJAEAAAAAACgkSAJ4AULFy5U27ZtFRISon79+mnz5s3+DgnwiTlz5uiSSy5ReHi4WrZsqeuvv1579uxx63PmzBlNmjRJLVq0UNOmTTVixAgdOXLETxEDvvXUU0/JZDLpnnvucbXxnUBjdPDgQd16661q0aKFmjRpom7duumrr75yHTcMQw8//LBatWqlJk2aaOjQofr+++/9GDHgXUVFRZo5c6YSEhLUpEkTXXTRRXriiSdU+kFufC/gKSQBPOyVV17RtGnT9Mgjj2jbtm3q0aOHhg0bpqNHj/o7NMDrPvnkE02aNElffvml1q1bJ7vdriuvvFKnTp1y9Zk6dareeecdrVmzRp988okOHTqkG2+80Y9RA76xZcsWPf/88+revbtbO98JNDa//vqrBg0apMDAQL3//vvatWuX/v73v6tZs2auPk8//bRSU1O1ePFibdq0SWFhYRo2bJjOnDnjx8gB75k7d64WLVqkBQsWaPfu3Zo7d66efvpppaWlufrwvYDHGPCovn37GpMmTXLtFxUVGXFxccacOXP8GBXgH0ePHjUkGZ988olhGIaRnZ1tBAYGGmvWrHH12b17tyHJ2Lhxo7/CBLzuxIkTRmJiorFu3TrjsssuM+6++27DMPhOoHF64IEHjEsvvfScxx0OhxEbG2vMmzfP1ZadnW0EBwcbL7/8si9CBHzummuuMcaOHevWduONNxqjRo0yDIPvBTyLlQAeVFBQoK1bt2ro0KGuNrPZrKFDh2rjxo1+jAzwj5ycHElS8+bNJUlbt26V3W53+44kJSWpTZs2fEfQoE2aNEnXXHON2799ie8EGqe3335bffr00ciRI9WyZUv16tVL//znP13Hf/rpJ2VmZrp9LyIjI9WvXz++F2iwBg4cqPXr1+u7776TJG3fvl3//e9/ddVVV0niewHPCvB3AA1JVlaWioqKFBMT49YeExOjb7/91k9RAf7hcDh0zz33aNCgQerataskKTMzU0FBQYqKinLrGxMTo8zMTD9ECXjf6tWrtW3bNm3ZsqXcMb4TaIx+/PFHLVq0SNOmTdODDz6oLVu2aMqUKQoKCtLo0aNd//Yr+v8U3ws0VNOnT1dubq6SkpJksVhUVFSkWbNmadSoUZLE9wIeRRIAgFdMmjRJO3fu1H//+19/hwL4zYEDB3T33Xdr3bp1CgkJ8Xc4QJ3gcDjUp08fzZ49W5LUq1cv7dy5U4sXL9bo0aP9HB3gH6+++qpWrlypVatWqUuXLsrIyNA999yjuLg4vhfwOG4H8KDo6GhZLJZyVZ2PHDmi2NhYP0UF+F5KSoreffddbdiwQRdccIGrPTY2VgUFBcrOznbrz3cEDdXWrVt19OhRXXzxxQoICFBAQIA++eQTpaamKiAgQDExMXwn0Oi0atVKnTt3dmvr1KmT9u/fL0muf/v8fwqNyV//+ldNnz5dN998s7p166bbbrtNU6dO1Zw5cyTxvYBnkQTwoKCgIPXu3Vvr1693tTkcDq1fv14DBgzwY2SAbxiGoZSUFL3xxhv66KOPlJCQ4Ha8d+/eCgwMdPuO7NmzR/v37+c7ggZpyJAh+vrrr5WRkeF69enTR6NGjXJt851AYzNo0KByj4/97rvvdOGFF0qSEhISFBsb6/a9yM3N1aZNm/heoMHKy8uT2ew+NbNYLHI4HJL4XsCzuB3Aw6ZNm6bRo0erT58+6tu3r5577jmdOnVKd9xxh79DA7xu0qRJWrVqld566y2Fh4e77lGLjIxUkyZNFBkZqXHjxmnatGlq3ry5IiIiNHnyZA0YMED9+/f3c/SA54WHh7tqYhQLCwtTixYtXO18J9DYTJ06VQMHDtTs2bP1xz/+UZs3b9aSJUu0ZMkSSZLJZNI999yjJ598UomJiUpISNDMmTMVFxen66+/3r/BA17y+9//XrNmzVKbNm3UpUsX/e9//9MzzzyjsWPHSuJ7AQ/z9+MJGqK0tDSjTZs2RlBQkNG3b1/jyy+/9HdIgE9IqvC1bNkyV5/Tp08bycnJRrNmzYzQ0FDjhhtuMA4fPuy/oAEfK/2IQMPgO4HG6Z133jG6du1qBAcHG0lJScaSJUvcjjscDmPmzJlGTEyMERwcbAwZMsTYs2ePn6IFvC83N9e4++67jTZt2hghISFGu3btjL/97W9Gfn6+qw/fC3iKyTAMw59JCAAAAAAA4BvUBAAAAAAAoJEgCQAAAAAAQCNBEgAAAAAAgEaCJAAAAAAAAI0ESQAAAAAAABoJkgAAAAAAADQSJAEAAAAAAGgkSAIAAAAAANBIkAQAAAAAAKCRIAkAAAB8auLEibr00ksrPHbBBRfoqaee8nFEAAA0HgH+DgAAADQe33zzjZYsWaLPPvuswuOdOnVSRkaGb4MCAKARYSUAAADwmXnz5umSSy7RwIEDKzzevHlzZWZm+jgqAAAaD5IAAADAJwoLC/X6669rxIgRrrY777xTS5cude2fOHFCTZo08Ud4AAA0CiQBAACAT/zwww86ceKEunXrJklyOBxas2aNwsPDXX127Nihzp07S5KuvvpqPfzwwxo0aJDatWunnTt3+iVuAAAaEpIAAADAJ7KzsyVJTZs2lSR98MEH+vXXXxUSEiJJ+vLLL3Xw4EHdcMMNkqSdO3eqTZs2+vzzzzVlyhS99dZbfokbAICGhMKAAADAJy688EKZTCa9/PLLCgsL03333adrrrlGb731luLj43XXXXdp6NChuvTSS5WbmyuTyaS//OUvkiS73a6oqCj/fgAAABoAVgIAAACfiI2N1axZs/TSSy/pqquu0r333qtZs2Zp/fr1+s1vfqNOnTrp1VdfleRcBXDJJZe4zv3666/VpUsXf4UOAECDYTIMw/B3EAAAAKUtWbJER44c0cyZMyVJvXr10ocffqgWLVr4OTIAAOo3VgIAAIA6Z+fOnerevbsk51MFsrOzSQAAAOABrAQAAAAAAKCRYCUAAAAAAACNBEkAAAAAAAAaCZIAAAAAAAA0EiQBAAAAAABoJEgCAAAAAADQSJAEAAAAAACgkSAJAAAAAABAI0ESAAAAAACARoIkAAAAAAAAjQRJAAAAAAAAGgmSAAAAAAAANBL/H4v/uR/DLAaaAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1,figsize=(12,5))\n", "oplot(Giw, \"-\", name='G')\n", "oplot(Giw_dlr, name='G DLR')\n", "plt.xlim(-0.1,94)\n", "plt.ylim(-2,0.1)\n", "plt.legend(loc='lower right');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The DLR mesh Matsubara nodes are quite sparse but as we will see below the data is sufficient to reconstruct the full Matsubara mesh up to the precision specified. \n", "\n", "Next we create the DLR coefficient Green's function associated with `Giw_dlr`. This form is central as it can be easily converted into a `Gf` with any of the mesh types `MeshImTime`, `MeshImFreq`, `MeshDLRImTime` and `MeshDLRImFreq`.\n", "\n", "We obtain the Green's function on the full Matsubara mesh using the function `make_gf_imfreq` to then compare it against the original `Giw`. " ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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eEyfPt3SQkYSW6gLQERERI2K3zNo9OvXD0uXLsWBAwewefNmlJWVoVevXujTp4+V5SMfBA7RICIiIg2mp0vr2LGjZDQuEREREYUPQ8Fep06dPE22Rtx999248847Db8vElldD8cBGkRERKTFULA3f/58v3aSkZHh1/uIiIiIyBxDwd75558fqHI0GlYP0GDNHhEREWkxnHqFiIiIiBoOBntB1iwhJtRFICIiokbE9Ghc0ueFP2Zj/4kzGNCxWaiLQkRERI0Ig70guSy7XaiL4EVghz8iIqKIx2ZcIiIiogjGYK+BM1M750/ORCIiImpYGmWwN2HCBDRr1gwTJ070em3fvn0YNWoUMjMz0adPH5SXl4eghERERETWaJTB3l133YW3335b8bUbb7wR//d//4dt27Zh2bJliI2NNb2/G4dmmN5GILDPHhERUeRrlMHeyJEjkZSU5LV869atiI6OxogRIwAAzZs3R1SU+TEsj/yhl+ltqGG4RkRERFrCLthbvnw5xo8fj7Zt28Jms+Hzzz/3WicvLw8ZGRmIi4vD4MGDsXbtWkv2vXv3biQmJmL8+PHo378/nnjiCUu2G0hmKufYZ4+IiCjyhV3qlfLycmRlZeHmm2/GFVdc4fX6ggULMH36dMydOxeDBw/GnDlzMHbsWOzcuROtWrUCAGRnZ6OmpsbrvYsWLULbtm1V911TU4MVK1agoKAArVq1wkUXXYScnBxceOGF1n1AIiIioiAKu2Bv3LhxGDdunOrrs2fPxm233YabbroJADB37lx88803mDdvHmbOnAkAKCgo8Gvf7dq1w8CBA9G+fXsAwMUXX4yCggLFYK+yshKVlZWev0tKSvzaJxEREVEghV0zrpaqqips2LABubm5nmV2ux25ublYtWqV6e3n5OTg2LFjOHXqFFwuF5YvX46ePXsqrjtr1iwkJyd7/nMHiMEmsNceERERaWhQwd6JEyfgdDqRlpYmWZ6WlobCwkLd28nNzcWkSZPw7bffIj093RMoRkVF4YknnsB5552Hvn37omvXrrj00ksVt3H//fejuLjY89+hQ4f8/2BEREREARJ2zbjBsGTJEtXXfDUju8XGxlqSloWIiIgokBpUzV5qaiocDgeKiooky4uKitC6deuQlCkvLw+ZmZnIyckJyf6ZKo+IiIi0NKhgLyYmBgMGDEB+fr5nmcvl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Y7BnElOvEBERUThj6hWLMPUKERERBQtTrxARERERAAZ7RERERBGNwR4RERFRBGOwR0RERBTBGOwRERERRTAGe0REREQRjMEeERERUQRjsGcSkyoTERFROGNSZYswqTIREREFC5MqExEREREABntEREREEY3BHhEREVEEY7BHREREFMEY7BERERFFMAZ7RERERBGMwR4RERFRBGOwR0RERBTBGOwRERERRTAGe0REREQRjMEeERERUQRjsGdSXl4eMjMzkZOTE+qiEBEREXmxCYIghLoQkcDIhMREREREZhiJO1izR0RERBTBGOwRERERRTAGe0REREQRjMEeERERUQRjsEdEREQUwRjsEREREUUwBntEREREEYzBHhEREVEEY7BHREREFMEY7BERERFFsKhQFyBSuGedKykpCXFJiIiIKNK54w09s94y2LPIyZMnAQDt27cPcUmIiIiosSgtLUVycrLmOgz2LNK8eXMAwMGDB31+6RTeSkpK0L59exw6dMjn5NIU/ng8IwePZWTh8TRHEASUlpaibdu2PtdlsGcRu722+2NycjJP2gjRtGlTHssIwuMZOXgsIwuPp//0Vi5xgAYRERFRBGOwR0RERBTBGOxZJDY2Fg8//DBiY2NDXRQyiccysvB4Rg4ey8jC4xk8NkHPmF0iIiIiapBYs0dEREQUwRjsEREREUUwBntEREREEYzBHhEREVEEY7BHREREFMEY7FkgLy8PGRkZiIuLw+DBg7F27dpQF4l0mDVrFnJycpCUlIRWrVrh8ssvx86dOyXrVFRUYOrUqWjRogUSExNx5ZVXoqioKEQlJr2efPJJ2Gw23H333Z5lPJYNx2+//YbrrrsOLVq0QHx8PPr06YP169d7XhcEAQ899BDatGmD+Ph45ObmYvfu3SEsMalxOp148MEH0alTJ8THx6NLly549NFHIU4EwuMZeAz2TFqwYAGmT5+Ohx9+GBs3bkRWVhbGjh2LY8eOhbpo5MOyZcswdepUrF69GosXL0Z1dTXGjBmD8vJyzzr33HMPvvrqK3z00UdYtmwZjhw5giuuuCKEpSZf1q1bh1dffRV9+/aVLOexbBhOnTqFYcOGITo6Gv/73/+wbds2PPfcc2jWrJlnnaeffhovvvgi5s6dizVr1iAhIQFjx45FRUVFCEtOSp566in8+9//xssvv4zt27fj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# import helper functions\n", "from triqs.gfs import make_gf_dlr, make_gf_dlr_imtime, make_gf_imfreq, make_gf_imtime\n", "\n", "# create DLR coefficient Green's function\n", "G_dlr = make_gf_dlr(Giw_dlr)\n", "\n", "# Get back Green's function on the full Matsubara mesh, no Fourier transform needed\n", "Giw_from_dlr = make_gf_imfreq(G_dlr, n_iw=1500)\n", "\n", "# plot the difference between the original\n", "fig, ax = plt.subplots(1,figsize=(7,5))\n", "\n", "mesh = [iw.imag for iw in Giw.mesh.values()]\n", "ax.plot(mesh, abs((Giw_from_dlr-Giw).data))\n", "ax.semilogy()\n", "ax.set_xlim(0,94)\n", "ax.set_xlabel(r'$i\\omega_n$')\n", "ax.set_ylabel(r'$|G_{ref}-G_{DLR}|$');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The given accuracy `eps=1e-12` is reached over the full Matsubara mesh!\n", "\n", "The coefficient DLR mesh Gf can be evaluated on any given tau point by passing the Gf a float:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-0.31556737050746025-1.840192666076156e-17j)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G_dlr(1.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "or on the Matsubara axis by passing a Matsubara mesh point:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-5.411651148360362e-17-1.9381548639656863j)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "G_dlr(iw_mesh(0))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally we can also construct an imaginary time Green's functions, using `make_gf_dlr_imtime` on the compact mesh, and using `make_gf_imtime` on arbitrarily dense $\\tau$ meshes by passing the parameter `n_tau`:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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YVXhpayszACMtWvXGoZhGBUVFUZUVJTx6quv+h+ze/duAzDWr19vVZkhq6qqysjKyjIKCgqMz3zmM8YDDzxgGIb2c6D84Ac/MK699to27/d6vUZ6errxy1/+0r+toqLCcLlcxv/93//1Rolh4cYbbzTuuuuuVtu++tWvGrm5uYZhaD8HCmC89tpr/p87sl937dplAMamTZv8j/nnP/9p2Gw24/DhwwGtTz1EFmloaGDLli1MmzbNv81utzNt2jTWr19vYWXhpbKyEoCkpCQAtmzZQmNjY6v9PmbMGIYOHar93gX33XcfN954Y6v9CdrPgfLGG28wceJE/uM//oPU1FTGjx/PCy+84L//448/prS0tNV+TkhIYPLkydrPnXDNNddQWFhIcXExAB988AFvv/02N9xwA6D93FM6sl/Xr19PYmIiEydO9D9m2rRp2O12NmzYENB6dHFXi5w4cQKPx0NaWlqr7WlpaezZs8eiqsKL1+vlwQcfZOrUqVx66aUAlJaWEh0dTWJiYqvHpqWlUVpaakGVoevll1/m/fffZ9OmTefcp/0cGPv27eP5559n3rx5PPzww2zatIm8vDyio6O54447/PvyfL9HtJ87bv78+bjdbsaMGYPD4cDj8fDYY4+Rm5sLoP3cQzqyX0tLS0lNTW11v9PpJCkpKeD7XoFIwtZ9993Hhx9+yNtvv211KWHn4MGDPPDAAxQUFBATE2N1OWHL6/UyceJEHn/8cQDGjx/Phx9+yJIlS7jjjjssri58vPLKKyxbtozly5dzySWXsG3bNh588EEyMjK0nyOIhswskpycjMPhOOeom2PHjpGenm5RVeFjzpw5rFixgtWrVzN48GD/9vT0dBoaGqioqGj1eO33ztmyZQtlZWVceeWVOJ1OnE4na9euJT8/H6fTSVpamvZzAAwcOJCxY8e22nbxxRdz4MABAP++1O+R7vnP//xP5s+fz6233sq4ceP4xje+wdy5c1m4cCGg/dxTOrJf09PTzznQqKmpifLy8oDvewUii0RHRzNhwgQKCwv927xeL4WFhUyZMsXCykKbYRjMmTOH1157jVWrVjFs2LBW90+YMIGoqKhW+72oqIgDBw5ov3dCdnY2O3bsYNu2bf5l4sSJ5Obm+m9rP3ff1KlTzzltRHFxMRdddBEAw4YNIz09vdV+drvdbNiwQfu5E2pra7HbWzeHDocDr9cLaD/3lI7s1ylTplBRUcGWLVv8j1m1ahVer5fJkycHtqCATtGWTnn55ZcNl8tl/P73vzd27dplzJ4920hMTDRKS0utLi1kffe73zUSEhKMNWvWGEePHvUvtbW1/sfcc889xtChQ41Vq1YZmzdvNqZMmWJMmTLFwqrDQ8ujzAxD+zkQNm7caDidTuOxxx4zSkpKjGXLlhlxcXHGSy+95H/ML37xCyMxMdH461//amzfvt2YOXOmMWzYMOP06dMWVh5a7rjjDmPQoEHGihUrjI8//tj4y1/+YiQnJxvf//73/Y/Rfu6aqqoqY+vWrcbWrVsNwFi0aJGxdetWY//+/YZhdGy/Tp8+3Rg/fryxYcMG4+233zaysrKM2267LeC1KhBZ7OmnnzaGDh1qREdHG5MmTTLee+89q0sKacB5lxdffNH/mNOnTxv33nuv0b9/fyMuLs74yle+Yhw9etS6osPE2YFI+zkw/va3vxmXXnqp4XK5jDFjxhhLly5tdb/X6zV+/OMfG2lpaYbL5TKys7ONoqIii6oNTW6323jggQeMoUOHGjExMcbw4cONH/7wh0Z9fb3/MdrPXbN69erz/k6+4447DMPo2H49efKkcdtttxl9+/Y14uPjjW9961tGVVVVwGu1GUaLU3GKiIiIRCDNIRIREZGIp0AkIiIiEU+BSERERCKeApGIiIhEPAUiERERiXgKRCIiIhLxFIhEREQk4ikQiYiISMRTIBIREZGIp0AkIiIiEU+BSERERCKeApGIRKyZM2dis9nOu7zxxhtWlycivUgXdxWRiHXy5EkaGxuprq4mKyuLf/zjH4wfPx6A5ORknE6nxRWKSG9RIBKRiLd+/XqmTp2K2+2mb9++VpcjIhbQkJmIRLzt27eTmZmpMCQSwRSIRCTibd++ncsuu8zqMkTEQgpEIhLxPvnkE0aPHm11GSJiIQUiEYl4Xq+X/fv3c/jwYTStUiQyKRCJSMTLy8vjnXfeYfTo0QpEIhFKR5mJiIhIxFMPkYiIiEQ8BSIRERGJeApEIiIiEvEUiERERCTiKRCJiIhIxFMgEhERkYinQCQiIiIRT4FIREREIp4CkYiIiEQ8BSIRERGJeApEIiIiEvH+Pzj8fvQLOc8iAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "Gtau_dlr = make_gf_dlr_imtime(G_dlr)\n", "Gtau = make_gf_imtime(G_dlr, n_tau=5001)\n", "\n", "oplot(Gtau_dlr.real, name='G DLR')\n", "oplot(Gtau.real, name='G')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pade analytical continuation\n", "\n", "The Fourier transforms allow to go from time to frequency. A much more delicate thing is to do the so-called \"analytical continuation\". This means to start from a Matsubara-frequency Green's function and obtain the corresponding real-frequency Green's function. This can formally be done, but turns out to be a mathematically ill-conditioned problem. Even small amounts of noise in the Matsubara-frequency data will make the continuation to the real axis very unstable.\n", "\n", "One of the ways to do perform analytical continuation is to use [Pade approximants](https://en.wikipedia.org/wiki/Padé_approximant#Definition). TRIQS can do that for you in the following way:\n", "\n", "*Note:* Pade is currently implemented only for Green's functions with a Matrix structure" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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nZwoq62t1YoVK/Szn/1M6enpZpcTVWfOnNHPf/5zLV68WKmpqWaXEzVNTU0aM2aM2WWgH16vV/v27VN5eXnwMbvdrvLycu3evdvEyjBSTU1NkpSQ/8/5fD5t27ZNra2tWrRokdnlRNSqVat0yy23hPy/aAZCThQFAgH9wz/8g+68807Nnz/f7HKi5u6771ZGRobGjh2rmpoa7dixw+ySoubtt9/W/fffry9+8Ytml4J+NDQ0yOfzqbCwMOTxwsJCeTwek6rCSPn9fn3lK1/RVVddpdmzZ5tdTsS89tpryszMlMvl0p133qknn3xSs2bNMrusiNm2bZv279+vqqoqs0sh5IzE17/+ddlstkFvhw8f1v3336+WlhatWbPG7JKHJdz31+uf//mf9fLLL+sPf/iDHA6Hli1bpoDFN9Ie7nuUpJMnT+qmm27Spz/9aa1YscKkysMzkvcHWM2qVat08OBBbdu2zexSIuqSSy7RgQMH9OKLL2rlypVavny5Xn/9dbPLiojjx4/rrrvu0s9//nO53W6zy+GyDiNRX1+v999/f9Bjpk6dqr/927/Vb37zG9lstuDjPp9PDodDn/3sZ/XTn/402qWOSLjvz+l0XvD4iRMnVFJSoueff97S7dfhvsdTp07puuuu05VXXqmHH35Ydru1/30wkr/hww8/rK985StqbGyMcnXR4/V6lZ6erscff1y333578PHly5ersbEx4bqMNptNTz75ZMh7TRSrV6/Wjh079Nxzz2nKlClmlxNV5eXlmjZtmh588EGzSxm1p556Sp/4xCfkcDiCj/l8PtlsNtntdnV0dIR8L9pSYvaTEkh+fr7y8/OHPO5//ud/dM899wS/PnXqlJYsWaLt27dr4cKF0SxxVMJ9f/3x+/2SupfMW9lw3uPJkyd1/fXXa968edq6davlA440ur9hPHM6nZo3b56qq6uDH/x+v1/V1dVavXq1ucUhLIFAQF/+8pf15JNPateuXQkfcKTu/0atfs4M1w033KDXXnst5LGKigrNmDFDd999d0wDjkTIiapJkyaFfJ2ZmSlJmjZtmiZOnGhGSRH14osvau/evbr66quVl5end955R9/85jc1bdo0S3dxhuPkyZO67rrrNHnyZN13332qr68Pfq+oqMjEyiKnpqZGZ86cUU1NjXw+X3Afp+nTpwf/m40nlZWVWr58uebPn68FCxZo48aNam1tVUVFhdmlRcS5c+f09ttvB79+7733dODAAY0ZM+aCc048WrVqlR599FHt2LFDWVlZwblUOTk5SktLM7m60VuzZo1uvvlmTZo0SS0tLXr00Ue1a9cu/f73vze7tIjIysq6YP5U75xNU+ZVmbKmK0m99957CbWE/NVXXw1cf/31gTFjxgRcLlegtLQ0cOeddwZOnDhhdmkRs3Xr1oCkfm+JYvny5f2+v2effdbs0kbs/vvvD0yaNCngdDoDCxYsCLzwwgtmlxQxzz77bL9/r+XLl5tdWkQM9P/b1q1bzS4tIj7/+c8HJk+eHHA6nYH8/PzADTfcEPjDH/5gdllRZeYScubkAACAhGT9yQUAAAAjQMgBAAAJiZADAAASEiEHAAAkJEIOAABISIQcAACQkAg5AAAgIRFyAABAQiLkAACAhETIAQAACYmQAwAAEhIhB0DCWLlypa6++up+vzdx4kStX78+xhUBMFOK2QUAQCQcOnRIP/rRj/SXv/yl3+/PnDlTBw4ciG1RAExFJwdAQvje976nK664QosXL+73+2PGjJHH44lxVQDMRMgBEPe6urr0xBNP6FOf+lTwsS9+8Yv6yU9+Evy6paVFaWlpZpQHwCSEHABx75133lFLS4suu+wySZLf79djjz2mrKys4DGvvvqqZs2aZVaJAExAyAEQ9xobGyVJmZmZkqTf//73Onv2rNxutyTphRde0MmTJ/WJT3zCrBIBmICJxwDi3uTJk2Wz2fSLX/xCGRkZ+trXvqZbbrlFO3bsUElJie68806Vl5cPuPIKQGKyBQKBgNlFAMBoVVVVaf369UpLS9N3v/tdzZs3T7fddpsaGhp066236oc//KHy8vLMLhNADBFyAABAQmJODgAASEiEHAAAkJAIOQAAICERcgAAQEIi5AAAgIREyAEAAAmJkAMAABISIQcAACQkQg4AAEhIhBwAAJCQCDkAACAh/X83/W4rci48JwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# The Matsubara Green's function to be continued\n", "iw_mesh = MeshImFreq(beta=50, statistic='Fermion', n_iw=1000)\n", "Giw = Gf(mesh=iw_mesh, target_shape=[])\n", "Giw << SemiCircular(1.0)\n", "\n", "# Construct real-frequency Green's function and initialize it using Pade approximants\n", "Gw = Gf(mesh=w_mesh, target_shape=[])\n", "Gw.set_from_pade(Giw)\n", "\n", "oplot(-Gw.imag/pi, linewidth=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The coarse Matsubara discretization at high temperatures will worsen the Pade result, which is why we chose a much lower temperature value for this example.\n", "\n", "You can see that the Pade continuation did a pretty good job. We will see later that noise will completely change this picture!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercises" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 1\n", "\n", "Define the following real-frequency Green's function, where $\\Gamma$ is the Green's function of a\n", "flat bath (width = 1), $\\epsilon_d = 0.3$ and $V=0.2$:\n", "\n", "$$\n", "G^\\mathrm{s+d} (\\omega) =\n", "\\begin{pmatrix} \\omega - \\epsilon_d + i\\eta & V \\\\\\\\ V & \\Gamma^{-1}\n", "\\end{pmatrix}^{-1}\n", "$$\n", "\n", "Plot the spectral function for both diagonal components of this Green's function. What\n", "do they represent physically?" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Parameters\n", "eps_d, V = 0.3, 0.2\n", "\n", "# Construct and Initialize Gf\n", "w_mesh = MeshReFreq(window=(-2,2), n_w=1000)\n", "G = Gf(mesh=w_mesh, target_shape=[2,2])\n", "G[0,0] << Omega - eps_d + ieta\n", "G[0,1] << V\n", "G[1,0] << V\n", "G[1,1] << inverse(Flat(1.0))\n", "G.invert()\n", "\n", "# Plot\n", "oplot(-G[0,0].imag/pi, '-', lw=2, name = \"Impurity\")\n", "oplot(-G[1,1].imag/pi, '-', lw=2, name = \"Bath\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 2\n", "\n", "Plot the density $n(\\epsilon)$ as a function of $\\epsilon$ for a Green's function $G = 1/(i\\omega_n - \\epsilon)$. What is the curve that you obtained? How does it change with temperature?" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAGwCAYAAABCV9SaAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAgI5JREFUeJzt3XlcVPX6wPHPzMCwLyIKoigo7iIuKWqaWaSmmba55ppbN7O01TZvdtNWq1+ZluZS11KvZVpabrmLu7jijuIGigsg28DM+f1xYGAUkX0G5nm/XufFmTPfc+Y5DDAP31WjKIqCEEIIIUQlp7V2AEIIIYQQ5UGSHiGEEELYBUl6hBBCCGEXJOkRQgghhF2QpEcIIYQQdkGSHiGEEELYBUl6hBBCCGEXHKwdgLWYTCYuXbqEh4cHGo3G2uEIIYQQohAURSE5OZmAgAC02qLV3dht0nPp0iUCAwOtHYYQQgghiuH8+fPUqlWrSOfYbdLj4eEBqN80T09PK0cjhBBCiMJISkoiMDDQ/DleFHab9OQ0aXl6ekrSI4QQQlQwxemaIh2ZhRBCCGEXJOkRQgghhF2QpEcIIYQQdsFu+/QIIYQoXyaTCYPBYO0wRAWg1+uLPBy9MCTpEUIIUeYMBgMxMTGYTCZrhyIqAK1WS3BwMHq9vlSvK0mPEEKIMqUoCpcvX0an0xEYGFgm/8GLyiNn8uDLly9Tu3btUp1AWJIeIYQQZSorK4vU1FQCAgJwdXW1djiiAqhWrRqXLl0iKysLR0fHUruupNtCCCHKlNFoBCj1pgpReeX8rOT87JQWSXqEEEKUC1nnUBRWWf2sSNIjhBBCCLtgE0nP5s2b6dWrFwEBAWg0Gn7//fd7nrNx40ZatWqFk5MTISEhzJ8/v8zjFEIIIUTFZRNJT0pKCmFhYcyYMaNQ5WNiYujZsyddunQhKiqKl19+mZEjR7J69eoyjlQIIYQ9GjZsWKHKbdy4EY1Gw82bN8s0HlE8NjF669FHH+XRRx8tdPlZs2YRHBzM559/DkDjxo3ZunUrX3zxBd26dSurMAslcu93HL2887aj+bVNagp4eLe2TM1tT+dTzqIdVHPncY0mz3FN9u7t5W4re/vXvOdpcjZt9mNtdjlt7nPmfW3ups3Z1+U5lr0v7MLtbfaaPD+HVV2q0sinEcFewThqS2/khhClxWAw4Ovry5YtWwgLCyv16wcFBfHyyy/z8ssvl/q1i+L48eOMHTuWo0ePkpiYSEBAAAMHDmTy5MmlOqqqvNhE0lNUkZGRREREWBzr1q1bgT8cGRkZZGRkmB8nJSWVSWybTv/JwrSzZXJtIeyNXqunQZUGNKraiMY+jWns05j6Verj7OBs7dCEHUhISOCVV15hw4YNxMfHs3XrVlq2bMnChQvR6/V0796dFStWlEnSYyscHR0ZMmQIrVq1wtvbmwMHDjBq1ChMJhNTp061dnhFViH/rY6Li8PPz8/imJ+fH0lJSaSlpeV7zrRp0/Dy8jJvgYGB5RGqEKIEDCYDh68dZumJpXyw4wMGrhpIu5/b8cTyJ3hry1v8dPQn9sXvQ1EUa4cqKqEJEyawY8cOfvrpJ3r06MHs2bOpW7eueVbpxx9/nBUrVuR77rZt22jevDnOzs60a9eOw4cPWzy/detWOnXqhIuLC4GBgYwfP56UlBQAHnzwQc6dO8eECRPQaDTmWtFr164xYMAAatasiaurK6Ghofzyyy9l+B2AunXrMnz4cMLCwqhTpw6PP/44gwYNYsuWLWX6umWlQtb0FMekSZOYOHGi+XFSUlKZJD5PtBhDm6uHcg8U6o+xkv9+fqear6fk+XLbsdvLmcsolo9vv1bOeUresgoopjz7eY7nfV4x5tlXABOYTOpXRVH3c8qZjNnlTep+zmOTCZSsPMezwGjI/pqZ+1Up3XkbCk3rCG6+2Vu17K/VwTX7mLM3aGVI7j1Z/IgrFl8BTIqJi7cuEn0tmmPXj3E26azF6UbFyKmbpzh18xR/nPkDgKcbPM3k9pPLPHRRenp9vZWryRn3LljKqnk48ceLHQtVdv/+/QwZMoTOnTszb948unTpQpcuXczP9+zZkxEjRnDp0iUCAgIszn3ttdf46quv8Pf356233qJXr16cOHECR0dHTp8+Tffu3fnPf/7D3LlzuXr1KuPGjWPcuHHMmzeP3377jbCwMEaPHs2oUaPM10xPT6d169a88cYbeHp6snLlSgYPHky9evVo27ZtvvcQGxtLkyZNCrzPt956i7feeqtQ35NTp07x999/8+STTxaqvK2pkEmPv78/8fHxFsfi4+Px9PTExcUl33OcnJxwcnIq89gaNniMhg0eK/PXsWsmExgzICtDTYqyMiArHQwpebZblvuZqbn7Gbcg/SakXle3tOvq8/eUBreSgDP5P63Tg1cgVA2BgJa5m4df/uVFoaRkpnD8+nGir0ebE6HTN0+TpWSZy/wT+48kPRXM1eQM4pLSrR1Gge6//37mzZt31+arKlWq0LFjR1asWMHYsWMtnps8eTKPPPIIAAsWLKBWrVosW7aMvn37Mm3aNAYNGmTuklG/fn3+7//+j86dOzNz5kx8fHzQ6XR4eHjg7+9vvmbNmjV59dVXzY9ffPFFVq9ezZIlS+6a9AQEBBAVFVXgffr4+NzrW0GHDh3Yt28fGRkZjB49milTptzzHFtUIZOe9u3bs2rVKotja9eupX379laKSJQrrRa0LuCYf4JbLJlp2UnQNTUJSr2WmxSlXIGb5+FmrLplpuR/DaMBrp9Wt5N5RhJ6BFgmQQEtwa1q6cVeybk5utHKrxWt/FqZjxmMBk7ePMlrm17jfPJ5kjKSUBRFJr+rQKp5lP0/oSV93enTpzN16lQmTJjA6dOniYqKYuzYsRYJTk4T1+1JT97PIx8fHxo2bEh0dDQABw4c4ODBgyxcuNBcRlEUTCYTMTExNG7cON94jEYjU6dOZcmSJVy8eBGDwUBGRkaBS3s4ODgQEhJS6Hu+m8WLF5OcnMyBAwd47bXX+Oyzz3j99ddLfN3yZhNJz61btzh16pT5cUxMDFFRUfj4+FC7dm0mTZrExYsX+fHHHwEYO3Ys33zzDa+//jojRozgn3/+YcmSJaxcudJatyAqOkcX8KqpbgVRFEi7ATfP5SZBebcb5+5MipIvwfFLcDzPz6d37dwEqN5D4N/8tpF3oiB6nZ6mVZsS4B7A+eTzZClZpGal4uboZu3QRCEVtonJmtzc3Pjwww/58MMP6dOnD48++igTJkxAq9UyevRoAHr37s2kSZNISUnBza1wP3+3bt1izJgxjB8//o7nateufdfzPv30U7766iu+/PJLQkNDcXNz4+WXX8ZgMNz1nNJq3srpDtKkSROMRiOjR4/mlVdeQafTFXierbGJpGfPnj0W7aQ5fW+GDh3K/PnzuXz5MrGxsebng4ODWblyJRMmTOCrr76iVq1azJkzx+rD1YUd0GjA1UfdAlre+byiqAnRpf15tijIuG20YE6SdHQ5rPs3VAmCJr2hSR/1upIAFYqX3su8n5iRKEmPKDPe3t6MGTOGNWvWsGXLFnPSExwcTEhICKtXr7bo57Jjxw5zAnPjxg1OnDhhrsFp1aoVR48eLbAGRq/X37Hu1LZt2+jduzfPPvssoK5GfuLEiQKTmtJq3srLZDKRmZmJyWSSpKc4HnzwwQJHX+Q32/KDDz7I/v37yzAqIYpBo1ETmCpB0PQJ9ZjJBNfPWCZClw9Y1gjdOAvbvlI3r9rQ5HH1/JqtJQEqgJeTZdIT4B5QQGkhimbChAn06dOHFi1aYDQa2bBhA5s2beKdd96xKNe7d2+WL19ukfRMmTKFqlWr4ufnx9tvv42vry99+vQB4I033qBdu3aMGzeOkSNH4ubmxtGjR1m7di3ffPMNoM7Ts3nzZvr374+TkxO+vr7Ur1+fpUuXsn37dqpUqcL06dOJj48vMOkpafPWwoULcXR0JDQ0FCcnJ/bs2cOkSZPo16+fzNMjhMiHVgu+IerW/Bn1mMkICSfh3FY4ugLObskeJQckxkLkN+rmWUtNgJr0gVpt1GsJs7xJT5KhbObeEvardu3aTJw4kZMnT5KSksLGjRsZMWIEL774okW53r1706NHD4uamY8++oiXXnqJkydP0qJFC/744w/zyuHNmzdn06ZNvP3223Tq1AlFUahXrx79+vUznz9lyhTGjBlDvXr1yMjIQFEU3nnnHc6cOUO3bt1wdXVl9OjR9OnTh8TExDL7Hjg4OPDxxx9z4sQJFEWhTp06jBs3jgkTJpTZa5YljWKnE1wkJSXh5eVFYmIinp6e1g5H2LuUBDi2Eo7+Dmc25T8s3yMAmvaB9uPu3ffITsw/PJ/P96ozs3/e+XO6BnW1ckQiP+np6cTExBAcHIyzc8WcWHLYsGF3XeNRURRq1arFokWL6NSpU/kGVkkV9DNTks9v+bdRCFvg5guth8LgZfDaKeg9A0IeUecGypF8CXZ8C//XEla/DSnXrBevjbBo3jKU3X+7QhREo9HwxRdfyOjBCkCat4SwNa4+0PJZdUu7Acf/VmuATv+jDos3ZqhNX3sXQIdx0O5f4GyftZWe+tz7TsyQpEeUnbvV8uTo27dv+QQiSkRqeoSwZS5VoMUAGLgYXjkOHcZDzrpThmTYOA2+CoPt30CmbU/0VhY8nXKTnqTbR8gJIcRtJOkRoqJw9YGuH8D4/XDfCNBmV9SmXYc1b8PXrdTaH2NWwdepRKR5SwhRFJL0CFHReAbAY1/AC7sg9Bkgux9B0kX4YzzMaAuHf81e+6xyu32eHiGEKIgkPaVs+6kEJi6OYsH2s0Sdv0lGlpUWxxSVX9V68NQcGLsVGjyae/z6aVg6Ar5/AGI2Wy++ciBD1oUQRSEdmUvZ1lMJ/Lb/Ir/tvwiAo05DkxqehAV6E1bLm7BAb+r6uqGV1bhFafFvBgMXQexOWD9FnfsHIO4QLHgcHpkCHV6slJMcOjs446RzIsOYITU9Qoh7kqSnlB26aPmHN9OocOBCIgcuJALnAPBwcqB5oJc5CWoR6I2fZ8Wcu0LYkNrhMOxPOL1eTX4uHwAUWPsuXImGXl+Cg3UWeSxLXnovrqRdkaRHCHFPkvSUsjlD7+PY5WQOXLhJ1PmbHDh/k9NXLRegTM7IYtupa2w7lTvPSqCPC22DqhIe7EObYB+CqrrKnA+i6DQaCImAug/Bpo9g08fq8QM/q81e/f4L7tWtG2Mp83Ty5EraFWneEmWqoMkJ89q4cSNdunThxo0beHt7l3lcomikT08pc3LQERbozZD2QUzv24L1rzzIwX93ZeHIcF7r1pCuTfzw87zzv+3z19P4dd8FXv/1IF0+20jbqet5YeE+Fmw/S/TlJEwmu5w4WxSXVgtd3oKn54GDi3rs/E74vkt2DVDlkTNXT1pWGhnGDCtHI+yFwWDA09OTAwfK5vcpKCiIL7/8skyuXRTp6ekMGzaM0NBQHBwczOuH3W7jxo20atUKJycnQkJCCpUgWoPU9JQDT2dH7g/x5f4QX/OxuMR0DlxQa4L2nruR3ek5d7TN1eQMVh66zMpDl7Ov4UCbILUWqF3dqoTW9EIn/YLEvTR7EnyC4ZeB6ozOSRdgbnd4Ypa6qnslYNGZOSOJaq7VrBiNqEwSEhJ45ZVX2LBhA/Hx8WzdupWWLVuycOFC9Ho93bt3Z8WKFYSFhVk71DJjNBpxcXFh/Pjx/Prrr/mWiYmJoWfPnowdO5aFCxeyfv16Ro4cSY0aNejWrVs5R1wwqemxEn8vZ7o19ef17o1YPKY9B//dlaVj2/Nat4Z0blANdyfLfDQpPYv1x67w0V/H6DNjG63/s5YXft7H4t2xXLqZZqW7EBVCQEsYvQFq3qc+zkyFJUNg0ydQCZbeu32ldSFKy4QJE9ixYwc//fQTPXr0YPbs2dStWxdT9nQQjz/+OCtWrMj33G3bttG8eXOcnZ1p164dhw8ftnh+69atdOrUCRcXFwIDAxk/fjwpKWpXiAcffJBz584xYcIENBqNuavDtWvXGDBgADVr1sTV1ZXQ0FB++eWXMvwOgJubGzNnzmTUqFH4+/vnW2bWrFkEBwfz+eef07hxY8aNG8fTTz/NF198UaaxFYckPTbCyUHHfUE+vNAlhAUj2hL13iP8+WJH3n2sCd2b+uPjprcofzM1k5UHL/PGr4fo8NE/REzfxPt/HGHD8SukGuxncjpRSB7+MGwlNO+fe2zDh7B0OBhSrRdXKcg7V4/06xGlaf/+/QwZMoTOnTvj5eVFly5d+Pjjj80LYPbs2ZMDBw5w6dKlO8597bXX+Pzzz9m9ezfVqlWjV69eZGZmAnD69Gm6d+/OU089xcGDB1m8eDFbt25l3LhxAPz222/UqlWLKVOmcPnyZS5fVmv809PTad26NStXruTw4cOMHj2awYMHs2vXrrveQ2xsLO7u7gVuU6dOLdH3KTIykoiICItj3bp1IzIyskTXLQvSvGWjHHRamtX0ollNL57rGIyiKJy+eosdZ66z7VQCW08lkJyem9ycunKLU1duMW/bWfQ6LfcFVeGBBtXoVN+XJjU8pVO0AEdntVmremNY929AgSPL4PoZ6P9LhV25XWp6KqjvOsOtK+X/uu7VYcymQhW9//77mTdv3l2br6pUqULHjh1ZsWIFY8eOtXhu8uTJPPLIIwAsWLCAWrVqsWzZMvr27cu0adMYNGgQL7/8MgD169fn//7v/+jcuTMzZ87Ex8cHnU6Hh4eHRe1KzZo1efXVV82PX3zxRVavXs2SJUto27ZtvjEGBAQQFRVV4H36+Pjc61tRoLi4OPz8/CyO+fn5kZSURFpaGi4uLiW6fmmSpKeC0Gg0hFT3IKS6B8+2q0OW0cSBC4lsOXmVLScT2B97g5y+zgajie2nr7H99DU++gtqeDnTtYkfXZv60zbYB0edVPDZLY0GOr4M1RrBr8+B4ZbasXl2F+j/M9S6z9oRFpnFoqOyFEXFceuK2s/Mhk2fPp2pU6cyYcIETp8+TVRUFGPHjrVIcHKauG5Petq3b2/e9/HxoWHDhkRHRwNw4MABDh48yMKFC81lFEXBZDIRExND48aN843HaDQydepUlixZwsWLFzEYDGRkZODq6nrXe3BwcCAkJKRY918ZSdJTQTnotLSuU4XWdarwckQDEtMyiTydwOaTCWw+cZULN3L7+VxOTGdB5DkWRJ7D09mBhxpVp2tTfzo3qIabk/wI2KWG3WHkOvilP9w4C7fiYV4P6PcTNLCtjof3IjU9FZS1pk4owuu6ubnx4Ycf8uGHH9KnTx8effRRJkyYgFarZfTo0QD07t2bSZMmkZKSgpubW6Gue+vWLcaMGcP48ePveK527dp3Pe/TTz/lq6++4ssvvyQ0NBQ3NzdefvllDAbDXc+JjY2lSZMmBcbz1ltv8dZbbxUq9vz4+/sTHx9vcSw+Ph5PT0+bquUBSXoqDS8XR7o3q0H3ZjVQFIWz11LZcvIq/xy7wvZT1zAY1Y53SelZ/B51id+jLqF30NIxxJeuTfx4uLEf1Twq38R1ogDVG8PIf+B/Q+HsFjBmwNLn1E7PvvWtHV2h5V1pXZKeCqSQTUy2wtvbmzFjxrBmzRq2bNliTnqCg4MJCQlh9erVPPnkk+byO3bsMCcwN27c4MSJE+YanFatWnH06NECa2D0ej1Go+UyRtu2baN37948++yzAJhMJk6cOFFgUlMezVvt27dn1apVFsfWrl1rUdtlKyTpqYQ0Gg3Bvm4E+7oxpH0QtzKy2HT8KmuOxvHPsSvmvkCGLBP/HLvCP8euoNEconXtKnRr6s9jYTWo4WVb2bkoI25VYfAyda2u6BVgSIZFg2DUenDysHZ0hSLrb4myMmHCBPr06UOLFi0wGo1s2LCBTZs28c4771iU6927N8uXL7dIeqZMmULVqlXx8/Pj7bffxtfX1zzHzRtvvEG7du0YN24cI0eOxM3NjaNHj7J27Vq++eYbQJ2nZ/PmzfTv3x8nJyd8fX2pX78+S5cuZfv27VSpUoXp06cTHx9fYNJTGs1bR48exWAwcP36dZKTk81JVIsWLQAYO3Ys33zzDa+//jojRozgn3/+YcmSJaxcubJEr1sWJOmxA+5ODvRsXoOezWtgyDKxM+Yaa47Es+ZoHPFJ6mRuigJ7zt1gz7kbTP0rmvBgH/q0qMmjzWrg5epo5TsQZUrnqHZwvnYKrhyFhOPw+/PQ96cKsV6XrLQuykrt2rWZOHEiJ0+eJCUlhY0bNzJixAhefPFFi3K9e/emR48eFjUzH330ES+99BInT56kRYsW/PHHH+j16ijc5s2bs2nTJt5++206deqEoijUq1ePfv36mc+fMmUKY8aMoV69emRkZKAoCu+88w5nzpyhW7duuLq6Mnr0aPr06UNiYtn+3Pfo0YNz586ZH7ds2RJQ+yGBWtu1cuVKJkyYwFdffUWtWrWYM2eOzc3RA6BRlEowUUcxJCUl4eXlRWJiIp6envc+oRIymRQOXUxkzdE41hyJ5+SVW3eU0eu0PNiwGr1b1OThxtVxdtRZIVJRLq6dVjs0p2f/AX34Pej0inVjKoRkQzIdfukAQIeADnz3yHdWjkjcLj09nZiYGIKDg83DvSuagpahUBSFWrVqsWjRIjp16lS+gVVSBf3MlOTzW2p67JhWq1FXfw/05rVujTh99RZ/HrjM8qiLnElQJ8kyGE2sORrPmqPxuDs50K2pP31aBtChnq/MCF3ZVK0HT/0AC58BFFj/AfiHQf2Ie55qTe6O7ug0OoyKUWp6hFVoNBq++OILmRqkApCaHjuu6bkbRVE4fDGJ36Mu8seBS1xJvnM9I193J3qF1eCpVrVoVtMrn6uICmvTp7DhP+q+szeM3qguZWHDOi3qxM2Mm9Ryr8VfT/1l7XDEbSpDTY8oX2VV0yMTtog7aDQaQmt58e5jTYic9DALR4bT975aeOQZ3p5wK4N5287y2Ndb6f3NVhbtiiUlQ2aCrhQ6vQINe6r76Tdh8bNgSLFqSPeS05lZ5ukRQhREkh5RIJ1Ww/0hvnzydBi734lg5qBWdG/qjz7PBIcHLiTy5m+HaPvhOt5adojDF+WDp0LTatWOzVWzh63HH4YV4216na6czszJhmSMJuM9Sgsh7JX06RGF5uyo49HQGjwaWoPEtEz+PHiJX3bFcviiOkw4xWDk552x/Lwzlua1vBjQtjaPhwXIBIgVkbOnOkPz7IfUYeyHl6oLl3YYZ+3I8pV3rp5kQzLezt7WC0YIYbOkpkcUi5eLI4PC6/Dni534Y1xHBrStjZs+d2TXwQuJTJLan4qtWgO1xifH2vcgZrP14imAxazM0sQlhLgLSXpEiYXW8mLak6HsfDuCqU+E0qxm7n/dObU/j329lce/2cqy/RfIzJ4dWlQAjR+DTtkLHCpG+N8wuHneqiHlx2Kl9QyZoFAIkT9JekSpcXdyYGB47QJrfyYsPkCnjzcwa9NpEtMyrRitKLQub0FI9rD11Gtqx+bMtILPKWdS0yOEKAxJekSZuL32p2lAbu1PXFI6H/11jA7T1vP+H0c4fz3VipGKe9Lq4Kk5UCVIfXw5Cla+YlMdmy1WWpe5eoQQdyFJjyhTubU/HVk8uh2PNPEzr2yQYjAyb9tZOn+6gRcW7mN/7A3rBivuzqUK9FsIjq7q46iFsHuOdWPKQ1ZaF2Vt2LBhhSq3ceNGNBoNN2/eLNN4RPFI0iPKhUajIbxuVWYPuY/1EzvzbLvaODuqP34mBVYeuswT327n6Znb+ftwHEaT7dQiiGz+zeDxr3Mf/z0JEk5aL548pHlLlDeDwYCnpycHDhwok+sHBQXx5Zdflsm1iyI9PZ1hw4YRGhqKg4ODedHU223cuJFWrVrh5ORESEhIvkt2zJgxg6CgIJydnQkPD2fXrl1lG3w+JOkR5a5uNXf+0yeU7W8+zCuPNMDX3cn83J5zNxj73708/PlG/rvjHBlZMueKTQl9Gtq9oO6bMmHdv60aTo68zVvSkVmUloSEBIYOHUrt2rX55ZdfCAkJ4ZlnnsFgMKDX6+nevTsrVqywdphlymg04uLiwvjx44mIyH9JmpiYGHr27EmXLl2Iiori5ZdfZuTIkaxevdpcZvHixUycOJHJkyezb98+wsLC6NatG1euXCmvWwEk6RFW5OOm58WH67P1jS588lRz6ld3Nz939loq7/x+mC6fbmThznMYsmTEl8146G1w91P3j/0JsTutGw/SvCXKxoQJE9ixYwc//fQTPXr0YPbs2dStWxeTSf179Pjjj9816dm2bRvNmzfH2dmZdu3acfjwYYvnt27dSqdOnXBxcSEwMJDx48eTkqLOfP7ggw9y7tw5JkyYgEajMa/pde3aNQYMGEDNmjVxdXUlNDSUX375pQy/A+Dm5sbMmTMZNWoU/v7++ZaZNWsWwcHBfP755zRu3Jhx48bx9NNP88UXX5jLTJ8+nVGjRjF8+HCaNGnCrFmzcHV1Ze7cuWUa/+0k6RFW5+yoo2+bQNZMeID5w9vQMcTX/NylxHTeXnaYLp9t5OedsZL82AK9Gzw4Kffx2ves3qlZmrdEWdi/fz9Dhgyhc+fOeHl50aVLFz7++GPzWlA9e/bkwIEDXLp06Y5zX3vtNT7//HN2795NtWrV6NWrF5mZ6ojV06dP0717d5566ikOHjzI4sWL2bp1K+PGqZN//vbbb9SqVYspU6Zw+fJlLl++DKhNTa1bt2blypUcPnyY0aNHM3jw4AKbiWJjY3F3dy9wmzp1aom+T5GRkXfUAnXr1o3IyEhAbQrcu3evRRmtVktERIS5THmRqXKFzdBoNDzYsDoPNqzOwQs3+WrdSdYfU6s+L95M461lh5ix4RTjHgrh6da1cNRJzm41LQfDjm8h4QSc3wHHVqpz+liJNG9VPP3+7EdCWkK5v66viy+LH1tcqLL3338/8+bNIywsLN/nq1SpQseOHVmxYgVjx461eG7y5Mk88sgjACxYsIBatWqxbNky+vbty7Rp0xg0aBAvv/wyAPXr1+f//u//6Ny5MzNnzsTHxwedToeHh4dF7UrNmjV59dVXzY9ffPFFVq9ezZIlS2jbtm2+MQYEBBAVFVXgffr4+NzrW1GguLg4/Pz8LI75+fmRlJREWloaN27cwGg05lvm2LFjJXrtopKkR9ik5rW8+WFYGw6cv8mX606w4fhVQE1+Jv2Wnfx0CeEpSX6sQ+cAEf+GRQPVx+vfhwbd1eNW4KB1wM3RjZTMFKnpqSAS0hK4klq+/TmKavr06UydOpUJEyZw+vRpoqKiGDt2rEWCk9PEdXvS0759e/O+j48PDRs2JDo6GoADBw5w8OBBFi5caC6jKAomk4mYmBgaN26cbzxGo5GpU6eyZMkSLl68iMFgICMjA1dX17veg4ODAyEhIcW6/8pIkh5h08ICvZk3vC37Y2/w1fqTbMxOfi7cSOPN3w4xY+MpXuxSnyda1ZTkp7w17AGB7dSanoQTsP8nuG+41cLx0nupSY/06akQfF18713Iyq/r5ubGhx9+yIcffkifPn149NFHmTBhAlqtltGjRwPQu3dvJk2aREpKCm5uboW67q1btxgzZgzjx4+/47natWvf9bxPP/2Ur776ii+//JLQ0FDc3Nx4+eWXMRgMdz0nNjaWJk2aFBjPW2+9xVtvvVWo2PPj7+9PfHy8xbH4+Hg8PT1xcXFBp9Oh0+nyLXO3fkJlRZIeUSG0rF2F+cPbsi/2Bl+tO8mmE2ryc/56Gq//epBvNpzila4NeDwswNzpT5QxjQYemQJzu6qPN06D5n3VPj9W4OXkxaWUSyRlJKEoivwc2LjCNjHZCm9vb8aMGcOaNWvYsmWLOekJDg4mJCSE1atX8+STT5rL79ixw5zA3LhxgxMnTphrcFq1asXRo0cLrIHR6/UYjZajV7dt20bv3r159tlnATCZTJw4caLApKY8mrfat2/PqlWrLI6tXbvWXNul1+tp3bo169evNw95N5lMrF+/3tyPqbzIv8aiQmlVuwoLRrTl1+c70Kl+7n9ssddTeWlRFH2+3c6es9etGKGdqR0OjXup+7fiIXKG1ULJWWk9S8kiNUtm+RYlN2HCBDZt2kRiYiJGo5ENGzawadMmWrdubVGud+/eLF++3OLYlClTWL9+PYcPH2bYsGH4+vqaP/DfeOMNtm/fzrhx44iKiuLkyZMsX77cIgEICgpi8+bNXLx4kYQEte9T/fr1Wbt2Ldu3byc6OpoxY8bcUXtyu5zmrYK2eyU9R48eJSoqiuvXr5OYmEhUVJRFIjV27FjOnDnD66+/zrFjx/j2229ZsmQJEyZMMJeZOHEis2fPZsGCBURHR/P888+TkpLC8OHlXDus2KnExEQFUBITE60diiiBPWevKQNnRyp13vjTYnv+v3uUswm3rB2efbh6QlH+XUVRJnsqyocBipJ8xSphTNwwUWk2v5nSbH4z5WLyRavEIPKXlpamHD16VElLS7N2KEUyffp0pVWrVoqHh4ei1WqVWrVqKa+99pqSlZVlUW7Xrl2Kr6+vkpWVpWzYsEEBlD/++ENp2rSpotfrlbZt2yoHDhy445xHHnlEcXd3V9zc3JTmzZsrH374ofn5yMhIpXnz5oqTk5OS81F97do1pXfv3oq7u7tSvXp15Z133lGGDBmi9O7du0y/D3Xq1FGAO7a8NmzYoLRo0ULR6/VK3bp1lXnz5t1xna+//lqpXbu2+XuyY8eOu75mQT8zJfn81iiKDS2gU46SkpLw8vIiMTERT0/Pe58gbNrG41eYuiqaE/G3zMccdRqGtg/ixYfq4+XqaMXo7MCfE2BP9nwbbUZBz8/KPYQpkVP434n/AbDksSU0rpp/Z1BR/tLT04mJiSE4ONg83LuiGTZsWL6zDIPaCblWrVosWrSITp06lW9glVRBPzMl+fyW5i1RKTzYsDqrxndi6hOh+LrrAcg0KszZGkPnzzYwb1sMmUaZ46fMdH4THLP78uydB9dOl3sIFsPWDTJsXZQfjUbDF198If3IKgBJekSl4aDTMjC8Nhtf68K4LiE4Oag/3jdTM3n/j6N0/WIzq4/EYaeVm2XLww86vKjum7Jg/ZRyD0FmZRZl6W61PDn69u1Lx44dyycYUWyS9IhKx93JgVe7NWTDqw/yRMua5uMxCSmM+Wkv/b/fweGL8qFY6jqMA7dq6v7R3+HCnnJ9eZmVWQhxL5L0iEorwNuFL/q1YMW4+2kbnDs6YWfMdXp9s5X3lh8mKT3TihFWMk4e8OCbuY/LeXkKL73U9AghCiZJj6j0mtfyZvHodnw3uDVBVdWZSxUFfow8R8Tnm/jz4CVp8iotrYZC1ey5R85tgxOrCy5finKGrIMsRWGr5PdMFFZZ/axI0iPsgkajoVtTf9ZM6MxbPRrh4qgD4EpyBuN+3s+webs5dy3FylFWAjpHePi93MfrJoMxq1xeWpq3bJdOp/6+FTRzsBB55fys5PzslBaZkVnYFb2DltEP1KNn8wAmLz/Cumh1Yq9NJ67S9YvNvPhQCKMfqIfeQf4fKLbGj0OtNnBhN1w9Bgd+hlZDyvxlpXnLdjk4OODq6srVq1dxdHREq5XfL3F3JpOJq1ev4urqioND6aYpMk+PzNNj11YfiePfK45wOTHdfCykujv/6dOMdnWrWjGyCu5cJMzrru571IAX94H+7osiloa0rDTaLlRXmm7j34a53eaW6euJojEYDMTExGAyydQR4t60Wi3BwcHo9fo7nivJ57fU9Ai71q2pPx1DfPli7QnmbT+L0aRw6sot+n+/g6da1eLtno3xcbvzl07cQ5326oKkx1dB8mXY8S088GqZvqSzzhm9Vo/BZJCaHhuk1+upX7++NHGJQtHr9WVSIyg1PVLTI7IduZTIW8sOc+D8TfMxb1dH3nq0MU+3roVWKxOPFcnV4/BtO1BM4OQJ46PArWxrzx5a8hBX067i5+rHumfWlelrCSGsQ2ZkFqIUNA3w4rfnO/BBn2Z4OKuVoDdTM3n914MMmrOTCzdkEcsiqdYQWg5W9zOSYMvnZf6SOZ2ZZUZmIUR+JOkRIg+dVsPgdnVY/0pneoUFmI9HnrlG9y+3sGT3eRl2WxQPTgIHF3V//09gKNsRcjlLUaRlpZFhzCjT1xJCVDyS9AiRj+oeznw9oCULRrQlwEtd7O5WRhav/3qQkQv2cCUp/R5XEAB41oDQp9T9jCQ4sqxMXy7vsHWZq0cIcTtJeoQoQOcG1fh7wgM83bqW+dj6Y1fo+uVm/jx4yYqRVSCth+fu711Qpi8l628JIQpiM0nPjBkzCAoKwtnZmfDwcHbt2lVg+S+//JKGDRvi4uJCYGAgEyZMID1d/vsWpc/T2ZHPnglj9pD78HV3AtS+PuN+3s+4n/dxI0VGoxSoZmuo3lTdv7AL4o+U2UvJSutCiILYRNKzePFiJk6cyOTJk9m3bx9hYWF069aNK1eu5Fv+559/5s0332Ty5MlER0fzww8/sHjxYt56661yjlzYk0ea+LFmwgP0CPU3H/vz4GW6frmZf47FWzEyG6fRQOthuY/LsLZHanqEEAWxiaRn+vTpjBo1iuHDh9OkSRNmzZqFq6src+fmP7nY9u3buf/++xk4cCBBQUF07dqVAQMGFFg7lJGRQVJSksUmRFH5uOmZMbAVX/VvgZeLIwBXkzMYMX8Pry89QLIsYJq/5n3BQe0bxcFFkJlWJi9jMSuzLEUhhLiN1ZMeg8HA3r17iYiIMB/TarVEREQQGRmZ7zkdOnRg79695iTnzJkzrFq1ih49etz1daZNm4aXl5d5CwwMLN0bEXZDo9HQu0VN1kx4gAcbVjMfX7LnAt2/3ML20wlWjM5GuXhD0yfV/fREOLq8TF5GanqEEAWxetKTkJCA0WjEz8/P4rifnx9xcXH5njNw4ECmTJlCx44dcXR0pF69ejz44IMFNm9NmjSJxMRE83b+/PlSvQ9hf/w8nZk3rA0fPRmKm15dFO/izTQGzt7JJ38fI8so0+1bsGjiml8mL5F3pXVJeoQQt7N60lMcGzduZOrUqXz77bfs27eP3377jZUrV/LBBx/c9RwnJyc8PT0tNiFKSqPR0L9tbf5++QHCg33Mx7/deJr+3+/g0s2yacapkALbQrVG6n5sJFw5VuovYTFkXToyCyFuY/Wkx9fXF51OR3y8ZUfQ+Ph4/P398z3n3XffZfDgwYwcOZLQ0FCeeOIJpk6dyrRp02QxO2EVgT6u/DKqHZMebYRD9nIVe87doMf/bZFOzjlu79C8r/Q7NMtK60KIglg96dHr9bRu3Zr169ebj5lMJtavX0/79u3zPSc1NfWOhch0OrV5QWbLFdai1WoY07keS8a2p6a3OgvxzdRMRszfw4crj2LIkoSc5v1Apw7758AvkFm600zkbd6Smh4hxO2snvQATJw4kdmzZ7NgwQKio6N5/vnnSUlJYfhwdVKzIUOGMGnSJHP5Xr16MXPmTBYtWkRMTAxr167l3XffpVevXubkRwhraVW7CqvGd6Jrk9x+arO3xND3u0jOX7fz9btcfaBpH3U/7QZE/1Gql3d3dEerUf+sSU2PEOJ2DtYOAKBfv35cvXqV9957j7i4OFq0aMHff/9t7twcGxtrUbPzzjvvoNFoeOedd7h48SLVqlWjV69efPjhh9a6BSEseLk68t3g1szffpapq6LJNCpEnb9Jz//bwidPh9G9Wf5Nt3ah9TA4uFjd3zsfmj9TapfWarR46j25mXFTkh4hxB00ip22B5VkaXohiuLghZuM+3k/sXlqeYZ1CGJSj0Y4OdhhzaSiwIy2kHBCfTxuD/jWL7XLP7bsMc4lncND78H2AdtL7bpCCNtQks9vm2jeEqIya17Lmz/Hd6RnaA3zsfnbz/LUzO2cTSjbVcdtkkYDrYbmPi7l4es5nZmTDckYTcZSvbYQomKTpEeIcuDp7Mg3A1vynz7N0Duov3aHLybx2NdbWXXospWjs4KwAaDTq/tRP0NWRqldOm9n5mRDcqldVwhR8UnSI0Q50Wg0PNuuDr//637q+roBcCsji38t3Mcnfx/DaLKjlma3qtD4cXU/7Toc+7PULp130VFZikIIkZckPUKUsyYBnqx4sSN9WgSYj3278TQjF+wmMc2O1u4qoxmaLSYozJBh60KIXJL0CGEF7k4OfNGvBe891gRd9mSGG45fpc+MbZy6YidNMkEdwaeeuh+zGa6dLpXLWqy/JTU9Qog8JOkRwko0Gg0jOgbz04i2VHFVV2yPSUihz4ztrD1qB7M4azTQOk+H5lKaoVlmZRZC3I0kPUJYWYcQX1aM60jjGmpflFsZWYz6cQ9frTuJqbL38wkbCFo14WP/QsgylPiSstK6EOJuJOkRwgYE+rjy6/Pteax57rD2L9ad4PmFe7mVkWXFyMqYezVo/Ji6n5oAx1eV+JLSvCWEuBtJeoSwEa56B74e0JI3ujdCo3bzYfWReJ6Ysa1yz+dTyh2a847eko7MQoi8JOkRwoZoNBqef7Ae84a1wdNZXSXm5JVbPP7NVjaduGrl6MpI0ANQJVjdP7MBrseU6HJ55+mR5i0hRF6S9Ahhgx5sWJ3l4zpSv7o7AEnpWQyft4tZm05T6VaO0Wqh1ZDcx/t+LNHl8nZklpXWhRB5SdIjhI0K9nVj2Qv3m1drNynw0V/HeG3pQQxZJitHV8paDAJt9vrH+/8LxuLPVyQ1PUKIu5GkRwgb5u7kwKxnW/NyRO6CnEv3XmDYvF2VayJDDz9o2EPdT7kCJ/4u9qUctY64OaozXktHZiFEXpL0CGHjtFoNL0c04NtBrXDKXrdr++lrPD1zOxdupN7j7AqkFDs05zRxSU2PECIvSXqEqCB6hNbg51Ht8HFTF+o8eeUWT3y7nYMXblo3sNJStwt411b3T62HG+eKfamcYetJGUmVrw+UEKLYJOkRogJpXacKy/7Vwbxg6dXkDPp9t4N1lWEGZ4sOzQoc/b3Yl8rp15OlZJGaVYlqw4QQJSJJjxAVTJ2qbvz6fAfaBFUBIC3TyOif9jB/W8mGetuEpk/m7kcXf+V1i5XWpYlLCJFNkh4hKqAqbnp+ei6cx8PUldpNCvz7j6NM+eMoxoq8dEXVelC9ibp/YRckxxXrMhYrrcuwdSFENkl6hKignB11fNmvBeO6hJiPzd0Ww/P/3UuawWjFyEqo0WO5+8dWFusSsuioECI/kvQIUYFptRpe7daQj54MRadV165YczSe/rN3cDU5w8rRFVPjPElP9B/FuoQsOiqEyI8kPUJUAv3b1mbesDa4O6kT/B04f5Mnvt3GqSvJVo6sGPybg1f2KK6zWyDtRpEvIYuOCiHyI0mPEJXEAw2qsfT59tTwcgbgwo00npoZyd5zRU8arEqjya3tMWXBiTVFvoQ0bwkh8iNJjxCVSCN/T35/4X6a1FBHLyWmZfLsnJ0Vb7FSi349RW/iyrsUhay0LoTIIUmPEJWMn6czS8a25/6QqoA6pH3kgt38ceCSlSMrgtrtwNVX3T+1HjLTinS6xZB1ad4SQmSTpEeISsjdyYG5w9rQvak/AJlGhfGL9vPTjuLPclyutDpo+Ki6n5kKp/8p0ukWQ9alpkcIkU2SHiEqKScHHTMGtaJ/m0AAFAXe/f0wX68/WTGWZmj8eO5+EScqlI7MQoj8SNIjRCWm02qY9mQoYzvXMx/7fO0JPvgzGpOtT2JYtzPoPdT946vAWPhV5Z11zui16hpl0pFZCJFDkh4hKjmNRsObjzZi0qONzMfmbovh1aUHyDSarBjZPTg4Qf1H1P30m3BuW6FP1Wg05toeSXqEEDkk6RHCTozpXI9PnmpO9hyG/LbvIs//dy/pmTY8e7PFRIXFa+KSZSiEEDkk6RHCjvRtE8i3g1qj16m/+uuirzDkh10kpRe+6ahchTwCOrWZimMrwVT4mqmcEVxpWWlkGCvo7NRCiFIlSY8QdqZ7M3/mD2+Dm14HwK6z1+n/nY0uW+HsCXUfVPeTL8Gl/YU+VebqEULcTpIeIexQhxBffhndDh83tRbl6OUknpm1nfPXU60cWT6KOVFh3lmZpYlLCAGS9Ahht5rX8mbJmPYEZC9bcfZaKv2/38G5aylWjuw2DXuAJvtPVRH69ciio0KI20nSI4QdC6nuztLnO1C3mhsAF2+m0fe7SE5fvWXlyPJwrwa126v7107C1eOFOk2SHiHE7STpEcLOBXi7sHh0exr4uQMQn5RBv+92cCLehlZoz9vEFb2iUKdYLDoqExQKIZCkRwgBVPNw4pdR7WicvVBpwq0M+n+/g6OXbKQvTKOeufuFbOKSmh4hxO0k6RFCAFDV3YlfRoXTvJaaLFxPMTBg9g4OXbCBhKFKHfBvru5fjoKb5+95isWio5L0CCGQpEcIkYe3q57/jgynZW1vABLTMhk4Zwf7Y29YNzCAxr1y94+tvGdxi0VHZfSWEAJJeoQQt/F0duSn58JpG+QDQHJ6FoN/2MXus9etG5jF0PV7N3HJPD1CiNtJ0iOEuIO7kwPzR7Shfd2qANzKyGLo3F1Enr5mvaCqNwafuur+uW2QUnAsstK6EOJ2kvQIIfLlqndg7rA2dKrvC0Cqwcjw+bvYcvKqdQLSaHJrexQTnPirwOLuju5os+f3kT49QgiQpEcIUQAXvY7ZQ+7joUbVAUjPNPHcgj1sOHbFOgHl7ddzj1FcWo3W3JlZkh4hBEjSI4S4B2dHHbOebU23pn4AGLJMjP5pD6uPxJV/MDXvA3d/df/0P5BR8FxCOU1c0rwlhABJeoQQhaB30PLNwFY81rwGAJlGhRcW7mNNeSc+Wm3unD3GDDi1rsDiOTU9yYZkjCZjWUcnhLBxkvQIIQrFUafly34teLJlTQCyTAov/LyP9dHx5RtI47yzMxfcxJV3BFeywYZmmBZCWIUkPUKIQnPQafn0mTCeyE58Mo0Kz/93HxuPl2Mfn6BO4Jw9MuvkGsgy3LWorLQuhMhLkh4hRJHotBo+eyaMXmEBABiMJkb/tLf8RnXpHKFBd3U/IwliNt+1qCxFIYTIS5IeIUSR6bQavugbRs9QtY+PIcvEyAV72H4qoXwCsJio8I+7FpO5eoQQeUnSI4QoFgedli/7tzCP6srIUoez7zxTDhMYhjwMDs7q/rFVcJdOyhYrrUtNjxB2T5IeIUSxOeq0fD2gFRGN1Xl80jKNDJ+/mz1lvWSF3g3qPazup1yBC7vzLSbNW0KIvCTpEUKUiN5By4xBrejSsBqgztw8dO4u9p4r40VKLUZx5d/EZbHSujRvCWH3JOkRQpSYk4OOmc+2Ni9ZkWIwMmzuLqLO3yy7F23QHTQ6df8uq65brLQui44KYfck6RFClApnR3XJivtD1EVKkzOyGPLDTg5dKKMaFlcfqNNB3b8RA9dO31HEYqV1GbIuhN2TpEcIUWqcHXXMGdKGdnV9AEhKz+LZH3Zy5FIZJT4hD+fun1p/x9PSkVkIkZckPUKIUuWi1zF3WBvaBqmJT2JaJs/O2cmxuDKoaQmJyN3PZ0mKvDU9kvQIISTpEUKUOle9A3OHt6F1nSoA3EhVE58zV2+V7gv5NQN3dcg8Z7dAZrrF045aR9wc3QDpyCyEsKGkZ8aMGQQFBeHs7Ex4eDi7du0qsPzNmzd54YUXqFGjBk5OTjRo0IBVq1aVU7RCiHtxd3Jg/vA2tAj0BiDhloFn5+zkwo3U0nsRjSa3ticzFWIj7yiSM4JLanqEEDaR9CxevJiJEycyefJk9u3bR1hYGN26dePKlfzX8zEYDDzyyCOcPXuWpUuXcvz4cWbPnk3NmjXLOXIhREE8nB1ZMLwtjWuoicelxHQGzdnJlaT0e5xZBBb9eu5s4soZwZWUkYSiKKX3ukKICscmkp7p06czatQohg8fTpMmTZg1axaurq7MnTs33/Jz587l+vXr/P7779x///0EBQXRuXNnwsLC7voaGRkZJCUlWWxCiLLn5erIT8+1pW41tZnp3LVUBs3ZyfWUuy8UWiR1u4Am+09ZAZ2Zs5QsUrNKsZZJCFHhWD3pMRgM7N27l4iI3A6JWq2WiIgIIiPvrKoGWLFiBe3bt+eFF17Az8+PZs2aMXXqVIzG/KeiB5g2bRpeXl7mLTAwsNTvRQiRP193JxaODKdWFRcATl65xZC5O0lKzyz5xV19oGZrdf9qNCResHjaYti6zNUjhF2zetKTkJCA0WjEz8/P4rifnx9xcXH5nnPmzBmWLl2K0Whk1apVvPvuu3z++ef85z//uevrTJo0icTERPN2/vz5Ur0PIUTBani58PPIdvh5OgFw+GISI+btJtWQVfKLW4zisqztkUVHhRA5rJ70FIfJZKJ69ep8//33tG7dmn79+vH2228za9asu57j5OSEp6enxSaEKF+1q7qycGQ4Pm56APacu8HoH/eSnnn3WtpCyZv0nL4t6ZG5eoQQ2aye9Pj6+qLT6YiPj7c4Hh8fj7+/f77n1KhRgwYNGqDT6czHGjduTFxcHAZDKfUTEEKUiZDqHvw4oi0ezg4AbD2VwLif95NpNBX/ogEtwUUdHs/pjWDMrT2SRUeFEDmsnvTo9Xpat27N+vW5/52ZTCbWr19P+/bt8z3n/vvv59SpU5hMuX8kT5w4QY0aNdDr9WUesxCiZJrV9GL+8La46tV/XNZFxzNxyQGMpmKOrtLqoN5D6n5GIlzcY35KFh0VQuSwetIDMHHiRGbPns2CBQuIjo7m+eefJyUlheHDhwMwZMgQJk2aZC7//PPPc/36dV566SVOnDjBypUrmTp1Ki+88IK1bkEIUUSt61RhzpD70Duof4b+OHCJt5cdKv6w8rvMziw1PUKIHA7WDgCgX79+XL16lffee4+4uDhatGjB33//be7cHBsbi1abm58FBgayevVqJkyYQPPmzalZsyYvvfQSb7zxhrVuQQhRDB1CfJk5qBVjftpLlklh0e7zuOh1vPdYEzQaTdEullPTA2rS89A7gKy0LoTIpVHsdLaupKQkvLy8SExMlE7NQljZnwcvMf6X/eS0br34UAivdG1Y9AvN7Ajxh9T9V0+BezWOXz/O0388DcBT9Z/i3x3+XTpBCyGsoiSf3zbRvCWEsG+PNQ/go6eamx9//c8pvt98uugXyjs785kNgDRvCSFySdIjhLAJfe8L5N+9mpgfT111jMW7Y4t2kXz69cg8PUKIHJL0CCFsxrD7g3nlkQbmx5N+O8Rfhy4X/gKB4aB3V/dPrQeTCWedM3qtOqpTanqEsG+S9AghbMq4h0J4rmMwACYFXloUxZaTVwt3soMegjur+6kJEHcAjUZjXopCkh4h7JskPUIIm6LRaHi7R2Oebl0LAIPRxJif9rIv9kbhLpDPqus5szInGWT0lhD2TJIeIYTN0Wo1fPRkKF2bqNNWpBqMDJ+3m+Nxyfc+2SLpUSc9zenXk5aVhsEos7YLYa8k6RFC2CQHnZb/G9CSDvWqApCYlsngH3YSey214BOrBEHV+ur++V2QdtNypXWp7RHCbknSI4SwWc6OOr4fch9htdSamivJGTz7w06uJKUXfGLOKC7FCDGbZNFRIQQgSY8Qwsa5Ozkwf3hb6ldXR2XFXk9l8A+7uJlaQDOVxdD19TJXjxACkKRHCFEBVHHT89Nz4dT0dgHgeHwyw+fvJtWQlf8JQfeDg7O6f2o9XnkXHZWkRwi7JUmPEKJC8PdyZuHIcHzdnQDYH3uTMT/tJSPLeGdhRxeoc7+6n3QBT0Nuc5hMUCiE/ZKkRwhRYQT5uvHjiLZ4OKtrJW85mcCExVEYTfksIZinicvreox5X2p6hLBfkvQIISqUJgGezBvWBmdH9c/XqkNxvL3sEHesnZw36Yk7at6XpEcI+yVJjxCiwrkvyIdZz7bGUacBYNHu83y6+rhlId/64FUbAK+4Q+bDMmRdCPslSY8QokJ6sGF1pvdtgUbNe/h242nmbDmTW0CjMU9U6JmZYT6clCFJjxD2qkRJT2ZmJufPn+f48eNcv369tGISQohC6RUWwJTHm5of/2dlNL/uvZBbILuJy8tkMh+SjsxC2K8iJz3JycnMnDmTzp074+npSVBQEI0bN6ZatWrUqVOHUaNGsXv37rKIVQgh7jC4fRATInJXZn/914OsOxqvPgh+ALQOuJsUNNldfqRPjxD2q0hJz/Tp0wkKCmLevHlERETw+++/ExUVxYkTJ4iMjGTy5MlkZWXRtWtXunfvzsmTJ8sqbiGEMBv/cAhD29cBwGhSeOHnfeyKuQ7OnhDYDi3gaVKHtkvSI4T9cihK4d27d7N582aaNm2a7/Nt27ZlxIgRzJo1i3nz5rFlyxbq169fKoEKIcTdaDQaJvdqyo3UTFYcuERGlonn5u9m8Zj2NAl5CM5txctkIlGnk+YtIeyYRrljnKd9SEpKwsvLi8TERDw9Pe99ghDC5hmyTIz6cQ+bTlwFwNfdiRVPuxOwqBsDa/hxyFmd2DBqcBQ6rc6aoQohiqkkn9/F7sgcERHBX3/9dcdxU54Og0IIUZ70DlpmPtuKVrW9AUi4lcGA5SkYXavhmedv063MW1aKUAhhTcVOevbs2UNQUBAA586dMx+fM2cOgwcPLnFgQghRHK56B+YOa0MDP3WB0nM30vknM9RyBJf06xHCLhU76TEYDHh4eAAQGhrKmTPq/BgdOnRg/fr1pROdEEIUg7ernh9H5C5Q+kdKE7yMkvQIYe+KnfTUr1+fXbt2kZiYSEpKComJ6h8RDw8PmbNHCGF1/l7O/HdkOFXd9GwxNcND5uoRwu4VO+l58cUXGTVqFA899BDNmzfnhx9+AGDLli34+fmVWoBCCFFcwb5uLBjRlkwnH1KMVczHb944a72ghBBWU+ykZ+TIkcyePZtnnnmGdevWcfz4cerWrcuoUaPo27dvacYohBDF1qymF7OH3MclYx3zsW171t+5QKkQotIr0jw9t3vyySfN+3/99RfLli3DYDDQv3//EgcmhBClpX29qhxs3pkN8TEApF8/zrcbT/NClxArRyaEKE+ltuCog4MDzzzzDIMGDUKnk/kvhBC2JbxFZ/N+FYcrTF99lJ93xloxIiFEeStS0hMbW7Q/EBcvXixSeSGEKCueLj7m/QytkTDNad75/RCrDl22YlRCiPJUpKSnTZs2jBkzpsAFRRMTE5k9ezbNmjXj119/LXGAQghRGrz0Xub9RJ2OzrqDmBR4eVEU204lWDEyIUR5KVKfnqNHj/Lhhx/yyCOP4OzsTOvWrQkICMDZ2ZkbN25w9OhRjhw5QqtWrfjkk0/o0aNHWcUthBBF4umUO119olbLEx7RfHEDDEYTo3/cw8+j2hEW6G29AIUQZa5INT1Vq1Zl+vTpXL58mW+++Yb69euTkJBgXk190KBB7N27l8jISEl4hBA2xVHriKuDK6AmPYFpx3iioTMAKQYjw+bt4tQVWZ5CiMqsWKO3XFxcePrpp3n66adLOx4hhCgzXk5epGalkqjTokHh45bXuGQIZGfMdW6kZjLkh50sfb4DAdkzOQshKpdij97avXs3Dz/8MM2bN+fJJ59kypQprFixosidnYUQorx4Oan9epK0WhRAH/MPs4feR5MaatPXpcR0Bv+wk+spBitGKYQoK8VOegYPHoxOp2P06NEEBwezadMmhg8fTlBQEFWrVi3NGIUQolTkdGbO0mhI1Wjg1Ho89ToWjGhLUFW16ev01RSGz99NSkaWNUMVQpSBYk9OeP78eVauXEm9evUsjp87d46oqKiSxiWEEKUub2fmJK0Wt5QrEH+IajXC+Om5cJ6auZ0ryRkcOH+Tsf/dy5yh9+HkIPOOCVFZFLump3379vnOw1OnTh169+5doqCEEKIs5DRvASTqsv/8nVoHQKCPKz89F46ns/q/4JaTCUxcfACjSZarEKKyKHbSM2HCBKZMmSIrqgshKgxPveWwdQBOrTcfa+jvwbzhbXB2VJ9beegy7y0/LOt0CVFJFDvp6dWrFxs2bKBBgwY899xzzJkzh71792IwSAdAIYRtsqjp8QxQd87vhPQk8/HWdXyYOag1DloNAAt3xvL5mhPlGqcQomwUO+k5deoUS5cuZdy4cVy/fp2pU6fSpk0bPDw8aN68eWnGKIQQpcJiVma/RuqOKQtiNluU69KoOp/3DTM//mbDKWZvPlMuMQohyk6xOzLXrVuXunXr8sQTT5iPJSUlceDAAQ4ePFgqwQkhRGmyqOnxqZP7xKl10Pgxi7K9W9TkZmomk1ccAeDDVdF4uTjSt01gucQqhCh9xU568uPp6UmnTp3o1KlTaV5WCCFKRd6kJ8m1CuicwJih9utRFNBoLMoP7RBEYlom09eqzVtv/nYQTxcHujerUa5xCyFKR7Gbt4QQoqLJ25E5yZgOdTqoDxJjIeFkvue8+FAII+4PBsCkwPhfoth6UhYoFaIikqRHCGE3LJq3MhIhJCL3yeyh67fTaDS807MxT7WqBWQvUPrTHvbH3ijTWIUQpU+SHiGE3bAYsm4oXNIDoNVq+PipUB5p4gdAqsHIsHm7OR6XXGaxCiFKnyQ9Qgi74eLggqPWEciu6anWEDzVGhzObYPMtLue66DT8vWAlrSvqy6zk5iWyeAfdnL+emqZxy2EKB2S9Agh7IZGozE3cSVmJKodl0MeVp/MSoez2wo839lRx+yh9xFWS73GleQMBs3ZyZWk9DKNWwhROiTpEULYlZy5epIM2RMS5iQ9UGATVw53JwfmDW9LSHV3AGKvpzJk7i4SUzNLPVYhROmSpEcIYVdyanrSstIwGA0Q3Bk02YuKFiLpAfBx0/PTc22p6e0CwLG4ZIbP30WqQVZmF8KWSdIjhLArFiutG5LAxRsC26oHrp2EG2cLdZ0aXi78d2Q4vu56APbF3mTMT3vJyDKWcsRCiNIiSY8Qwq5YLEWRkajuWDRxraewgn3dWDCiLR55VmZ/eVEUWUZTqcQqhChdkvQIIexK3pqe3KQn79D1wic9AE0DvJg3LHdl9r8Ox/H60oOYTLIyuxC2RpIeIYRdybemxz8MXH3V/ZhNkGUo0jXvC/Lhu8H3odepf1J/23+R91YcRlEk8RHClkjSI4SwKxazMhuykx6tNreJy3ALzu8s8nU7N6jG/w1oiU6rrt/13x2xfPTXMUl8hLAhkvQIIezKHUtR5Cjk7MwF6d7Mn8+fCTOvW/rd5jN8/c+pYl1LCFH6JOkRQtiVfJu3AOo9BGRnK0Xs15NXn5Y1+bBPqPnx9LUn+GFrTLGvJ4QoPTaV9MyYMYOgoCCcnZ0JDw9n165dhTpv0aJFaDQa+vTpU7YBCiEqvLw1PeYJCgHcfCGghboffwiSLhf7NQaG1+adno3Njz/48yi/7Iot9vWEEKXDZpKexYsXM3HiRCZPnsy+ffsICwujW7duXLlypcDzzp49y6uvvkqnTp3KKVIhREVmMU9PRpLlk3mbuE7/U6LXGdmpLi9H1Dc/fmvZIZZHXSzRNYUQJWMzSc/06dMZNWoUw4cPp0mTJsyaNQtXV1fmzp1713OMRiODBg3i/fffp27duuUYrRCiorpjpfW8SqFfT14vPVyf0Q+of5sUBSYuOcCaI3Elvq4QonhsIukxGAzs3buXiIjcPzharZaIiAgiIyPvet6UKVOoXr06zz333D1fIyMjg6SkJItNCGF/PPQeaLL77lj06QGoeR/kNH+d2QCmks2urNFomPRoIwaF1wbAaFIY9/N+tpy8WqLrCiGKxyaSnoSEBIxGI35+fhbH/fz8iIvL/7+irVu38sMPPzB79uxCvca0adPw8vIyb4GBgSWOWwhR8Wg1WnMT1x1Jj84B6j2o7qfdgEv7S/x6Go2GD3o344mWNQEwGE2M+nEPu89eL/G1hRBFYxNJT1ElJyczePBgZs+eja+vb6HOmTRpEomJiebt/PnzZRylEMJW5YzguqN5C6Be0VZdLwytVsOnTzenW1P1H7v0TBMj5u3m0IV8Xl8IUWZsIunx9fVFp9MRHx9vcTw+Ph5/f/87yp8+fZqzZ8/Sq1cvHBwccHBw4Mcff2TFihU4ODhw+vTpO85xcnLC09PTYhNC2KecEVzJhmSMtzdhhZR+0gPgoNPyfwNa0rlBNfW1M7IYPHcnRy9JU7sQ5cUmkh69Xk/r1q1Zvz53bgyTycT69etp3779HeUbNWrEoUOHiIqKMm+PP/44Xbp0ISoqSpquhBAFyjuC61bmLcsnvWpBtezh5hf3QmrpNUM5OeiY9Wxr2gb7AHAzNZNnf9jJ8bjkUnsNIcTd2UTSAzBx4kRmz57NggULiI6O5vnnnyclJYXhw4cDMGTIECZNmgSAs7MzzZo1s9i8vb3x8PCgWbNm6PV6a96KEMLG3XWCwhw5tT2KSe3QXIpc9DrmDmtDy9reAFxPMTBozg5OXZHER4iyZjNJT79+/fjss8947733aNGiBVFRUfz999/mzs2xsbFcvlz8ycKEECKHxbD1fJOe4q+6XhjuTg4sGNGWsFpq8pVwy8CA2Ts5ffXWPc4UQpSERrHT1fCSkpLw8vIiMTFR+vcIYWe+2f8N3x38DoCZETPpWLOjZYHMdPgkGDJTwd0PJh5TFyUtZYlpmQyas4PDF9V+PX6eTiwe3Z4gX7dSfy0hKouSfH7bTE2PEEKUl7suOprD0RmCH1D3b8XDpX1lE4eLI/99LpwmNdQ/3PFJGQyYvYPYa6ll8npC2DtJeoQQdueeSQ9Ao565+9F/lFks3q56/jsynEb+HgBcTkxnwOwdnL8uiY8QpU2SHiGE3bHoyJzfXD0ADXuAJvtP5LE/1XUkyoiPm5r41K/uDsDFm2kMnLODizfTyuw1hbBHkvQIIeyOxUrrty86msPNF2pnT5lx7RRcPV6mMfm6O7FwVDh1q6n9ec5fT2Pg7B3EJaaX6esKYU8k6RFC2B2LldYNBUwO2Oix3P0ybOLKUd3DmV9GtSM4uyPzuWupDJi9gytJkvgIURok6RFC2J17DlnP0ThP0nOs7JMeAD9PZ34eFU5tH1cAYhJSGDB7B1eTM8rl9YWozCTpEULYnXtOTpjDuzbUCFP3Lx+Am7FlHJmqhpcLv4xuR60qLgCcvprCwNk7SLgliY8QJSFJjxDC7jjqHHF1UGtS7tqROUejXrn7x1aWYVSWanq78MuodtT0VhOfk1duMeD7HVxJlqYuIYpLkh4hhF3K6cxcYE0PWDZxRf9ZhhHdKdDHlV9GtaOGlzOgJj79v5POzUIUlyQ9Qgi7lJP0JGUkUeDE9NUagU89dT92O6QklEN0uWpXdWXx6PbmGp8zCSn0+z5ShrMLUQyS9Agh7FJOv54sJYu0rAISCI0mt7ZHMcHxv8ohOku1q7qyeEw7c+fmc9dS6TsrUmZuFqKIJOkRQtilvMPW79nEZdGvp3ybuHLUqqImPnWzh7NfvJlGv+8jiUlIsUo8QlREkvQIIeySxbD1e3Vmrtka3P3V/dMbICO5DCO7uxpeLiwa3c48c/PlxHT6fRfJqSvWiUeIikaSHiGEXSrU+ls5tNrcJi5jBpxcW4aRFay6pzO/jG5nXqvrSnIG/b/fwfE4SXyEuBdJeoQQdqlISQ9Yzs5spSauHL7uTvwyqh1NA9TaqoRbBvp/H8nhi4W4DyHsmCQ9Qgi7VKhFR/MK6gjO3ur+iTWQZd2JAqu46fl5ZDvCAtWYbqRmMnD2Dg6cv2nVuISwZZL0CCHsUpFrenSO0KC7um9IhpjNZRRZ4Xm5OvLf59rSuk4VAJLSs3h2zk72nrtu5ciEsE2S9Agh7JLFSusFLTqaV+PyXYC0MDycHflxRFvCg30ASM7IYvAPu9h55pqVIxPC9kjSI4SwS3lHbyVlFDLpqfcwOKiTBHJ8FZiMZRBZ0bk5OTB/eFs6hvgCkGowMnTeLjYev2LlyISwLZL0CCHsUpGbtwD0rhDysLqfchXO7yqDyIrHRa9jztD7eLBhNQDSM02MXLCHFQcuWTkyIWyHJD1CCLtUpHl68mps/YkK78bZUcd3g1vTI1SdUyjLpPDSov38FHnWuoEJYSMk6RFC2CUXBxcctY5AEWp6ABp0A62Duh+9Agpat8sKnBx0fD2gFQPaBgJqeO8uP8JX604WvMaYEHZAkh4hhF3SaDSFX2k9L5cq6vB1gJuxEHeoDKIrGZ1Ww9QnQvnXg/XMx75Yd4L3/ziKySSJj7BfkvQIIexWzlw9hR69lcOGJiq8G41Gw+vdG/F2j8bmY/O3n+WV/x0g02iyYmRCWI8kPUIIu5VT05OWlYbBaCj8iY165u5H22bSk2PUA3X55OnmaDXq42X7LzLmp72kGWxj5JkQ5UmSHiGE3cq70nqRans8A6Dmfer+lSNw/UwpR1a6+t4XyMxnW6N3UP/k/3PsCkPm7iQxLdPKkQlRviTpEULYLYulKIrSrwdum6jQtmt7ALo19Wf+8Da4O6mdsHefvUH/73dwJTndypEJUX4k6RFC2K28NT1FTnoa2e7Q9bvpUM+XX0a1w8dND0D05SSemRXJ+eupVo5MiPIhSY8Qwm6VqKbHNwSqZXcSPr8LkuNLMbKyE1rLi/+NbU9Nb3Vm6XPXUnlq5naOxRWxM7cQFZAkPUIIu2UxK3NRJijMYW7iUuD4ytIJqhzUq+bO/8a2J6S6OwBXkjN4ZmYkW08mWDkyIcqWJD1CCLtVrKUo8mpkewuQFlaAtwtLxrQnLNAbUBcqHTZvF0v2nLduYEKUIUl6hBB2K2/zVpHn6gGoEQZetdX9mM2QdrN0AisnPm56fhkVTkRjP0BdtuL1pQf5fM1xmb1ZVEqS9Agh7FaJa3o0mtw5e0xZcHJNKUVWflz1Dnw3uDXDOgSZj339zykmLI4iI0vm8hGViyQ9Qgi7ZTFPT0YxO/I2rrhNXDl0Wg3/frwp7z3WBE32JIa/R11iyA+7SEyVuXxE5SFJjxDCbhV7pfW8arcH16rq/ql1kJlWCpFZx4iOwcx6tjXOjupHw86Y6zwxcxux12RIu6gcJOkRQtgtD70HGtSqjWI1bwFoddDwUXU/MxVObyil6KyjW1N/Fo9uj6+7OpfPmaspPPHtNvbH3rByZEKUnCQ9Qgi7pdVozU1cxU56ABo/nrt/6H8ljMr6wgK9Wfav+81D2q+lGOj//Q7+Phxn5ciEKBlJeoQQdi1nBFexm7cA6nYBV191/9ifkFLx57sJ9HHl17EdaFfXB4CMLBPPL9zLnC1nZGSXqLAk6RFC2LWcEVy3DLcwmoo5WslBDy0GqvtGAxz4pZSisy4vV0d+HBHOky1rAqAo8J+V0fx7xRGyjCYrRydE0UnSI4SwaznNWwoKtzJvFf9CrYbm7u+dr2YIlYDeQcvnfcN46eH65mMLIs8xbN5ubqQYrBiZEEUnSY8Qwq6VaP2tvHxDIKiTun/tFJzbVsLIbIdGo2HCIw347JkwHHVqx++tpxJ4fMZWoi/Lml2i4pCkRwhh1yyGrZck6QFoPSx3f++Ckl3LBj3duhY/j2qHr7sTAOevp/Hkt9tZdeiylSMTonAk6RFC2LUSLzqaV6PHwEXt+MvR5ZB6vWTXs0Ftgnz448X7aV5L/b6lZRr518J9fLr6GEZT5WjSE5WXJD1CCLtW4qUo8nJ0ztOhOQMOLCrZ9WxUDS91sdKcDs4AMzacZtSPe0hMkxmche2SpEcIYddKNekBaDUkd78SdWi+nbOjjs/7hvHeY03QadV+Pv8cu8ITM7Zx6kqylaMTIn+S9Agh7FqJV1q/XbWGULuDup9wHGJ3lPyaNkqj0TCiYzA/jmiLt6sjAGcSUugzYzvrjsZbOToh7iRJjxDCrpV6TQ9YdmjeV/k6NN/u/hBf/hjXkUb+HgDcyshi5I97+L/1JzFJPx9hQyTpEULYNYuV1kujpgegyePg7K3uH1kGaZV/3apAH1d++1cHejavYT42fe0J/rVwH7cysqwYmRC5JOkRQti1Uh2ynsPRBcIGqPtZ6XBwSelc18a56h34ZkBLXu/eEI3azYe/j8TR+5utHIuT+XyE9UnSI4Swa6U2OeHtWlfOGZrvRaPR8K8HQ5g7tA0ezg4AnL6aQu9vtvHLrlhZt0tYlSQ9Qgi75qhzxNXBFSiFeXryqt4YAsPV/StH4cLu0rt2BdClUXVWjOtI4xpqTVpGlolJvx1i/KIoktNlWLuwDkl6hBB2L6czc6nW9MBtMzTPL91rVwDBvm4s+1cHBrerYz72x4FL9Pp6K4cvlvL3WohCkKRHCGH3cpKeJENS6Ta/NOkDOaPDDv8G6fb3Qe/sqOODPs2YMbAVHk5qc9fZa6k8+e12fow8K81dolxJ0iOEsHs5/XqyTFmkZaWV3oX1rhDWT93PSrObDs356dm8BivHdzIvX2Ewmnhv+RH+tXCfzOIsyo0kPUIIu5d32HqpN3G1ss8OzfmpXdWV/41tz4j7g83H/jocR8//20LU+ZvWC0zYDUl6hBB2z2LYeml2ZgbwbwY171P34w/DxX2le/0KxslBx3u9mvD94NZ4Zo/uunAjjWdmbWfOljPS3CXKlE0lPTNmzCAoKAhnZ2fCw8PZtWvXXcvOnj2bTp06UaVKFapUqUJERESB5YUQ4m7KZFbmvCw6NM8r/etXQF2b+rPqpU60rO0NQKZR4T8roxn14x6u3cqwbnCi0rKZpGfx4sVMnDiRyZMns2/fPsLCwujWrRtXrlzJt/zGjRsZMGAAGzZsIDIyksDAQLp27crFixfLOXIhREVX5klPsydBry7RoHZolon6AGpVcWXJmPaM6VzXfGxd9BW6fbmZNUfirBiZqKxsJumZPn06o0aNYvjw4TRp0oRZs2bh6urK3Llz8y2/cOFC/vWvf9GiRQsaNWrEnDlzMJlMrF+/vpwjF0JUdBYTFJZ28xaA3g2a91X3M1Pg8NLSf40KylGnZdKjjZk3rA1VshctTbhlYPRPe5m4JEo6OYtSZRNJj8FgYO/evURERJiPabVaIiIiiIyMLNQ1UlNTyczMxMfHJ9/nMzIySEpKstiEEAIsa3qSMsrob8PtMzQLC10aVWf1hAeIaFzdfOy3fRfp/uVmtpy8asXIRGViE0lPQkICRqMRPz8/i+N+fn7ExRWuivONN94gICDAInHKa9q0aXh5eZm3wMDAEscthKgcLJq3yqKmB6BGGAS0VPcvH4BL+8vmdSqw6h7OzB5yH58+3dw8p8/lxHQG/7CLd38/TKpBFi4VJWMTSU9JffTRRyxatIhly5bh7Oycb5lJkyaRmJho3s6fP1/OUQohbFXe0VtlVtMDdj9Dc2FoNBqeuS+Qvyc8QId6Vc3Hf9pxjke/2sKes9etGJ2o6Gwi6fH19UWn0xEfH29xPD4+Hn9//wLP/eyzz/joo49Ys2YNzZs3v2s5JycnPD09LTYhhIBy6Mico9lToHdX9w8thYxbZfdaFVxNbxf++1w47z/eFGdH9aPq3LVUnvkukmmroknPNFo5QlER2UTSo9frad26tUUn5JxOye3bt7/reZ988gkffPABf//9N/fdd195hCqEqITKdJ6evJw8IPRpdd9wCw7/WnavVQlotRqGdgjir5ceoFX20HZFge82n+Hxb2T9LlF0NpH0AEycOJHZs2ezYMECoqOjef7550lJSWH48OEADBkyhEmTJpnLf/zxx7z77rvMnTuXoKAg4uLiiIuL49Yt+c9JCFE0Lg4uOGrVkUNlWtMDd87QLO4p2NeN/43twBvdG6HXqR9bJ+Jv0WfGNqavPSG1PqLQbCbp6devH5999hnvvfceLVq0ICoqir///tvcuTk2NpbLly+by8+cORODwcDTTz9NjRo1zNtnn31mrVsQQlRQGo2m7FZav11AS/DPboq/tA/ObCrb16skdFoNzz9YjxUv3k+TGmrNXJZJ4f/Wn+TRr7aw7VSClSMUFYFGsdM5v5OSkvDy8iIxMVH69wgh6PN7H04nnsbFwYVdg8p4dvcDi2DZGHW/RgsYtQG0NvM/qM0zZJn45p+TfLvxNFmm3I+wPi0CeLtnE6p5OFkxOlHWSvL5Lb9lQghBbmfmtKw0DEZD2b5Y6DPg10zdvxwFR34r29erZPQOWiZ2bcif4zvSuk4V8/Hfoy7x8OcbWbjzHCaTXf4/L+5Bkh4hhMBypfUkQxlPXqrVwSPv5z5ePwWyZL2pomrk78n/xrRn2pOheLmofbKS0rN4e9lhnpq1nejLMgmtsCRJjxBCcNsIrrLu1wNQ72EI7qzu3zwHe/JfckcUTKvVMKBtbda/0pknW9Y0H98fe5PHvt7K1FXRMqmhMJOkRwghKMe5enJoNJa1PZs+gXQZgl1cvu5OTO/Xgp9HhVPX1w0Ao0nh+81neGT6ZtYejb/HFYQ9kKRHCCG4bdHR8kh6QB3JFfqMup92HbZ+WT6vW4l1qOfLXy93YkJEA/QO6kfcxZtpjPpxD6N/3MP566lWjlBYkyQ9QghBOa2/lZ+H3gGdXt3fMROSLpXfa1dSTg46Xoqoz+qXH6BjiK/5+Jqj8Tz8+SamrYqW1dvtlCQ9QghBOa20np8qQdBmpLqflQYbppbfa1dywb5u/PRcW77q3wJfd3UYu8Fo4rvNZ3jw0w38GHmWTKPJylGK8iRJjxBCcFvzVnnW9AA88BrkJF1RC+FKdPm+fiWm0Wjo3aIm/7zambGd65mbvG6kZvLe8iN0+3Iz66PjsdMp6+yOJD1CCIEVOjLn5eoDHV9W9xUTrPt3+b6+HfB0duTNRxuxfmJneoUFmI+fuZrCcwv2MGjOTo5cko7klZ0kPUIIgeWQ9XJt3srR7nnwyP4wPvE3nN1W/jHYgUAfV74e0JJl/+pgMbHh9tPXeOzrrbz6vwPEJaZbMUJRliTpEUIILCcnLPfmLQBHF3jo7dzHa99VlxQXZaJl7SosHduebwe1oraPK6B+u5fuvUCXzzbyxdoTMr9PJSRJjxBCAB56DzRoACs0b+UIGwDVm6j7F/fC0d+tE4ed0Gg09AitwdqJD/B2j8Z4OjsAkJZp5Kv1J3ngk43M2XJGVnGvRCTpEUIIQKvRmmt7rJb0aHUQcdvyFEYZWl3WnBx0jHqgLpte68KwDkE4aNXkN+FWBv9ZGU2nTzbww9YYSX4qAUl6hBAiW84IrjJfe6sg9R+BoE7q/vUzsHe+9WKxM1Xc9Pz78aasmfAAPUNrmI9fTc7ggz+P8sAnG5i3TZKfikySHiGEyJYzgivZkIzRZKUPttuXp9j4EaTLwpnlqW41d2YMasXfL3fi0Wb+5uNXkjN4/w81+ZkvyU+FJEmPEEJky2neUlC4lXnLeoHUbA1Nn1T3UxNg+9fWi8WONfL3ZOazrfnrpU50b2qZ/Pz7j6N0/nQDC7afleSnApGkRwghspX7SusFefhd0Dqq+5HfQHKcdeOxY41reDJrcGtWju9It6Z+5uPxSRlMXnGEBz/dyI+RkvxUBJL0CCFENqssOno3PnXhvhHqfmYqbJxm3XgETQO8+G7wffz5YkceaZKb/MQlpfPe8iN0/Pgfvlp3kmu3MqwYpSiIJD1CCJHNaouO3k3n10Hvoe7v+wmunrBuPAKAZjW9mD1ETX4iGucmPwm3DHyx7gQdPvqHt5Yd4vRVKzaRinxJ0iOEENmsuhRFftx8oeNL6r5ihBXjIMtg3ZiEWbOaXswZeh9/jOvIY81roMse6p6RZeLnnbE8/PkmRi7YzY4z12RtLxshSY8QQmSzWGndmsPW82r3AngFqvvnd8Lqt6wbj7hDaC0vvhnYio2vPshzHYNx0+vMz62LvkL/73fw+DfbWB51UVZ1tzJJeoQQIptN9enJoXeFvgtA56Q+3j0bon62bkwiX4E+rrz7WBMi33qYt3o0ooaXs/m5QxcTeWlRFJ0/2cDszWdITpdJJ61Bkh4hhMhmc81bOWq2hp6f5z7+42W4tN9q4YiCeTo7MvqBemx+vQtf9W9Bs5q5owIvJabz4apowqeuZ9JvBzl0wYZ+zuyAJD1CCJHNYqV1W2neytFqcO5oLmMGLHoWUhKsG5MokKNOS+8WNfljXEd+GdWOhxtVNz+XajDyy67z9PpmK499vYWFO89xK0MWOC1rkvQIIUQ2i5XWbammJ0f3jyEwXN1PugBLh4NRPihtnUajoX29qvwwrA3rJnZmUHht3J0czM8fvpjE28sO0/bDdUz67SAHL9yUjs9lRJIeIYTIZpN9evJy0MMzC8A9e5h0zGZYN9m6MYkiCanuzodPhLLzrYf5+KlQwmrl/szl1P48/s02Hvt6K//dcU76/pQyjWKn6WRSUhJeXl4kJibi6el57xOEEHYhfGE4qVmpBHsFs6LPCmuHk7/YHTC/J5iya3me+gFCn7ZuTKLYDl9MZNHuWH7ff+mOJi5XvY7HwwJ4unUtWtWugjZ7WLw9K8nntyQ9kvQIIfLourQrl1MuU9W5Khv7bbR2OHe3azaselXdd3SF59aCfzPrxiRKJCUjiz8PXuLnXec5cP7mHc/X9Hahd4sA+rSsSQM/j/IP0EZI0lMMkvQIIfLzzB/PcOz6MRy0Dux7dh8ajY3+Z60osHwcRP1XfVwlCEZtAFcfq4YlSseRS4n8siv/2h+ARv4e9GlZk8fDAgjwdrFChNYjSU8xSNIjhMjPyNUj2Rm3E4CdA3fi6uhq5YgKkJkO87rnDl8PiYCBS0CrK/g8UWGkZGSx+kgcy6MusfVUAkbTnR/ZbYN96NOiJj1C/fF21VshyvIlSU8xSNIjhMjPxI0TWXtuLQBrnlpDDfcaVo7oHm6eh+87Q+o19XGnV9UV2kWlczU5g1WHLvN71EX2x96843lHnYbODarzeIsAujSshoezY/kHWQ5K8vntcO8iQghhP/LO1ZNoSKQGNp70eAfCM/Phxz7q+lxbPoOAltD4MWtHJkpZNQ8nhnYIYmiHIGKvpbI86iK/R13k9NUUADKNCuui41kXHY9ep6VDSFUeaeLHI439qO7pfI+r2wdJeoQQIg+bnZW5IMEPQNcPctflWjYWfNdDtYbWjUuUmdpVXXnx4fqMeyiEI5eSWB51kRUHLhGflAGAwWhi4/GrbDx+lbeXHaZlbW+6NvGna1M/6lVzt3L01iNJjxBC5FEhkx6Adv9S+/Yc+h8YkmHRQBiyHLxqWTsyUYY0Gg3NanrRrKYXbz7amF0x11l9JI41R+K4lJhuLrc/9ib7Y2/y8d/HqFfNja5N/enaxI+wWt52NQxekh4hhMgj7wSFNrcURUE0Guj1f3AlGuIPw7VT8H0X6L8QAttaOzpRDnRadebn9vWqMrlXE45cSmLNkTjWHI3nWFyyudzpqynM3HiamRtPU93DiS4Nq9OpgS/31/Olilvl7ggtSY8QQuRRYWt6QF2Rvf/P8GNvuBEDKVfUSQx7fQUtBlo7OlGO8tYATezakNhrqaw5qiZAe85eJ2cQ2JXkDBbvOc/iPefRaKB5LW8eqO9Lp/rVaFnbG0dd5Vq4QZIeIYTIwyLpMVSwpAegSh0Y9Q8sGQJnt4DRAL8/D1eOQsT7MpzdTtWu6srITnUZ2aku125lsP7YFdYciWfLyatkZJkAdeqnA+dvcuD8Tb7+5xTuTg60r1eVB+r78kCDatSp6mbluyg5SXqEECIPi5XWMypQ81Zerj4weBn8/SbsnqMe2/41XD2uLlnhLNN02LOq7k70vS+QvvcFkp5pZPfZ62w5mcDmE1ctmsFuZWSx9mg8a4/GA1Dbx5WO9X0JD/YhPLgq/l4Vb0SYzNMj8/QIIfKIS4njkaWPABBRO4Ivunxh5YhKaNds+OsNdTg7QLVGMOAX8Klr3biETYpPSmfLyQS2nLzK1pMJXEsx3LVsoI8LbYOqEh7sQ5tgH4KqupbLDOYyOWExSNIjhMhPamYq4T+HA9DGvw1zu821ckSl4Mwmtbkr/ab62KUK9P1RHeouxF2YTApHLyex+eRVNp+4yt5zN8g03j1lqObhRNtgHzUJCvKhoZ9HmYwMk6SnGCTpEULkR1EUWv+3NZmmTBpUacCvj/9q7ZBKx7XT8MsASDiuPtY6wKMfQ5uR1o1LVBgpGVnsi73Brpjr7Iy5TtT5mxiy+wPlx8vFkfvqVGFi1wY0DfC6a7mikhmZhRCilGg0GrycvEhIS6hYQ9bvpWo9GLkWfh0JJ9eAKQtWvqIOce/+Eegq55IFovS4OTnQqX41OtWvBkBGlpGDFxLNSdC+czcsFkdNTMtk/bErvN69kbVCvoMkPUIIcRsvvZr0VLgh6/fi7AUDFsG6yWrHZlA7Ol89ri5l4eZr1fBExeLkoKNNkNqU9UIXyDKaiL6czM6Ya+w+e51dMddRgPrVbWcGaEl6hBDiNjnD1tOy0jAYDeh1lWjCNq0Ouv4HqjeBP15Sh7Sf3QJftYAO46D9C+DkYe0oRQXkoNMSWsuL0FpejOxUF5NJIT453aZmfK5csw4JIUQpsBi2XpmauPJqMRCG/glualMFhmTYOA2+CoPIGZCZXvD5QtyDVquhhpeLtcOwIEmPEELcxtMpz0rrla2JK6/a4TB2K7QeDprsSQtTr6kLl37dCvYuAGNWwdcQogKRpEcIIW5ToZeiKCoPf+j1JYzbDaHPANlNEUkX4Y/x8G04HP4NTHcfpSNERSFJjxBC3CbvoqOVPunJUbUePDVHrflp0D33+LVTsHQ4fN8ZTq5V1yoQooKSpEcIIW6Tt6an0vbpuRv/ZjBwMYxYDXXuzz0edxAWPg3zekDMZqn5ERWSJD1CCHEbu2reupva7WDYSnj2V6gRlns8djss6AVfNFWXtzi3XRIgUWHIkHUhhLiNRfNWRVxpvbRoNBASAXUfgujl8M+HcO2k+lzyJdg5S93c/aFxL2jSG+p0kJXchc2SpEcIIW5jN6O3CkurhaZPQKNecOQ3OLQUTv8Dpkz1+VtxsHu2urlVy5MAdQSdfMwI2yE/jUIIcZu8NT1JGXbWp6cgOgdo3lfd0m7Cib/h6HI4tR6MGWqZlKuwZ666uVaFRo+pC5sGtIQqwWoCJYSVSNIjhBC3sajpsefmrYK4eENYf3VLT1LX8zqyDE6tg6zsiQ1Tr8G+BeoG4OQFAWFqAhTQEgJagXdttRlNiHIgSY8QQtzGQ++BBg0KijRvFYazJ4Q+rW4Zt9QE6Ohy9Wtmam65jER15FfM5txjLj55kqCW6ugxz1rSLCbKhPxUCSHEbbQaLZ5OniRmJErSU1RO7tDsSXUzpMC5SLi0P3dLvmRZPu06nF6vbjk0OvCqCd511Jqg2zePAEmKRLHY1E/NjBkz+PTTT4mLiyMsLIyvv/6atm3b3rX8//73P959913Onj1L/fr1+fjjj+nRo0c5RiyEqKy89F4kZiRyLf0ay04uo3HVxtTzqoejztHaoVUcejeoH6FuOZIuw+Wo3CTo4j5ITbA8TzHCzVh1y49GB5411QTIvTq4+qg1Rq5V1f3bH+vdpQlNADaU9CxevJiJEycya9YswsPD+fLLL+nWrRvHjx+nevXqd5Tfvn07AwYMYNq0aTz22GP8/PPP9OnTh3379tGsWTMr3IEQojLxdvYmNjmWtKw03tv+HgCOWkdCvENoXLUxjX0a08inEQ2qNMDV0dXK0VYgnjXUreGj6mNFUZe8yEmArp3MTXjSbuR/DcUIibHqVhg6vZoEuVRREzG9m5oImffzPnbN3XdwAQc96JzUrw7O6rUcnHKP6ZzUx5JUVQgaRbGNOcXDw8Np06YN33zzDQAmk4nAwEBefPFF3nzzzTvK9+vXj5SUFP7880/zsXbt2tGiRQtmzZp1z9dLSkrCy8uLxMREPD0971leCGFffj/1O+9Hvk+WqeAFN7UaLUGeQTSu2pg6nnXQaXLnqNGQ+0GoyedDMe/zIh9ZGZB+Ux0plt/XvP2FrE3joI5M0+TddLn72tsea7TZiZIWtBpAoz7WaLP3c57X5P81Zx9ue57bjuc81mQfzvMzd3t5i2MU8JzmjqfI92dZPdb3wal4eNXK77tWLCX5/LaJmh6DwcDevXuZNGmS+ZhWqyUiIoLIyMh8z4mMjGTixIkWx7p168bvv/+eb/mMjAwyMjLMj5OSZBiqEOLu+oT0oUtgF45fP0709Wh1uxbN2aSzmJTcGYhNiokziWc4k3jGitHaGUfA0QlwsnYkhWTK3u6xYr2SvVUyj6bElWrSUxI2kfQkJCRgNBrx8/OzOO7n58exY8fyPScuLi7f8nFxcfmWnzZtGu+//37pBCyEsAteTl60rdGWtjVy+xamZqZy4sYJjl0/Zk6ETt48ec8aISGE9dlE0lMeJk2aZFEzlJSURGBgoBUjEkJURK6OrrSo3oIW1VuYj2UaMzmdeJr4lHjzMSX7X/a8PQgU8t8XdkYhe7V6U/a6ZYraT0kxqccVJXs/z0b2cZTs802Yq4ZyykOer7dVG+U913wt8pTJe+y2c+4InjvL5r3UbQ+qVKlX4LejPNlE0uPr64tOpyM+Pt7ieHx8PP7+/vme4+/vX6TyTk5OODlVlKpQIURF4qhzpJFPIxr5NLJ2KEKIAtjEfOB6vZ7WrVuzfn3uPA0mk4n169fTvn37fM9p3769RXmAtWvX3rW8EEIIIeybTdT0AEycOJGhQ4dy33330bZtW7788ktSUlIYPnw4AEOGDKFmzZpMmzYNgJdeeonOnTvz+eef07NnTxYtWsSePXv4/vvvrXkbQgghhLBRNpP09OvXj6tXr/Lee+8RFxdHixYt+Pvvv82dlWNjY9HmWaiuQ4cO/Pzzz7zzzju89dZb1K9fn99//13m6BFCCCFEvmxmnp7yJvP0CCGEEBVPST6/baJPjxBCCCFEWZOkRwghhBB2QZIeIYQQQtgFSXqEEEIIYRck6RFCCCGEXZCkRwghhBB2QZIeIYQQQtgFSXqEEEIIYRck6RFCCCGEXbCZZSjKW85E1ElJSVaORAghhBCFlfO5XZwFJew26UlOTgYgMDDQypEIIYQQoqiSk5Px8vIq0jl2u/aWyWTi0qVLeHh4oNFoSvXaSUlJBAYGcv78+Uq9rpc93Kc93CPIfVY2cp+Vhz3cIxTtPhVFITk5mYCAAIuFyAvDbmt6tFottWrVKtPX8PT0rNQ/pDns4T7t4R5B7rOykfusPOzhHqHw91nUGp4c0pFZCCGEEHZBkh4hhBBC2AVJesqAk5MTkydPxsnJydqhlCl7uE97uEeQ+6xs5D4rD3u4Ryi/+7TbjsxCCCGEsC9S0yOEEEIIuyBJjxBCCCHsgiQ9QgghhLALkvQIIYQQwi5I0lMMH374IR06dMDV1RVvb+9CnaMoCu+99x41atTAxcWFiIgITp48aVHm+vXrDBo0CE9PT7y9vXnuuee4detWGdxB4RQ1nrNnz6LRaPLd/ve//5nL5ff8okWLyuOW8lWc7/uDDz54xz2MHTvWokxsbCw9e/bE1dWV6tWr89prr5GVlVWWt1Kgot7n9evXefHFF2nYsCEuLi7Url2b8ePHk5iYaFHO2u/njBkzCAoKwtnZmfDwcHbt2lVg+f/97380atQIZ2dnQkNDWbVqlcXzhfldLW9FucfZs2fTqVMnqlSpQpUqVYiIiLij/LBhw+54z7p3717Wt3FPRbnP+fPn33EPzs7OFmVs8b2Eot1nfn9rNBoNPXv2NJextfdz8+bN9OrVi4CAADQaDb///vs9z9m4cSOtWrXCycmJkJAQ5s+ff0eZov6u50sRRfbee+8p06dPVyZOnKh4eXkV6pyPPvpI8fLyUn7//XflwIEDyuOPP64EBwcraWlp5jLdu3dXwsLClB07dihbtmxRQkJClAEDBpTRXdxbUePJyspSLl++bLG9//77iru7u5KcnGwuByjz5s2zKJf3+1DeivN979y5szJq1CiLe0hMTDQ/n5WVpTRr1kyJiIhQ9u/fr6xatUrx9fVVJk2aVNa3c1dFvc9Dhw4pTz75pLJixQrl1KlTyvr165X69esrTz31lEU5a76fixYtUvR6vTJ37lzlyJEjyqhRoxRvb28lPj4+3/Lbtm1TdDqd8sknnyhHjx5V3nnnHcXR0VE5dOiQuUxhflfLU1HvceDAgcqMGTOU/fv3K9HR0cqwYcMULy8v5cKFC+YyQ4cOVbp3727xnl2/fr28bilfRb3PefPmKZ6enhb3EBcXZ1HG1t5LRSn6fV67ds3iHg8fPqzodDpl3rx55jK29n6uWrVKefvtt5XffvtNAZRly5YVWP7MmTOKq6urMnHiROXo0aPK119/reh0OuXvv/82lynq9+1uJOkpgXnz5hUq6TGZTIq/v7/y6aefmo/dvHlTcXJyUn755RdFURTl6NGjCqDs3r3bXOavv/5SNBqNcvHixVKP/V5KK54WLVooI0aMsDhWmF+C8lLc++zcubPy0ksv3fX5VatWKVqt1uKP8MyZMxVPT08lIyOjVGIvitJ6P5csWaLo9XolMzPTfMya72fbtm2VF154wfzYaDQqAQEByrRp0/It37dvX6Vnz54Wx8LDw5UxY8YoilK439XyVtR7vF1WVpbi4eGhLFiwwHxs6NChSu/evUs71BIp6n3e6++vLb6XilLy9/OLL75QPDw8lFu3bpmP2eL7maMwfx9ef/11pWnTphbH+vXrp3Tr1s38uKTftxzSvFUOYmJiiIuLIyIiwnzMy8uL8PBwIiMjAYiMjMTb25v77rvPXCYiIgKtVsvOnTvLPebSiGfv3r1ERUXx3HPP3fHcCy+8gK+vL23btmXu3LkoVpouqiT3uXDhQnx9fWnWrBmTJk0iNTXV4rqhoaH4+fmZj3Xr1o2kpCSOHDlS+jdyD6X185WYmIinpycODpbL9lnj/TQYDOzdu9fi90qr1RIREWH+vbpdZGSkRXlQ35ec8oX5XS1PxbnH26WmppKZmYmPj4/F8Y0bN1K9enUaNmzI888/z7Vr10o19qIo7n3eunWLOnXqEBgYSO/evS1+t2ztvYTSeT9/+OEH+vfvj5ubm8VxW3o/i+pev5el8X3LYbcLjpanuLg4AIsPwJzHOc/FxcVRvXp1i+cdHBzw8fExlylPpRHPDz/8QOPGjenQoYPF8SlTpvDQQw/h6urKmjVr+Ne//sWtW7cYP358qcVfWMW9z4EDB1KnTh0CAgI4ePAgb7zxBsePH+e3334zXze/9zvnufJWGu9nQkICH3zwAaNHj7Y4bq33MyEhAaPRmO/3+dixY/mec7f3Je/vYc6xu5UpT8W5x9u98cYbBAQEWHxgdO/enSeffJLg4GBOnz7NW2+9xaOPPkpkZCQ6na5U76EwinOfDRs2ZO7cuTRv3pzExEQ+++wzOnTowJEjR6hVq5bNvZdQ8vdz165dHD58mB9++MHiuK29n0V1t9/LpKQk0tLSuHHjRol/D3JI0pPtzTff5OOPPy6wTHR0NI0aNSqniMpGYe+zpNLS0vj55595991373gu77GWLVuSkpLCp59+WqofkmV9n3k/+ENDQ6lRowYPP/wwp0+fpl69esW+blGV1/uZlJREz549adKkCf/+978tniuP91MUz0cffcSiRYvYuHGjRSff/v37m/dDQ0Np3rw59erVY+PGjTz88MPWCLXI2rdvT/v27c2PO3ToQOPGjfnuu+/44IMPrBhZ2fnhhx8IDQ2lbdu2Fscrw/tZXiTpyfbKK68wbNiwAsvUrVu3WNf29/cHID4+nho1apiPx8fH06JFC3OZK1euWJyXlZXF9evXzeeXhsLeZ0njWbp0KampqQwZMuSeZcPDw/nggw/IyMgotXVXyus+c4SHhwNw6tQp6tWrh7+//x0jC+Lj4wEq3PuZnJxM9+7d8fDwYNmyZTg6OhZYvizez/z4+vqi0+nM39cc8fHxd70nf3//AssX5ne1PBXnHnN89tlnfPTRR6xbt47mzZsXWLZu3br4+vpy6tQpq3xIluQ+czg6OtKyZUtOnToF2N57CSW7z5SUFBYtWsSUKVPu+TrWfj+L6m6/l56enri4uKDT6Ur882FWpB5AwkJROzJ/9tln5mOJiYn5dmTes2ePuczq1aut3pG5uPF07tz5jlE+d/Of//xHqVKlSrFjLYnS+r5v3bpVAZQDBw4oipLbkTnvyILvvvtO8fT0VNLT00vvBgqpuPeZmJiotGvXTuncubOSkpJSqNcqz/ezbdu2yrhx48yPjUajUrNmzQI7Mj/22GMWx9q3b39HR+aCflfLW1HvUVEU5eOPP1Y8PT2VyMjIQr3G+fPnFY1GoyxfvrzE8RZXce4zr6ysLKVhw4bKhAkTFEWxzfdSUYp/n/PmzVOcnJyUhISEe76GLbyfOShkR+ZmzZpZHBswYMAdHZlL8vNhjqdIpYWiKIpy7tw5Zf/+/ebh2Pv371f2799vMSy7YcOGym+//WZ+/NFHHyne3t7K8uXLlYMHDyq9e/fOd8h6y5YtlZ07dypbt25V6tevb/Uh6wXFc+HCBaVhw4bKzp07Lc47efKkotFolL/++uuOa65YsUKZPXu2cujQIeXkyZPKt99+q7i6uirvvfdemd/P3RT1Pk+dOqVMmTJF2bNnjxITE6MsX75cqVu3rvLAAw+Yz8kZst61a1clKipK+fvvv5Vq1apZfch6Ue4zMTFRCQ8PV0JDQ5VTp05ZDIfNyspSFMX67+eiRYsUJycnZf78+crRo0eV0aNHK97e3uZRc4MHD1befPNNc/lt27YpDg4OymeffaZER0crkydPznfI+r1+V8tTUe/xo48+UvR6vbJ06VKL9yzn71NycrLy6quvKpGRkUpMTIyybt06pVWrVkr9+vWtkpDnKOp9vv/++8rq1auV06dPK3v37lX69++vODs7K0eOHDGXsbX3UlGKfp85OnbsqPTr1++O47b4fiYnJ5s/FwFl+vTpyv79+5Vz584piqIob775pjJ48GBz+Zwh66+99poSHR2tzJgxI98h6wV93wpLkp5iGDp0qALcsW3YsMFchuy5S3KYTCbl3XffVfz8/BQnJyfl4YcfVo4fP25x3WvXrikDBgxQ3N3dFU9PT2X48OEWiVR5u1c8MTExd9y3oijKpEmTlMDAQMVoNN5xzb/++ktp0aKF4u7urri5uSlhYWHKrFmz8i1bXop6n7GxscoDDzyg+Pj4KE5OTkpISIjy2muvWczToyiKcvbsWeXRRx9VXFxcFF9fX+WVV16xGOpd3op6nxs2bMj35xxQYmJiFEWxjffz66+/VmrXrq3o9Xqlbdu2yo4dO8zPde7cWRk6dKhF+SVLligNGjRQ9Hq90rRpU2XlypUWzxfmd7W8FeUe69Spk+97NnnyZEVRFCU1NVXp2rWrUq1aNcXR0VGpU6eOMmrUqCJ/eJSFotznyy+/bC7r5+en9OjRQ9m3b5/F9WzxvVSUov/MHjt2TAGUNWvW3HEtW3w/7/a3I+e+hg4dqnTu3PmOc1q0aKHo9Xqlbt26Fp+fOQr6vhWWRlGsNFZYCCGEEKIcyTw9QgghhLALkvQIIYQQwi5I0iOEEEIIuyBJjxBCCCHsgiQ9QgghhLALkvQIIYQQwi5I0iOEEEIIuyBJjxBCCCHsgiQ9QgghhLALkvQIIYQQwi5I0iOEEEIIuyBJjxCi0pkzZw7NmzfHxcUFLy8vHnroIWuHJISwAQ7WDkAIIUrTb7/9xuuvv853331HeHg4ycnJnD171tphCSFsgCQ9QohK5fjx49SpU4dHHnkEb29vAJo2bWrdoIQQNkGat4QQlcqoUaNQFAUfHx/c3d2JiYmxdkhCCBuhURRFsXYQQghRGjIzM3n00Udp0KABzz33HF5eXtSrVw+NRmPt0IQQNkCat4QQlcayZcs4deoU69ats3YoQggbJM1bQohKw2AwcPnyZX766SfOnj3L4cOH+e6778jKyrJ2aEIIGyDNW0KISiMrK4s33niDJUuWEB8fj4+PDw8//DALFy60dmhCCBsgSY8QQggh7II0bwkhhBDCLkjSI4QQQgi7IEmPEEIIIeyCJD1CCCGEsAuS9AghhBDCLkjSI4QQQgi7IEmPEEIIIeyCJD1CCCGEsAuS9AghhBDCLkjSI4QQQgi7IEmPEEIIIezC/wP73xNdezKHRgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Consider various temperatures\n", "for beta in [3, 10, 100]:\n", " \n", " # Construct Gf\n", " iw_mesh = MeshImFreq(beta=beta, statistic='Fermion', n_iw=1000)\n", " G = Gf(mesh=iw_mesh, target_shape=[])\n", " \n", " # Initialize and plot for different epsilon\n", " import numpy\n", " eps_r = numpy.arange(-1,1,0.05)\n", " n_r = []\n", " for eps in eps_r:\n", " G << inverse(iOmega_n - eps)\n", " n_r.append(G.density().real)\n", " plt.plot(eps_r, n_r, lw=2, label=rf'$\\beta = {beta}')\n", " \n", "plt.xlabel(r'$\\epsilon$')\n", "plt.ylabel(r'$n(\\epsilon)$')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 3\n", "\n", "Define a block Green's function with an *up* and a *down* block. Each block is just a simple 1x1 imaginary-frequency Green's function. Iterate over the blocks to initialize the two blocks to $1/i \\omega_n$. What happens if you change $\\beta$?" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Im G[$\\\\beta$]')" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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tap3O4u1Z6n0krAU2g10PlBVArlJENa93utvHRrD94fT+So+jYXX9ZKKw6JZVRmr2Je5j60pW9mavJWU4otDwIoCvuUBjCw18KeycwyqLLN2Px81dcJjwC30uPouaBfrmsYL4UT1bt5cmsX8LfN5ddyrLRKYxo0bR79+/dBqtaxZswZPT0+ef/55/vjHPzJv3jw+//xzIiIiePPNN5kyZUq997n//vvR6XTs27cPX9+LO0PExcVx44031vidWJeioiJ27drFq6++aj22YcMGBg0a5PBnmzJlis02v/rqq8yePZt77rkHgHfeeYfvv/+ef//73yxYsMDh93W2VhuW3Emd5QM0WvPE7pQ95qE4G2FpTNdQogK9SS8oZ+OJTK7vX39RTSEccaH8AttSt7EleQs70nZQUlVifU2neOBfHMKVJWXMLk8k1nixsvYpU3u+MY5kt34cf75xQoN1loRwJVVVKTOUNepco8nI8j3L6968ufrYij0rGBE5olGrMX10Pk3ahHnNmjU88cQT7Nmzh08//ZS5c+eybt06br75Zp566ilee+017rzzTs6fP19nbcDc3Fx+/PFHli1bViMoXaqh9h06dAiNRsOAAQMoLS3l448/5o033mDdunXWc5YtW8ayZcts3uf48eN07Nixwc9cWVnJ/v37WbhwofWYRqNhwoQJ7Ny5s8HrW5KEJSeotT+cRdQAc1jKOGSe6FoPrUZhxuAOvLU5kbX7UiQsiSZTVZWk/CS2pGxha/JWDmUfqvFLIcQ7hCsDutAtOZNr0/YRQdLFi9t1xtRnBkeCruasNpZRAT487GAFbyFaUpmhjBEfN36RT0MySzMZ9cmoRp27+4+70Xs4vn3WgAEDrNNCFi5cyIoVKwgNDWX27NkALFq0iFWrVnH48GGuuOKKWtcnJiaiqio9evSocTw0NJTycvPijQceeMBmeZ74+Hh69uzJ/v37GTNmDADTp0+v0TM0Z84cbr31VpufxdYuGpfKycnBaDQSERFR43hERAQnT55s1D1aioQlJ7CEpdyy3JovNHKSN8AtQ8xhadupbNLyy4gOqr8WjWgbjCajXfWGqoxV7M3cy9bkrWxN2UpqcWqN13u268FVfp25Kj+L3qe2oi27uHltgWcEAUNuRek7HaIHoVEUBgADmuvDCSFquHShkVarJSQkhH79LpadsQSK35fN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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Consider various temperatures\n", "for beta in [5, 7, 10]:\n", " iw_mesh = MeshImFreq(beta=beta, statistic='Fermion', n_iw=1000)\n", " G = BlockGf(mesh=iw_mesh, gf_struct=[('up',1),('down',1)])\n", "\n", " # Loop over the blocks to initialize\n", " for name, g in G:\n", " g << inverse(iOmega_n)\n", " \n", " # Plot one entry\n", " oplot(G[\"up\"][0,0].imag, '-o', name=rf\"Im G[$\\beta$={beta}]\")\n", " \n", "plt.xlim(0,5)\n", "plt.ylim(-3.5,0.1)\n", "plt.ylabel(r\"Im G[$\\beta$]\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 4\n", "\n", "Consider a Hubbard atom with $U=2$ at temperature $T = 1/\\beta = 1/10$. The non-interacting and interacting Green's functions for this problem are:\n", "\n", "$$\n", "G_0 = \\frac{1}{i \\omega_n + \\mu} \\qquad \\mu = U/2\n", "$$\n", "\n", "$$\n", "G = \\frac{1}{2(i\\omega_n + U/2)} + \\frac{1}{2(i\\omega_n - U/2)}\n", "$$\n", "\n", "Here the chemical potential $\\mu$ is chosen such that the interacting system is half filled.\n", "\n", "Using Dyson's equation, verify that the corresponding self-energy is indeed\n", "\n", "$$\n", "\\Sigma = \\frac{U}{2} + \\frac{U^2}{4 i\\omega_n}\n", "$$\n", "\n", "*Note: At half-filling the chemical potential $\\mu = U/2$ and the static part of the self-energy exactly cancel.*" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 10.0)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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dnZUfZimyZ133smgQYPweDwMGDCAWbNmtXj/uuuuIzs7m7y8PP7whz/s9fnZs2dTXFyM1+tl5MiRPPPMM22qsbsXX3yRzMxMFixYEFX/nU0hSERE4pdlQaM/ukeDD166DrBa21Dk6eXrI+tFsz2rte1E77HHHqN379589NFHXH755VxyySWcffbZjB8/nhUrVjBp0iSmTp1KXV3dfrdz3nnncdttt3H66afz2WeftamHG2+8kTvuuIObb76ZVatWsXDhQvr27duix9TUVJYtW8add97Jn/70J5YsWdL8/uzZs3n88ceZN28eX3zxBVdffTXnnXceb731VtQ1dlq4cCG/+MUvWLBgAeeee26bvo/OYlhWB3/L3ZTP5yMzM5Pq6moyMjLsbkdEJOE1NDSwbt06iouLSU5Ojixs9MOfC+xp6KZNkJQa9erTp09nx44dLFq0iJKSEsLhMO+88w4A4XCYzMxMfvazn/H4448DUF5eTn5+Ph988AE//OEPD7j9qVOn8vrrr7NmzRq8Xu8B16+pqSE3N5f777+fCy+8cK/39+wRYOzYsRx//PHccccdBAIBsrOzee211xg3blzzOhdeeCF1dXUsXLgwqhqjRo1i8ODB/O53v2Px4sUce+yxB+y91b+FJrHcf+ucIBERkU4wYsSI5q+dTic5OTkMHz68ednO0ZKKiooDbqusrIxXXnmFGTNmRBWAAL788ksCgQAnnHBCVD0C5OfnN/ezZs0a6urq9pqYvLGxkdGjR0dd45lnnqGiooL33nuPMWPGRNV7V1EIEhGR+OVOiYzIROO792HBWQde79xnoGh8dLU7wO12t3htGEaLZYZhAJFzavYnFApxzjnnMGTIEG6//fao60cTllrrcWc/tbW1QOQ8nn79+rVYz+PxRF1j9OjRrFixgocffpgjjzyy+fuOBwpBIiISvwwj+kNSA4+PXAXm20zr5wUZkfcHHg8OZyy77FTXX389a9as4ZNPPsHpjL7vwYMH4/V6Wbp0aauHqg5kyJAheDweNmzYsM9DWNHUGDhwIHfddRclJSU4nU7uv//+NvfSWRSCRESkZ3A4I5fBP30+YNAyCDWNPpx8R7cKQIsWLeLuu+9mwYIFGIZBeXk5EDm8lpubu9/PJicnc/3113PdddeRlJTEhAkTqKys5IsvvmDGjBkHrJ2ens61117L1VdfjWmaHH300VRXV/Pee++RkZHBtGnToq5xyCGH8MYbb1BSUoLL5eKee+7p0M8lVhSCRESk5xhyOvzP4/u4T9Ad3e4+QYsWLcKyLKZMmdJieVFREevXrz/g52+++WZcLhe33HILmzZtIj8/n4svvjjq+rfddhu5ubnMnj2btWvXkpWVxeGHH85NN93U5ho/+MEPeP3115tHhO66666o++gsujpMV4eJiMSF/V0R1GZmOHKOUO0WSOsbOQeoG40AJTpdHSYiItJeDicUH2N3FxLndLNEERGRbmjDhg2kpaXt87Fhwwa7W4x7GgkSERHphgoKCli5cuV+35f9UwgSERHphlwuF4MGDbK7jW5Nh8NEREQkISkEiYiISEJSCBIREZGEpBAkIiIiCUkhSERERBKSQpCIiIgkJIUgERERSUgKQSIiIpKQFIJERERiYPr06RiGgWEYuN1uiouLue6662hoaIjZdnd/lJSUxKbxBKY7RouISI/xz5X/xGE4uHjkxXu9N+/TeZiWyW9G/abT6p988sk88sgjBINBli9fzrRp0zAMg7/85S/t3uaUKVNYuHAh9957L2eccUbz8qSkpFi0nNA0EiQiIj2Gw3AwZ+Uc5n06r8XyeZ/OY87KOTiMzt3teTwe8vLyKCwsZPLkyUycOJElS5Y0v2+aJrNnz6a4uBiv18vIkSN55pln9rvNSZMm8fDDD3PNNdewevVq8vLyyMvLIzs7u1O/l0SgkSAREYlblmVRH6qPev3zh5xPMBxkzso5BMNBZgyfwUOfP8QDnz/Ar4b/ivOHnE9dsC6qbXldXgzDaG/rlJaW8v7771NUVNS8bPbs2cyfP5958+YxePBg3n77bc477zxyc3M59thj97mt8847jy1btnD66afz9ttvM2LEiHb3JbsYlmVZdjdhB5/PR2ZmJtXV1WRkZNjdjohIwmtoaGDdunUUFxeTnJwMQF2wjqMWHmVLP8umLCPFnRL1+tOnT2f+/PkkJycTCoUIBAI4HA6efvppzjzzTAKBANnZ2bz22muMGzeu+XMXXnghdXV1LFy48IA1pk6dyuuvv86aNWvwer3t+r66g9b+FnaK5f5bI0EiIiIxctxxxzF37lz8fj933303LpeLM888E4A1a9ZQV1fHiSee2OIzjY2NjB49+oDbLisr45VXXmHGjBk9OgB1JYUgERGJW16X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x7IvERERkU7VppGgmpoa5s6dy7HHHktGRgYHHXQQhx12GLm5uRQVFXHRRRfx8ccfd1avIiIiIjETdQj6+9//zkEHHcQjjzzCxIkTWbRoEStXrmT16tV88MEH3HrrrYRCISZNmsTJJ5/MN99805l9i4iIiHSIYVmWFc2Kv/jFL/j973/P0KFD97teIBDgkUceISkpiV/+8pcxabIz+Hw+MjMzqa6uJiMjw+52REREJAqx3H9HHYJ6GoUgERGR7ieW+29dHSYiIiIJqd1Xh+1u1apVLF68mKysLIYOHcrw4cPp1atXLDYtIiIi0iliMhJ0+umnk5KSgt/v56GHHuKEE05g4MCBsdi0iIiISKeIyUhQXl4eV155ZYtl4XA4FpsWERER6RQxGQk64YQTeOSRR1osczqdsdi0iIiISKeIydVhp556KqWlpTgcDsaMGcPIkSMZMWIEp512Wix67BS6OkxERKT7ieX+OyaHw1588UUgckfp0tJSSktLWbp0aVyHIBEREUls7QpBd955JytXrqS8vByv18vQoUM544wzGDduXPNDREREJJ6165yg++67j6qqKvr06QPAE088wYQJEzj55JOprq6OaYMiIiIinaFdI0EbN27ca9mHH37IJZdcwqWXXsr8+fM73JiIiIhIZ4rZHaN/+MMf8sgjj/D888/HapNRmTNnDgcddBDJyckcddRRfPTRR11aX0RERLqnDp8Y/cgjj5Cenk5ycjKLFi0iJycnFn1F5amnnmLmzJnMmzePo446invuuYeTTjqJr7/+uvlQnYiIiEhrOjwStGzZMn7961/z05/+lIqKii4dCfr73//ORRddxAUXXMCQIUOYN28eKSkpPPzww1Fvw6ze1okdioiISLzqcAiaN28eVVVVvPDCC6xdu5YVK1bEoq8DamxsZPny5UycOLF5mcPhYOLEiXzwwQdRbye06dvOaE9ERETiXLtC0I9+9COWLVvW/NowDE455RTmz5/PjTfeGLPm9qeqqopwOEzfvn1bLO/bty/l5eV7rR8IBPD5fC0eAOGy9V3RroiIiMSZdp0TNHToUCZMmMDYsWM588wzGT58OGlpaTzxxBPU19fHuseYmD17Nn/84x/3Wh7asveVbiIiIgnBDMN370PtFkjrC0XjwdFF017ZWbtJu0LQ3Llzueyyy/jrX//Kn/70J2pqaoDI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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Parameters\n", "U = 2.0\n", "\n", "# Green's function containers\n", "iw_mesh = MeshImFreq(beta=10, statistic='Fermion', n_iw=1000)\n", "G_0 = Gf(mesh=iw_mesh, target_shape=[])\n", "G = G_0.copy()\n", "Sigma = G_0.copy()\n", "Sigma_check = G_0.copy()\n", "\n", "# Green's functions of the Hubbard atom\n", "G_0 << inverse(iOmega_n + U/2)\n", "G << 0.5*inverse(iOmega_n + U/2) + 0.5*inverse(iOmega_n - U/2)\n", "\n", "# Dyson's equation to find the self-energy\n", "Sigma << inverse(G_0) - inverse(G)\n", "\n", "# Known solution\n", "Sigma_check << U/2 + U**2 * inverse(4*iOmega_n)\n", "\n", "oplot(Sigma_check, '-o', name=r'$\\Sigma$_check')\n", "oplot(Sigma, '-x', name=r'$\\Sigma$')\n", "plt.xlim(0,10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 5\n", "\n", "Compute the following second-order self-energy with $U=2$ and $\\beta=50$\n", "\n", "$$ \\Sigma(i\\omega_n) = U^2 \\int_0^\\beta d\\tau e^{i \\omega_n \\tau} G_0(\\tau)^3 $$\n", "\n", "using an non-interacting $G_0$ given by a semi-circular of half-bandwidth 1. Use Dyson's equation to compute $G(i\\omega_n)$.\n", "\n", "Note that here we have neglected the static part of the self-energy, as at half-filling we assume the chemical potential to exactly cancel it.\n", "\n", "Hint: The `SemiCircular` initializer only works for frequency Green's functions.\n", "\n", "Hint: The \"power operator\" is not defined for Green's functions. Use multiplication." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 4.0)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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YqvfHZYQG6nnb+yrkRck1lst11xzjUJDQzV//nw1b95c//d//6d77rlHixcv1p49e7Rp0yY988wzWrx4scPtbTabFi5cqOzsbF100UX68MMP9d1332nHjh1asGCBDh8+XOuDfjMyMvTSSy9p8eLF2rlzp6ZMmaLi4mJNnjy5ztpjY2N16623KiMjQ5999pk2btyoyZMnKy0trcEMKpfozgMAwKtGXpCo4T0S/D5jeZMmTTRt2jQ9+eSTmjJlih555BHFxcVpzpw5+v7779WiRQv17dtXDzzwgNN9DBo0SBs3btRjjz2mqVOnKjc3V82aNVNKSormzp2rW265xem21157rQ4fPqxZs2YpNzdXffr00cqVK2sMNndm7ty5CgkJ0YQJE1RSUqIRI0boueeec/v34EvME+UG5okCgOBW21xDaNj8MU8U3XkAAAAWBGyIWrt2rcaOHaukpCTZbLZqs7Q6snr1avtzhc58NaT5JgAAaAyWLl2q6Ohoh6+ePXv6uzyXBeyYqOLiYqWkpOiWW25x61k62dnZ1Zry2rRp44vyAACAE+PGjdPAgQMdfhcWFlbP1VgXsCFq1KhRGjVqlNvbtWnTpsYMqAAAoP40b95czZs393cZHgvY7jyr+vTpo8TERA0fPlxffPFFreuWlJSosLCw2gsAAEBqRCEqMTFRCxYs0Lvvvqt3331XycnJGjp0qP3p1o7MmTNHsbGx9pezCckAAEDjE7Ddee7q2rVrtYcoDh48WHv27NHcuXP197//3eE2M2fOVEZGhv1zYWEhQQoAAEhqRCHKkQEDBujzzz93+n1ERITTZwoBAIDGrdF05zmSlZWlxMT6m4IfAAAEj4BtiTp27Jh2795t/7x3715lZWWpZcuWateunWbOnKmffvpJr732miRp3rx56tixo3r27KmTJ0/q5Zdf1qeffqp///vf/joFAECwqqyQ9q2TjuVJ0fFS+8FSiPPnzCEwBWxL1DfffKPU1FSlpqZKMh90mJqaqlmzZkmSDh48qJycHPv6paWluvfee9WrVy8NGTJE//3vf/XJJ59o2LBhfqkfABCkdnwozbtAWnyF9O6t5vu8C8zlPjJp0iSNHz/eJ/vevXu3brnlFrVr104RERE699xzNWzYMC1dulTl5eW1bjt//nx16NBBkZGRGjhwoDZs2ODycU+ePKmpU6eqVatW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jaX2YP+9xcdEqOY04Z5zeWB5s2bN7OODOnTooFatWumyyy7TPffco0WLFikrK0tlZWU+KNG5jIwMvfTSS1q8eLF27typKVOmqLi4WJMnT5YkTZw4sdpA97vvvlsrV67Un//8Z+3atUt/+MMf9M033zgNXU6VmvNEhYbYNHtsD0mn7wCoUvV59tgeTueo8GT7xnrsQK69sR47kGvn98axG0vtwf57mzGqm8PjesrlELVgwQK1aNFCkrR3714tXLhQl112mXJycvTII4+oX79+io6OVkpKik8KdeTaa6/V008/rVmzZqlPnz7KysrSypUr7V2KOTk5OnjwoH39wYMHa9myZXrxxReVkpKid955R8uXL3dvjijp1GNfTCMvSNTzN/ZVQmxktVUSYiPrvJ3T0+0b67EDufbGeuxArp3fG8duLLUH8+9teA/Hw3Y85ZV5oiSpqKhIWVlZ2rJli6ZOneqNXTY49nmilt6qmN+8XO27QJ6hNVCPHci1N9ZjB3Lt/N44dmOpPRh/b/a/316+O89rIaoxsF+EhdcqZtIb/i4HAAC4wFchyuXuvJycHLd2/NNPP7ldTMBw8Ow8AADQuLgcovr3768777xTX3/t/DbCgoICvfTSS7rgggv07rvveqXABqmUEAUAQGPn8hQHO3bs0KOPPqrhw4crMjJS/fr1U1JSkiIjI3X06FHt2LFD27dvV9++ffXkk09q9OjRvqzbv856ADEAAGh83B4TdeLECa1YsUKff/659u3bpxMnTqh169ZKTU3ViBEj3L/TLYDY+1Sf6K2Y+//r73IAAIALfDUmyu0Zy5s2baqrr75aV199tdeKCDilxXWvAwAAgppbIerEiRPKzMzUFVdcIcl8LMqZD+gNDQ3VI488osjISGe7CA6MiQIAoNFzK0QtXrxYK1assIeoZ599Vj179lTTpk0lSbt27VJSUpLuuece71fakJQVS4Yh2Vyf9wIAAAQXl+/Ok6SlS5fqjjvuqLZs2bJl+uyzz/TZZ5/pqaee0ltvveXVAhsmQyo74e8iAACAH7kVonbv3q1evXrZP0dGRiok5PQuBgwYoB07dnivuoaMcVEAADRqbnXn5efnVxsDdfjw4WrfV1ZWVvs+qJUekxTn7yoAAICfuNUS1bZtW23bts3p91u2bFHbtm09Liog0BIFAECj5laIGj16tGbNmqWT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uvXWW7V582aNHz9e48eP17Zt2+q5cs+4e96SOdvtwYMH7a99+/bVY8XeUVxcrJSUFM2fP9+l9ffu3asxY8bosssuU1ZWlqZPn67bbrtNH3/8sY8r9S53z7tKdnZ2tWvepk0bH1XofWvWrNHUqVP15ZdfatWqVSorK9Pll1+u4uJip9sEw79vK+ctBf6/77Zt2+rxxx/Xxo0b9c033+h//ud/dOWVV2r79u0O1w+Gay25f95S4F/rs3399dd64YUX1Lt371rX89o1N2A3YMAAY+rUqfbPFRUVRlJSkjFnzhyH6//61782xowZU23ZwIEDjTvvvNOndXqbu+e9cOFCIzY2tp6qqx+SjPfff7/Wde6//36jZ8+e1ZZde+21xogRI3xYmW+5ct6fffaZIck4evRovdRUHw4dOmRIMtasWeN0nWD5930mV847GP99G4ZhnHPOOcbLL7/s8LtgvNZVajvvYLvWRUVFRpcuXYxVq1YZQ4YMMe6++26n63rrmtMSdUppaak2btyo9PR0+7KQkBClp6dr/fr1DrdZv359tfUlacSIEU7Xb4isnLckHTt2TO3bt1dycnKd/08nWATD9fZEnz59lJiYqOHDh+uLL77wdzkeKSgokKRaH0YajNfblfOWguvfd0VFhd544w0VFxcrLS3N4TrBeK1dOW8puK711KlTNWbMmBrX0hFvXXNC1Ck///yzKioqFB8fX215fHy807Efubm5bq3fEFk5765du+rVV1/VBx98oCVLlqiyslKDBw/Wjz/+WB8l+42z611YWKgTJ074qSrfS0xM1IIFC/Tuu+/q3XffVXJysoYOHapNmzb5uzRLKisrNX36dF100UW64IILnK4XDP++z+TqeQfLv++tW7cqOjpaERER+u1vf6v3339fPXr0cLhuMF1rd847WK61JL3xxhvatGmT5syZ49L63rrmTdxaG5CUlpZW7f/ZDB48WN27d9cLL7ygRx55xI+VwRe6du2qrl272j8PHjxYe/bs0dy5c/X3v//dj5VZM3XqVG3btk2ff/65v0upV66ed7D8++7atauysrJUUFCgd955RzfffLPWrFnjNFAEC3fOO1iu9f79+3X33Xdr1apV9T4wnhB1SuvWrRUaGqq8vLxqy/Py8pSQkOBwm4SEBLfWb4isnPfZwsLClJqaqt27d/uixAbD2fWOiYlR06ZN/VSVfwwYMCAgQ8i0adP00Ucfae3atWrbtm2t6wbDv+8q7pz32QL133d4eLg6d+4sSerXr5++/vpr/fWvf9ULL7xQY91gutbunPfZAvVab9y4UYcOHVLfvn3tyyoqKrR27Vo9++yzKikpUWhoaLVtvHXN6c47JTw8XP369VNmZqZ9WWVlpTIzM532J6elpVVbX5JWrVpVa/9zQ2PlvM9WUVGhrVu3KjEx0VdlNgjBcL29JSsrK6Cut2EYmjZtmt5//319+umn6tixY53bBMP1tnLeZwuWf9+VlZUqKSlx+F0wXGtnajvvswXqtR42bJi2bt2qrKws++vCCy/UDTfcoKysrBoBSvLiNXd//HvweuONN4yIiAhj0aJFxo4dO4w77rjDaNGihZGbm2sYhmHcdNNNxowZM+zrf/HFF0aTJk2Mp59+2ti5c6cxe/ZsIywszNi6dau/TsESd8/74YcfNj7++GNjz549xsaNG43rrrvOiIyMNLZv3+6vU7CkqKjI2Lx5s7F582ZDkvGXv/zF2Lx5s7Fv3z7DMAxjxowZxk033WRf//vvvzeioqKM++67z9i5c6cxf/58IzQ01Fi5cqW/TsESd8977ty5xvLly43vvvvO2Lp1q3H33XcbISEhxieffOKvU3DblClTjNjYWGP16tXGwYMH7a/jx4/b1wnGf99WzjsY/n3PmDHDWLNmjbF3715jy5YtxowZMwybzWb8+9//NgwjOK+1Ybh/3sFwrZ05++48X11zQtRZnnnmGaNdu3ZGeHi4MWDAAOPLL7+0fzdkyBDj5ptvrrb+W2+9ZZx//vlGeHi40bNnT2PFihX1XLF3uHPe06dPt68bHx9vjB492ti0aZMfqvZM1a37Z7+qzvXmm282hgwZUmObPn36GOHh4UanTp2MhQsX1nvdnnL3vJ944gnjvPPOMyIjI42WLVsaQ4cONT799FP/FG+Ro/OVVO36BeO/byvnHQz/vm+55Rajffv2Rnh4uBEXF2cMGzbMHiQMIzivtWG4f97BcK2dOTtE+eqa2wzDMNxruwIAAABjogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBaHSmTJmiiy++2OF3bdu21eOPP17PFQEIRE38XQAA1Kft27frxRdf1H/+8x+H33fv3l1ZWVn1WxSAgERLFIBG5amnnlL//v01ePBgh9+3bNlSubm59VwVgEBEiALQaJSXl+u9997ThAkT7MvuvPNOvfLKK/bPRUVFatq0qT/KAxBgCFEAGo09e/aoqKhIvXr1kiRVVlbq7bffVvPmze3rbNmyRT169JAkjR49WrNmzdJFF12kTp06adu2bX6pG0DDRIgC0Gjk5+dLkqKjoyVJH3/8sY4eParIyEhJ0pdffqmffvpJV111lSRp27Ztateunb744gv97//+rz744AO/1A2gYWJgOYBGo3379rLZbHr99dfVrFkz/d///Z/GjBmjDz74QMnJyfrtb3+r9PR0XXzxxSosLJTNZtNtt90mSSorK1OLFi38ewIAGhRaogA0GgkJCXr00Ue1ZMkSjRo1Svfee68effRRZWZm6pJLLlH37t311ltvSTJbofr372/fduvWrerZs6e/SgfQANkMwzD8XQQANDQvvvii8vLy9NBDD0mSUlNT9cknn6hVq1Z+rgxAQ0FLFAA4sG3bNvXu3VuSeVdffn4+AQpANbREAQAAWEBLFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAs+P+d1OyD0wYzUwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Parameters\n", "U = 2.0\n", "\n", "# Define and initialize G0 in freq\n", "iw_mesh = MeshImFreq(beta=50, statistic='Fermion', n_iw=1000)\n", "G0_iw = Gf(mesh=iw_mesh, target_shape=[1,1])\n", "G0_iw << SemiCircular(1.0)\n", "\n", "# Compute second-order self-energy\n", "G0_tau = make_gf_from_fourier(G0_iw)\n", "Sigma_tau = U**2 * G0_tau * G0_tau * G0_tau\n", "Sigma_iw = make_gf_from_fourier(Sigma_tau)\n", "\n", "# Dyson's equation\n", "G_iw = G0_iw.copy()\n", "G_iw << inverse(inverse(G0_iw) - Sigma_iw)\n", "\n", "oplot(G_iw, '-o', name='G')\n", "plt.xlim(0,4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 6\n", "\n", "Use Pade approximants to obtain a real-frequency version of the Green's function computed in the Exercise 5. What is the effect of interactions at second-order perturbation theory? How is it changing with different values of $U$?" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '$\\\\rho(\\\\omega)$')" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGwCAYAAABPSaTdAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcwNJREFUeJzt3Xl4U1X+BvA3SZuk+74BLWWHshXKDopLERXXccFRh0VlFMFhRGcE/SkzuBQVkBFRHJVlFAVX3BCXKoKI7GWn7LR0L9B9SZvk98ftvUmga5rcm+X9PE+fpOnNvSctNG/P+Z5zVGaz2QwiIiIiD6VWugFEREREzsSwQ0RERB6NYYeIiIg8GsMOEREReTSGHSIiIvJoDDtERETk0Rh2iIiIyKP5KN0ApZlMJuTm5iIoKAgqlUrp5hAREVErmM1mlJeXo0OHDlCrm++78fqwk5ubi/j4eKWbQURERHbIzs5Gp06dmj3G68NOUFAQAOGbFRwcrHBriIiIqDXKysoQHx8vvY83x+vDjjh0FRwczLBDRETkZlpTgsICZSIiIvJoDDtERETk0Rh2iIiIyKN5fc0OERE1z2g0oq6uTulmkBfSarUtTitvDYYdIiJqlNlsRn5+PkpKSpRuCnkptVqNLl26QKvVtus8DDtERNQoMehER0fD39+fC6+SrMRFf/Py8pCQkNCuf38MO0REdBmj0SgFnYiICKWbQ14qKioKubm5qK+vh6+vr93nYYEyERFdRqzR8ff3V7gl5M3E4Suj0diu8zDsEBFRkzh0RUpy1L8/hh0iIiLyaAw7RERE5NEYdoiIiFzAlClTcNttt3ns9ZTEsENEnslsBirPA+X5gKFK6daQTIqKijB9+nQkJCRAp9MhNjYW48ePx9atW5VuGimIU8+JyHNUlwD71wFHvwXO7QLqKi1fC0kAuo4FBkwEEscALLz1SHfccQcMBgNWr16Nrl27oqCgAOnp6Th//rzSTVNMXV1du6ZtN8VsNsNoNMLHx/WjBHt2iMj91dUAv74KLE4CvvsncPpXS9BRNfyaK80C9r4PrL4J+O9VwBn+pe9pSkpKsGXLFrz88su4+uqr0blzZwwbNgxz587FLbfcYnPcQw89hKioKAQHB+Oaa67Bvn37bM719ddfY+jQodDr9YiMjMTtt98ufe3ixYuYNGkSwsLC4O/vjxtuuAHHjx+Xvr5q1SqEhobi+++/R58+fRAYGIjrr78eeXl50jFGoxGzZ89GaGgoIiIi8M9//hNms7nF12gymTB//nx06tQJOp0OycnJ2Lhxo/T1M2fOQKVSYd26dRg7diz0ej3WrFnTquuZTCakpaWhS5cu8PPzw8CBA/Hpp59KX9+0aRNUKhW+++47pKSkQKfT4bfffmvFT0Z5rh/HiIiak5sBfDoVuHBK+DyqDzB4EtD1KiCiO+CjBaouALl7gCNfA/s/BvIygFU3AsMeBq57HvDRKfgC3MfNS39DUXmt7NeNCtLh68fGtHhcYGAgAgMDsX79eowYMQI6XeM/17vuugt+fn747rvvEBISgrfffhvXXnstjh07hvDwcHz77be4/fbb8cwzz+B///sfDAYDNmzYID1/ypQpOH78OL766isEBwfjqaeewo033ojDhw9LPShVVVVYuHAh3n//fajVatx///148sknsWbNGgDAokWLsGrVKqxYsQJ9+vTBokWL8MUXX+Caa65p9jX+5z//waJFi/D2229j0KBBWLFiBW655RYcOnQIPXr0kI6bM2cOFi1ahEGDBkGv17fqemlpafjggw+wfPly9OjRA5s3b8b999+PqKgojB071ubcCxcuRNeuXREWFtbiz8UVqMytiZIerKysDCEhISgtLUVwcLDSzSGitti3Fvh6FlBfAwTGAuNfBPrdIQ1RVRnqcb7CgE5hfpb1OiqLgZ9fAHavFD6PSwbu/RgIilHmNbiompoanD59Gl26dIFerwcAjHgpHfllNbK3JTZYjz+evrZVx3722WeYNm0aqqurMXjwYIwdOxb33HMPBgwYAAD47bffMGHCBBQWFtqEoe7du+Of//wn/vrXv2LUqFHo2rUrPvjgg8vOf/z4cfTs2RNbt27FqFGjAADnz59HfHw8Vq9ejbvuugurVq3C1KlTceLECXTr1g0A8Oabb2L+/PnIz88HAHTo0AGPP/44/vGPfwAA6uvr0aVLF6SkpGD9+vVNvr6OHTtixowZePrpp6XHhg0bhqFDh2LZsmU4c+YMunTpgiVLlmDWrFnSMS1dr7a2FuHh4fjpp58wcuRI6XkPPfQQqqqq8OGHH2LTpk24+uqrsX79etx6662t+nm0V2P/DkVtef9mzw4Ruac/3gI2zhHu97weuP1twC9U+vLxgnLc9fY2lFTV4dbk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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create Green's functions\n", "w_mesh = MeshReFreq(window=(-4,4), n_w=1000)\n", "G_w = Gf(mesh=w_mesh, target_shape=[1,1])\n", "G0_w = G_w.copy()\n", "\n", "# Initialize from Pade\n", "G_w.set_from_pade(G_iw)\n", "oplot(-G_w[0,0].imag/pi, lw=2, name=\"Second-order\")\n", "\n", "# Initialize non-interacting Green's function\n", "G0_w << SemiCircular(1.0)\n", "oplot(-G0_w[0,0].imag/pi, name=\"Non-interacting\")\n", "\n", "plt.ylabel(r\"$\\rho(\\omega)$\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The interaction leads to a shift of spectral weight towards a low- and a high-energy feature, often referred to as the lower and upper Hubbard band. These features move outwards with increasing interaction strength." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "widgets": { "state": {}, "version": "1.1.1" } }, "nbformat": 4, "nbformat_minor": 4 }