7#ifndef REAL_TIME_TRANSPORT_RENORMALIZED_PT_DIAGRAMS_H
8#define REAL_TIME_TRANSPORT_RENORMALIZED_PT_DIAGRAMS_H
10#include "../BlockMatrices/BlockVector.h"
12#include "../Utility.h"
16namespace RealTimeTransport::RenormalizedPT::Detail
24SciCore::Matrix diagram_1_regular(
27 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
28 const std::vector<BlockMatrix>& superfermions,
36SciCore::Matrix diagram_1_small_t(
39 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePiMinusOne,
40 const std::vector<BlockMatrix>& superfermion,
48SciCore::Matrix diagram_1(
52 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
53 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePiMinusOne,
54 const std::vector<BlockMatrix>& superfermion,
67BlockVector effectiveVertexDiagram1_col(
70 SciCore::Real t_minus_tau,
71 SciCore::Real tau_minus_s,
74 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
75 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePiMinusOne,
76 const std::vector<BlockMatrix>& superfermion,
81BlockMatrix effectiveVertexDiagram1_fromCols(
83 SciCore::Real t_minus_tau,
84 SciCore::Real tau_minus_s,
85 const std::function<BlockVector(
int,
int, SciCore::Real, SciCore::Real)>& computeD_col,
94SciCore::Matrix diagram_2(
99 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
100 const std::function<BlockVector(
int,
int, SciCore::Real, SciCore::Real)>& computeD_col,
101 const std::vector<BlockMatrix>& superfermion,
109SciCore::Matrix diagram_2_2(
112 SciCore::Real epsAbs,
113 SciCore::Real epsRel,
114 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
115 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computeDiagram_1,
116 const std::vector<BlockMatrix>& superfermion,
124Model::SuperRowVectorType currentDiagram_1(
128 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
129 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePiMinusOne,
130 const Model::SuperRowVectorType& idRow,
131 const std::vector<Model::SuperRowVectorType>& Tr_superfermionAnnihilation,
132 const std::vector<BlockMatrix>& superfermion,
133 const std::vector<
int>& blockStartIndices,
141Model::SuperRowVectorType currentDiagram_2(
144 SciCore::Real epsAbs,
145 SciCore::Real epsRel,
146 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
147 const std::function<BlockVector(
int,
int, SciCore::Real, SciCore::Real)>& computeD_col,
148 const std::vector<Model::SuperRowVectorType>& Tr_superfermionAnnihilation,
149 const std::vector<
int>& blockStartIndices,
158Model::SuperRowVectorType currentDiagram_2_2(
161 SciCore::Real epsAbs,
162 SciCore::Real epsRel,
163 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computePi,
164 const std::function<BlockDiagonalMatrix(SciCore::Real)>& computeDiagram_1,
165 const std::vector<BlockMatrix>& superfermion,
166 const std::vector<Model::SuperRowVectorType>& Tr_superfermionAnnihilation,
167 const std::vector<
int>& blockStartIndices,
Abstract class representing a model.
Definition Model.h:47