Class find_embedding::embedding_problem_base¶
-
class embedding_problem_base¶
Common form for all embedding problems.
Needs to be extended with a fixed handler and domain handler to be complete.
Subclassed by find_embedding::embedding_problem< fixed_handler, domain_handler, output_handler >
Public Functions
-
inline void reset_mood()¶
resets some internal, ephemeral, variables to a default state
-
inline void populate_weight_table(int max_weight)¶
precomputes a table of weights corresponding to various overlap values
c
, forc
from 0 tomax_weight
, inclusive.
-
inline distance_t weight(unsigned int c) const¶
returns the precomputed weight associated with an overlap value of
c
-
inline const vector<int> &var_neighbors(int u) const¶
a vector of neighbors for the variable
u
-
inline const vector<int> &var_neighbors(int u, shuffle_first)¶
a vector of neighbors for the variable
u
, pre-shuffling them
-
inline const vector<int> &var_neighbors(int u, rndswap_first)¶
a vector of neighbors for the variable
u
, applying a random transposition before returning the reference
-
inline const vector<int> &qubit_neighbors(int q) const¶
a vector of neighbors for the qubit
q
-
inline int num_vars() const¶
number of variables which are not fixed
-
inline int num_qubits() const¶
number of qubits which are not reserved
-
inline int num_fixed() const¶
number of fixed variables
-
inline int num_reserved() const¶
number of reserved qubits
-
inline int randint(int a, int b)¶
make a random integer between 0 and
m-1
-
template<typename A, typename B>
inline void shuffle(A a, B b)¶ shuffle the data bracketed by iterators
a
andb
-
inline void qubit_component(int q0, vector<int> &component, vector<int> &visited)¶
compute the connected component of the subset
component
of qubits, containingq0
, and usingvisited
as an indicator for which qubits have been explored
-
inline const vector<int> &var_order(VARORDER order = VARORDER_SHUFFLE)¶
compute a variable ordering according to the
order
strategy
-
inline void dfs_component(int x, const vector<vector<int>> &neighbors, vector<int> &component, vector<int> &visited)¶
Perform a depth first search.
Public Members
-
optional_parameters ¶ms¶
A mutable reference to the user specified parameters.
-
inline void reset_mood()¶