# net::Engine

#include <tensor_contract_engine.hpp>

# Public Functions

Name
template <typename contract_type ,typename absorb_type ,typename NodeVal ,typename NodeKey ,typename EdgeKey ,typename Trait >
NodeVal
contract_part(network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat, const std::set< NodeKey, typename Trait::nodekey_less > & part, const absorb_type & absorb_fun, const contract_type & contract_fun)
template <typename contract_type ,typename absorb_type ,typename NodeVal ,typename NodeKey ,typename EdgeKey ,typename Trait >
NodeVal
contract_qbb(network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat, const std::set< NodeKey, typename Trait::nodekey_less > & part, const absorb_type & absorb_fun, const contract_type & contract_fun)
template <typename contract_type ,typename absorb_type ,typename NodeVal ,typename NodeKey ,typename EdgeKey ,typename Trait >
NodeVal
contract_exact(network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat, const std::set< NodeKey, typename Trait::nodekey_less > & part, const absorb_type & absorb_fun, const contract_type & contract_fun)
template <typename contract_type ,typename absorb_type ,typename NodeVal ,typename NodeKey ,typename EdgeKey ,typename Trait >
NodeVal
contract_naive(network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat, const std::set< NodeKey, typename Trait::nodekey_less > & part, const absorb_type & absorb_fun, const contract_type & contract_fun)

# Public Attributes

Name
int coarse_grain_to
int cut_part
int refine_sweep
int small_part_size
bool rec_partition
bool verbose
std::string small_part_method
std::default_random_engine rand

# Public Functions Documentation

# function contract_part

template <typename contract_type ,
typename absorb_type ,
typename NodeVal ,
typename NodeKey ,
typename EdgeKey ,
typename Trait >
NodeVal contract_part(
    network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat,
    const std::set< NodeKey, typename Trait::nodekey_less > & part,
    const absorb_type & absorb_fun,
    const contract_type & contract_fun
)

# function contract_qbb

template <typename contract_type ,
typename absorb_type ,
typename NodeVal ,
typename NodeKey ,
typename EdgeKey ,
typename Trait >
NodeVal contract_qbb(
    network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat,
    const std::set< NodeKey, typename Trait::nodekey_less > & part,
    const absorb_type & absorb_fun,
    const contract_type & contract_fun
)

# function contract_exact

template <typename contract_type ,
typename absorb_type ,
typename NodeVal ,
typename NodeKey ,
typename EdgeKey ,
typename Trait >
NodeVal contract_exact(
    network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat,
    const std::set< NodeKey, typename Trait::nodekey_less > & part,
    const absorb_type & absorb_fun,
    const contract_type & contract_fun
)

# function contract_naive

template <typename contract_type ,
typename absorb_type ,
typename NodeVal ,
typename NodeKey ,
typename EdgeKey ,
typename Trait >
NodeVal contract_naive(
    network< NodeVal, int, NodeKey, EdgeKey, Trait > & lat,
    const std::set< NodeKey, typename Trait::nodekey_less > & part,
    const absorb_type & absorb_fun,
    const contract_type & contract_fun
)

# Public Attributes Documentation

# variable coarse_grain_to

int coarse_grain_to = 800;

# variable cut_part

int cut_part = 2;

# variable refine_sweep

int refine_sweep = 10000;

# variable small_part_size

int small_part_size = 20;

# variable rec_partition

bool rec_partition =false;

# variable verbose

bool verbose =false;

# variable small_part_method

std::string small_part_method ="quickbb";

# variable rand

std::default_random_engine rand = std::default_random_engine(0);

Updated on 15 June 2022 at 16:04:19 CST