xerus
a general purpose tensor library
contractionHeuristic.cpp File Reference

Implementation of some basic greedy contraction heuristics. More...

Go to the source code of this file.

Namespaces

 xerus
 The main namespace of xerus.
 
 xerus::internal
 Namespace for function and classes designated only for internal use.
 

Functions

std::tuple< size_t, size_t, size_t, double > xerus::internal::best_of_three (const TensorNetwork &_network, size_t _id1, size_t _id2, size_t _id3)
 
double xerus::internal::contraction_cost (double _m, double _n, double _r, double _sparsity1, double _sparsity2)
 
void xerus::internal::exchange_heuristic (double &_bestCost, std::vector< std::pair< size_t, size_t >> &_contractions, TensorNetwork _network)
 
void xerus::internal::greedy_best_of_three_heuristic (double &_bestCost, std::vector< std::pair< size_t, size_t >> &_contractions, TensorNetwork _network)
 
template<double(*)(double, double, double, double, double) scoreFct>
void xerus::internal::greedy_heuristic (double &_bestCost, std::vector< std::pair< size_t, size_t >> &_contractions, TensorNetwork _network)
 
double xerus::internal::score_big_tensor (double _m, double _n, double _r, double _sparsity1, double _sparsity2)
 
double xerus::internal::score_littlestep (double _m, double _n, double _r, double _sparsity1, double _sparsity2)
 
double xerus::internal::score_mn (double _m, double _n, double _r, double _sparsity1, double _sparsity2)
 
double xerus::internal::score_r (double _m, double _n, double _r, double _sparsity1, double _sparsity2)
 
double xerus::internal::score_size (double _m, double _n, double _r, double _sparsity1, double _sparsity2)
 
double xerus::internal::score_speed (double _m, double _n, double _r, double _sparsity1, double _sparsity2)
 

Detailed Description

Implementation of some basic greedy contraction heuristics.

Definition in file contractionHeuristic.cpp.