Sector decomposition
Public Member Functions | Public Attributes | Friends | List of all members
polyhedra Class Reference

#include <polyhedra.h>

Public Member Functions

 polyhedra ()
 
 polyhedra (GiNaC::ex poly, const std::vector< size_t > &index, const integration_data &global_data)
 
 polyhedra (const polyhedra &p1, const polyhedra &p2)
 
size_t number_corners () const
 
polyhedrakeep_corners_only ()
 
polyhedrafactorize_single_variables ()
 
polyhedraadd_point (const std::vector< GiNaC::ex > &point)
 
GiNaC::ex get_factorization_degree () const
 
GiNaC::ex get_factorization_degree (const multi_index_ordered &index_set) const
 
void get_omega (std::vector< GiNaC::ex > &omega) const
 
void find_S (std::vector< bool > &S, GiNaC::ex f_degree) const
 
polyhedraprojection (const std::vector< bool > &S, GiNaC::ex f, GiNaC::ex c)
 
void find_minimal_subsector (std::vector< size_t > &index_set, GiNaC::ex f) const
 

Public Attributes

std::vector< size_t > index
 a vector, serving as an index for the Feynman parameters
 
std::vector< std::vector< GiNaC::ex > > coordinates
 an array with the coordinates of the points of the polyhedron
 

Friends

std::ostream & operator<< (std::ostream &os, const polyhedra &arg)
 

Detailed Description

The class polyhedra.

This class is used by strategies B and C.

Constructor & Destructor Documentation

◆ polyhedra() [1/3]

polyhedra ( )

Constructor.

◆ polyhedra() [2/3]

polyhedra ( GiNaC::ex  poly,
const std::vector< size_t > &  arg_index,
const integration_data global_data 
)

Constructor.

Initialises the polyhedron from the polynomial poly with the help of arg_index and global_data.

◆ polyhedra() [3/3]

polyhedra ( const polyhedra p1,
const polyhedra p2 
)

Merges the two polyhedra p1 and p2 into one (new) polyhedra.

Member Function Documentation

◆ add_point()

polyhedra & add_point ( const std::vector< GiNaC::ex > &  point)

Adds a point to the polyhedron.

◆ factorize_single_variables()

polyhedra & factorize_single_variables ( )

Shifts the polyhedra, such that in the corresponding polynomial no single variable can be factorized.

In Spivakovsky's notation this corresponds to

\[
   \Delta \rightarrow \tilde{\Delta}.
\]

◆ find_minimal_subsector()

void find_minimal_subsector ( std::vector< size_t > &  index_set,
GiNaC::ex  f_degree 
) const

Finds a minimal subsector, such that index_set is permissible.

◆ find_S()

void find_S ( std::vector< bool > &  S,
GiNaC::ex  f_degree 
) const

Fills a vector S of boolean variables, whether or not a variable occurs in monomials of degree f_degree.

◆ get_factorization_degree() [1/2]

GiNaC::ex get_factorization_degree ( ) const

Returns the factorization degree.

◆ get_factorization_degree() [2/2]

GiNaC::ex get_factorization_degree ( const multi_index_ordered index_set) const

Returns the factorization degree for the set index_set.

◆ get_omega()

void get_omega ( std::vector< GiNaC::ex > &  omega) const

Determines the vector omega.

◆ keep_corners_only()

polyhedra & keep_corners_only ( )

Removes redundant points from the coordinate list.

Redundant points are points which are not corners.

◆ number_corners()

size_t number_corners ( ) const

Returns the number of points stored in the array coordinates.

◆ projection()

polyhedra & projection ( const std::vector< bool > &  S,
GiNaC::ex  f,
GiNaC::ex  c 
)

The projection.

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const polyhedra arg 
)
friend

Output. Prints out the index vector and the coordinates.


The documentation for this class was generated from the following files: