HepLib
Classes | Namespaces | Functions | Variables
HEP.h File Reference

HEP header file. More...

#include "BASIC.h"
#include "IBP.h"
Include dependency graph for HEP.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HepLib::FormFormat
 class for FormFormat Output More...
 
class  HepLib::FCFormat
 class for FCFormat Output More...
 
class  HepLib::Index
 class for index object More...
 
class  HepLib::Index::visitor
 
class  HepLib::Vector
 class for vector object More...
 
class  HepLib::Vector::visitor
 
class  HepLib::SUNT
 class for SUNT object More...
 
class  HepLib::SUNT::visitor
 
class  HepLib::SUNF
 class for SUNF object More...
 
class  HepLib::SUNF::visitor
 
class  HepLib::SUNF4
 class for SUNF4 object More...
 
class  HepLib::SUNF4::visitor
 
class  HepLib::Pair
 class for Pair object More...
 
class  HepLib::Pair::visitor
 
class  HepLib::Eps
 class for Levi-Civita object https://onlinelibrary.wiley.com/doi/pdf/10.1002/9783527630097.app3 to make Tr(g5, g1, g2, g3, g4) is the same in both HepLib & FORM, require that Eps(a,b,c,d) = i_ * e_(a,b,c,d) (we use the convention as in FeynCalc, Tr[5,a,b,c,d]=(- i) 4 Eps(a,b,c,d)=4 eps_(a,b,c,d)), and Eps^{0123}=+1, and g5=i g^{0123}=(-i) Eps(a,b,c,d) gamma(a,b,c,d)/4! Eps is real in HepLib, while e_ is imaginary in FORM. More...
 
class  HepLib::Eps::visitor
 
class  HepLib::DGamma
 class for Dirac Gamma object More...
 
class  HepLib::DGamma::visitor
 
struct  HepLib::AIOption
 

Namespaces

 HepLib
 HepLib namespace.
 

Functions

ex HepLib::SP (const ex &a, bool use_map=false)
 
ex HepLib::SP (const ex &a, const ex &b, bool use_map)
 Function similar to SPD/FVD in FeynCalc. More...
 
ex HepLib::sp (const ex &a, const ex &b)
 translated the vector dot a.b to a*b, useful in SecDec More...
 
ex HepLib::sp (const ex &a)
 
ex & HepLib::letSP (const ex &p1, const ex &p2)
 return the reference of p1.p2 More...
 
ex & HepLib::letSP (const ex &p)
 return the reference of p.p More...
 
void HepLib::clearSP (const ex &p1, const ex &p2)
 delete the assignment of p1.p2 More...
 
void HepLib::clearSP (const ex &p)
 delete the assignment of p.p More...
 
void HepLib::clearSP ()
 delete all assignment in SP_map More...
 
ex HepLib::SP2sp (const ex &exin)
 convert SP(a,b) to sp(a,b) More...
 
exmap HepLib::sp_map ()
 the SP_map with SP(a,b) replaced to sp(a,b) More...
 
ex HepLib::LC (ex pi1, ex pi2, ex pi3, ex pi4)
 function similar to LCD in FeynCalc More...
 
ex HepLib::GAS (const Vector &p, unsigned rl=0)
 
ex HepLib::GAS (const Index &i, unsigned rl=0)
 
ex HepLib::GAS (const ex &expr, unsigned rl)
 function similar to GAD/GSD in FeynClac More...
 
ex HepLib::charge_conjugate (const ex &expr)
 make the charge conjugate operaton, M -> C^{-1} . M^T . C w.r.t. a Matrix object More...
 
ex HepLib::form (const ex &iexpr, int verb)
 evalulate expr in form program, see also the form_trace_mode and form_expand_mode More...
 
ex HepLib::UnContract (const ex expr, const lst &loop_ps, const lst &ext_ps=lst{})
 
ex HepLib::TIR (const ex &expr_in, const lst &loop_ps, const lst &ext_ps)
 Tensor Index Reduction, note that we only handle numerator. More...
 
ex HepLib::MatrixContract (const ex &expr_in)
 make contract on matrix, i.e., Matrix(a,i1,i2)*Matrix(b,i2,i3) -> Matrix(a*b,i1,i3) More...
 
ex HepLib::Apart (const matrix &mat)
 Apart on matrix. More...
 
ex HepLib::Apart (const ex &expr_ino, const lst &vars_in, exmap smap)
 Apart on ex. More...
 
ex HepLib::Apart (const ex &expr_ino, const lst &loops, const lst &extps, exmap smap)
 Apart on ex. More...
 
ex HepLib::ApartIR2ex (const ex &expr_in)
 convert ApartIR to ex More...
 
ex HepLib::ApartIR2F (const ex &expr_in)
 convert ApartIR to F(ps, ns), ns is like FIRE convention More...
 
ex HepLib::F2ex (const ex &expr_in)
 convert F(ps, ns) to normal ex, ns is like FIRE convention More...
 
ex HepLib::ApartIRC (const ex &expr_in)
 complete the ApartIR elements More...
 
void HepLib::ApartIBP (exvector &air_vec, int IBPmethod, const lst &loops, const lst &exts, const lst &cut_props, std::function< lst(const IBP &, const ex &)> uf)
 perform IBP reduction on the Aparted input More...
 
void HepLib::ApartIBP (int IBPmethod, exvector &io_vec, const lst &loops, const lst &exts, const lst &cut_props=lst{}, std::function< lst(const IBP &, const ex &)> uf=LoopUF)
 
exmap HepLib::ApartRules (const exvector &airs, bool irc)
 
void HepLib::ApartIBP (exvector &air_vec, AIOption aio)
 perform IBP reduction on the Aparted input More...
 
bool HepLib::IsZero (const ex &e)
 
ex HepLib::ToCF (const ex &e)
 
ex HepLib::ToCACF (const ex &e)
 
ex HepLib::HomCACF (const ex &e)
 
ex HepLib::DoColor (const ex &expr, const ex &pref, int method)
 
ex HepLib::A0 (const ex m2, int n, ex d)
 scalar integral A0, devided by (2pi)^(4-2ep) More...
 

Variables

exmap HepLib::SP_map
 
int HepLib::form_trace_mode = form_trace_auto
 
const int HepLib::form_trace_auto = 0
 
const int HepLib::form_trace_all = 1
 
const int HepLib::form_trace_each_all = 2
 
const int HepLib::form_trace_each_each = 3
 
int HepLib::form_expand_mode = form_expand_tr
 
const int HepLib::form_expand_none = 0
 
const int HepLib::form_expand_tr = 1
 
const int HepLib::form_expand_ci = 2
 
const int HepLib::form_expand_li = 3
 
const int HepLib::form_expand_all = 4
 
bool HepLib::Apart_using_fermat = true
 
bool HepLib::form_using_su3 = false
 
bool HepLib::form_using_dim4 = false
 
bool HepLib::form_using_gamma5 = false
 
FCFormat HepLib::fcout
 

Detailed Description

HEP header file.

Definition in file HEP.h.