openjij
Framework for the Ising model and QUBO.
Loading...
Searching...
No Matches
openjij::graph::IntegerPolynomialModel Class Reference

#include <integer_polynomial_model.hpp>

Public Member Functions

 IntegerPolynomialModel (std::vector< std::vector< std::int64_t > > &key_list, std::vector< double > &value_list, std::vector< std::pair< std::int64_t, std::int64_t > > &bounds)
 
std::pair< double, doubleGetMaxMinTerms () const
 
const std::vector< std::int64_t > & GetIndexList () const
 
std::int64_t GetNumVariables () const
 
const std::vector< std::pair< std::int64_t, std::int64_t > > & GetBounds () const
 
double GetConstant () const
 
const std::vector< std::pair< std::vector< std::pair< std::int64_t, std::int64_t > >, double > > & GetKeyValueList () const
 
const std::vector< std::vector< std::pair< std::size_t, std::int64_t > > > & GetIndexToInteractions () const
 
std::int64_t GetEachVariableDegreeAt (const std::int64_t index) const
 
const std::vector< std::int64_t > & GetEachVariableDegree () const
 

Private Attributes

std::vector< std::int64_t > index_list_
 
std::int64_t num_variables_
 
std::vector< std::pair< std::int64_t, std::int64_t > > bounds_
 
double constant_
 
std::vector< std::pair< std::vector< std::pair< std::int64_t, std::int64_t > >, double > > key_value_list_
 
std::vector< std::vector< std::pair< std::size_t, std::int64_t > > > index_to_interactions_
 
std::vector< std::int64_t > max_variable_degree_
 

Constructor & Destructor Documentation

◆ IntegerPolynomialModel()

openjij::graph::IntegerPolynomialModel::IntegerPolynomialModel ( std::vector< std::vector< std::int64_t > > &  key_list,
std::vector< double > &  value_list,
std::vector< std::pair< std::int64_t, std::int64_t > > &  bounds 
)
inline

Member Function Documentation

◆ GetBounds()

const std::vector< std::pair< std::int64_t, std::int64_t > > & openjij::graph::IntegerPolynomialModel::GetBounds ( ) const
inline

References bounds_.

Referenced by openjij::system::IntegerSASystem< graph::IntegerPolynomialModel, RandType >::IntegerSASystem().

Here is the caller graph for this function:

◆ GetConstant()

double openjij::graph::IntegerPolynomialModel::GetConstant ( ) const
inline

References constant_.

◆ GetEachVariableDegree()

const std::vector< std::int64_t > & openjij::graph::IntegerPolynomialModel::GetEachVariableDegree ( ) const
inline

References max_variable_degree_.

◆ GetEachVariableDegreeAt()

std::int64_t openjij::graph::IntegerPolynomialModel::GetEachVariableDegreeAt ( const std::int64_t  index) const
inline

References max_variable_degree_.

◆ GetIndexList()

const std::vector< std::int64_t > & openjij::graph::IntegerPolynomialModel::GetIndexList ( ) const
inline

References index_list_.

◆ GetIndexToInteractions()

const std::vector< std::vector< std::pair< std::size_t, std::int64_t > > > & openjij::graph::IntegerPolynomialModel::GetIndexToInteractions ( ) const
inline

◆ GetKeyValueList()

const std::vector< std::pair< std::vector< std::pair< std::int64_t, std::int64_t > >, double > > & openjij::graph::IntegerPolynomialModel::GetKeyValueList ( ) const
inline

References key_value_list_.

Referenced by openjij::system::IntegerSASystem< graph::IntegerPolynomialModel, RandType >::IntegerSASystem().

Here is the caller graph for this function:

◆ GetMaxMinTerms()

std::pair< double, double > openjij::graph::IntegerPolynomialModel::GetMaxMinTerms ( ) const
inline

References bounds_, openjij::graph::json_parse(), and key_value_list_.

Here is the call graph for this function:

◆ GetNumVariables()

std::int64_t openjij::graph::IntegerPolynomialModel::GetNumVariables ( ) const
inline

References num_variables_.

Referenced by openjij::system::IntegerSASystem< graph::IntegerPolynomialModel, RandType >::IntegerSASystem().

Here is the caller graph for this function:

Member Data Documentation

◆ bounds_

std::vector<std::pair<std::int64_t, std::int64_t> > openjij::graph::IntegerPolynomialModel::bounds_
private

◆ constant_

double openjij::graph::IntegerPolynomialModel::constant_
private

◆ index_list_

std::vector<std::int64_t> openjij::graph::IntegerPolynomialModel::index_list_
private

◆ index_to_interactions_

std::vector<std::vector<std::pair<std::size_t, std::int64_t> > > openjij::graph::IntegerPolynomialModel::index_to_interactions_
private

◆ key_value_list_

std::vector< std::pair<std::vector<std::pair<std::int64_t, std::int64_t> >, double> > openjij::graph::IntegerPolynomialModel::key_value_list_
private

◆ max_variable_degree_

std::vector<std::int64_t> openjij::graph::IntegerPolynomialModel::max_variable_degree_
private

◆ num_variables_

std::int64_t openjij::graph::IntegerPolynomialModel::num_variables_
private

The documentation for this class was generated from the following file: