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

#include <integer_quadratic_model.hpp>

Public Member Functions

 IntegerQuadraticModel (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::vector< std::pair< std::int64_t, double > > > & GetQuadratic () const
 
const std::vector< double > & GetLinear () const
 
const std::vector< double > & GetSquared () const
 
double GetConstant () const
 
const std::vector< std::pair< std::int64_t, std::int64_t > > & GetBounds () const
 
const std::unordered_set< std::int64_t > & GetOnlyBilinearIndexSet () const
 

Private Attributes

std::vector< std::int64_t > index_list_
 
std::int64_t num_variables_
 
std::vector< std::vector< std::pair< std::int64_t, double > > > quadratic_
 
std::vector< doublelinear_
 
std::vector< doublesquared_
 
double constant_
 
std::vector< std::pair< std::int64_t, std::int64_t > > bounds_
 
std::unordered_set< std::int64_t > only_bilinear_index_set_
 

Constructor & Destructor Documentation

◆ IntegerQuadraticModel()

openjij::graph::IntegerQuadraticModel::IntegerQuadraticModel ( 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::IntegerQuadraticModel::GetBounds ( ) const
inline

References bounds_.

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

Here is the caller graph for this function:

◆ GetConstant()

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

References constant_.

◆ GetIndexList()

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

References index_list_.

◆ GetLinear()

const std::vector< double > & openjij::graph::IntegerQuadraticModel::GetLinear ( ) const
inline

References linear_.

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

Here is the caller graph for this function:

◆ GetMaxMinTerms()

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

References bounds_, openjij::graph::json_parse(), linear_, num_variables_, quadratic_, and squared_.

Here is the call graph for this function:

◆ GetNumVariables()

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

References num_variables_.

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

Here is the caller graph for this function:

◆ GetOnlyBilinearIndexSet()

const std::unordered_set< std::int64_t > & openjij::graph::IntegerQuadraticModel::GetOnlyBilinearIndexSet ( ) const
inline

◆ GetQuadratic()

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

References quadratic_.

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

Here is the caller graph for this function:

◆ GetSquared()

const std::vector< double > & openjij::graph::IntegerQuadraticModel::GetSquared ( ) const
inline

References squared_.

Referenced by openjij::system::IntegerSASystem< graph::IntegerQuadraticModel, 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::IntegerQuadraticModel::bounds_
private

◆ constant_

double openjij::graph::IntegerQuadraticModel::constant_
private

◆ index_list_

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

◆ linear_

std::vector<double> openjij::graph::IntegerQuadraticModel::linear_
private

◆ num_variables_

std::int64_t openjij::graph::IntegerQuadraticModel::num_variables_
private

◆ only_bilinear_index_set_

std::unordered_set<std::int64_t> openjij::graph::IntegerQuadraticModel::only_bilinear_index_set_
private

◆ quadratic_

std::vector<std::vector<std::pair<std::int64_t, double> > > openjij::graph::IntegerQuadraticModel::quadratic_
private

◆ squared_

std::vector<double> openjij::graph::IntegerQuadraticModel::squared_
private

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