ExaTN
src
numerics
contraction_seq_optimizer_heuro.hpp
1
10
#ifndef EXATN_NUMERICS_CONTRACTION_SEQ_OPTIMIZER_HEURO_HPP_
11
#define EXATN_NUMERICS_CONTRACTION_SEQ_OPTIMIZER_HEURO_HPP_
12
13
#include "contraction_seq_optimizer.hpp"
14
15
namespace
exatn
{
16
17
namespace
numerics{
18
19
class
ContractionSeqOptimizerHeuro
:
public
ContractionSeqOptimizer
{
20
21
public
:
22
23
ContractionSeqOptimizerHeuro
();
24
virtual
~
ContractionSeqOptimizerHeuro
() =
default
;
25
26
void
resetNumWalkers(
unsigned
int
num_walkers);
27
28
virtual
double
determineContractionSequence
(
const
TensorNetwork
& network,
29
std::list<ContrTriple> & contr_seq,
30
std::function<
unsigned
int
()> intermediate_num_generator)
override
;
31
32
static
std::unique_ptr<ContractionSeqOptimizer> createNew();
33
34
protected
:
35
36
unsigned
int
num_walkers_;
37
};
38
39
}
//namespace numerics
40
41
}
//namespace exatn
42
43
#endif //EXATN_NUMERICS_CONTRACTION_SEQ_OPTIMIZER_HEURO_HPP_
exatn::numerics::TensorNetwork
Definition:
tensor_network.hpp:72
exatn::numerics::ContractionSeqOptimizer
Definition:
contraction_seq_optimizer.hpp:33
exatn
Definition:
DriverClient.hpp:10
exatn::numerics::ContractionSeqOptimizerHeuro::determineContractionSequence
virtual double determineContractionSequence(const TensorNetwork &network, std::list< ContrTriple > &contr_seq, std::function< unsigned int()> intermediate_num_generator) override
Definition:
contraction_seq_optimizer_heuro.cpp:38
exatn::numerics::ContractionSeqOptimizerHeuro
Definition:
contraction_seq_optimizer_heuro.hpp:19
Generated by
1.8.16