xerus
a general purpose tensor library
contractionHeuristic.h File Reference

Header file for the class managing the contraction heuristics. More...

#include <vector>
#include "basic.h"

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.
 

Typedefs

typedef void(* xerus::internal::ContractionHeuristic) (double &, std::vector< std::pair< size_t, size_t >> &, TensorNetwork)
 

Functions

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)
 

Variables

const std::vector< ContractionHeuristic > xerus::internal::contractionHeuristics
 

Detailed Description

Header file for the class managing the contraction heuristics.

Definition in file contractionHeuristic.h.