frtrg.reservoirmatrix#

Kondo FRTRG, module defining vertice in RG equations

Module defining class ReservoirMatrix and some functions for efficient handling of matrices of Floquet matrices as used for the Kondo model.

See also: rtrg.py

Module Contents#

Classes#

ReservoirMatrix

Object owning a copy of GlobalRGproperties that has

Functions#

einsum_34_12_43(→ frtrg.rtrg.RGobj)

Compute

einsum_34_12_43_double(a, b, c, d, ReservoirMatrix)

A_34 B_12 C_43 , A_34 B_12 D_43

product_combinations(a, b, ReservoirMatrix)

Equivalent to:

class frtrg.reservoirmatrix.ReservoirMatrix(global_properties, symmetry=0)#

Bases: frtrg.rtrg.RGobj

Object owning a copy of GlobalRGproperties that has a symmetry attribute.

Parameters:
  • global_properties (GlobalRGProperties object) – shared properties containing information about the physical system and the numerical parameters

  • symmetry ({0, 1, -1}) – symmetry of the object under Floquet transposition (taking the adjoint and reverting the indices)

__getitem__(arg)#
__setitem__(indices, value)#
__add__(other)#
__iadd__(other)#
__sub__(other)#
__isub__(other)#
__neg__()#
__mul__(other)#
__imul__(other)#
__rmul__(other)#
__matmul__(other)#
__rmatmul__(other)#
__imatmul__(other)#
__mod__(other)#

Transpose multiplication: Given A, B return C such that

C = A B

12 32 13

tr()#
copy()#
__eq__(other)#

Return self==value.

to_numpy_array()#
check_symmetry()#
frtrg.reservoirmatrix.einsum_34_12_43(a: ReservoirMatrix, b: frtrg.rtrg.RGobj, c: ReservoirMatrix) frtrg.rtrg.RGobj#

Compute

A_{34} B_{12} C_{43}

with (implicit) summation over indices 3 and 4. B can be either a scalar or a reservoir matrix.

8 multiplications if b is a scalar, 32 multiplications if b is a reservoir matrix without symmetry, 20 multiplications if b is a reservoir matrix with symmetry and xL != xR, 10 multiplications if b is a reservoir matrix with symmetry and xL == xR.

frtrg.reservoirmatrix.einsum_34_12_43_double(a: ReservoirMatrix, b: ReservoirMatrix, c: ReservoirMatrix, d: ReservoirMatrix)#

A_34 B_12 C_43 , A_34 B_12 D_43

48 multiplications if b is a reservoir matrix, 30 multiplications with symmetries if xL != xR, 15 multiplications with symmetries if xL == xR.

frtrg.reservoirmatrix.product_combinations(a: ReservoirMatrix, b: ReservoirMatrix)#

Equivalent to: >>> lambda a, b: a @ b, a % b

but more efficient. Arguments must be two ReservoirMatrices.

12 multiplications (instead of 16) without symmetry, 1 ReservoirMatrix multiplication with symmetry Number of multiplications when using symmetries:

  • 4 multiplications with xL == xR,

  • 7 multiplications with xL != xR,

  • 8 multiplications without symmetry