openjij
Framework for the Ising model and QUBO.
Loading...
Searching...
No Matches
openjij Namespace Reference

Namespaces

namespace  _version
 
namespace  algorithm
 
namespace  graph
 
namespace  model
 
namespace  result
 
namespace  sampler
 
namespace  system
 
namespace  updater
 
namespace  utility
 
namespace  utils
 
namespace  variable_type
 

Typedefs

using FloatType = double
 Note:
 
using RandomEngine = utility::Xorshift
 

Functions

void declare_Graph (py::module &m)
 
template<typename FloatType >
void declare_Dense (py::module &m, const std::string &suffix)
 
template<typename FloatType >
void declare_Sparse (py::module &m, const std::string &suffix)
 
template<typename FloatType >
void declare_CSRSparse (py::module &m, const std::string &suffix)
 
template<typename FloatType >
void declare_Polynomial (py::module &m, const std::string &suffix)
 
void declare_Dir (py::module &m)
 
template<typename FloatType >
void declare_Square (py::module &m, const std::string &suffix)
 
void declare_ChimeraDir (py::module &m)
 
template<typename FloatType >
void declare_Chimera (py::module &m, const std::string &suffix)
 
template<typename GraphType >
void declare_ClassicalIsing (py::module &m, const std::string &gtype_str)
 
template<typename GraphType >
void declare_ClassicalIsingPolynomial (py::module &m, const std::string &gtype_str)
 
template<typename GraphType >
void declare_KLocalPolynomial (py::module &m, const std::string &gtype_str)
 
template<typename GraphType >
void declare_TransverseIsing (py::module &m, const std::string &gtype_str)
 
template<typename GraphType >
void declare_ContinuousTimeIsing (py::module &m, const std::string &gtype_str)
 
template<template< typename > class Updater, typename System , typename RandomNumberEngine >
void declare_Algorithm_run (py::module &m, const std::string &updater_str)
 
template<typename SystemType >
std::string repr_impl (const utility::UpdaterParameter< SystemType > &)
 
template<>
std::string repr_impl (const utility::UpdaterParameter< system::classical_system > &obj)
 
template<>
std::string repr_impl (const utility::UpdaterParameter< system::classical_constraint_system > &obj)
 
template<>
std::string repr_impl (const utility::UpdaterParameter< system::transverse_field_system > &obj)
 
void declare_ClassicalUpdaterParameter (py::module &m)
 
void declare_ClassicalConstraintUpdaterParameter (py::module &m)
 
void declare_TransverseFieldUpdaterParameter (py::module &m)
 
template<typename SystemType >
void declare_Schedule (py::module &m, const std::string &systemtype_str)
 
template<typename System >
void declare_get_solution (py::module &m)
 
template<typename FloatType >
void declare_BinaryPolynomialModel (py::module &m)
 
template<typename FloatType >
void declare_IsingPolynomialModel (py::module &m)
 
template<class ModelType >
void declare_SASampler (py::module &m, const std::string &post_name="")
 
void declare_UpdateMethod (py::module &m)
 
void declare_RandomNumberEngine (py::module &m)
 
void declare_TemperatureSchedule (py::module &m)
 

Variables

 __path__ = extend_path(__path__, __name__)
 
list __all__
 

Typedef Documentation

◆ FloatType

using openjij::FloatType = typedef double

Note:

By default, cxxjij (python implementation of openjij) is installed following the configuration listed below. If you want to use cxxjij with non-default settings (e.g. using mersenne twister, calculating with long double precision, etc), please change the following configuration and recompile with the command:

$ python setup.py clean && python setup.py install

◆ RandomEngine

Function Documentation

◆ declare_Algorithm_run()

template<template< typename > class Updater, typename System , typename RandomNumberEngine >
void openjij::declare_Algorithm_run ( py::module &  m,
const std::string &  updater_str 
)
inline

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ declare_BinaryPolynomialModel()

template<typename FloatType >
void openjij::declare_BinaryPolynomialModel ( py::module &  m)

References declare_BinaryPolynomialModel().

Referenced by declare_BinaryPolynomialModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_Chimera()

template<typename FloatType >
void openjij::declare_Chimera ( py::module &  m,
const std::string &  suffix 
)
inline

◆ declare_ChimeraDir()

void openjij::declare_ChimeraDir ( py::module &  m)
inline

◆ declare_ClassicalConstraintUpdaterParameter()

void openjij::declare_ClassicalConstraintUpdaterParameter ( py::module &  m)
inline

References declare_ClassicalConstraintUpdaterParameter(), and repr_impl().

Referenced by declare_ClassicalConstraintUpdaterParameter(), and PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_ClassicalIsing()

template<typename GraphType >
void openjij::declare_ClassicalIsing ( py::module &  m,
const std::string &  gtype_str 
)
inline

◆ declare_ClassicalIsingPolynomial()

template<typename GraphType >
void openjij::declare_ClassicalIsingPolynomial ( py::module &  m,
const std::string &  gtype_str 
)
inline

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ declare_ClassicalUpdaterParameter()

void openjij::declare_ClassicalUpdaterParameter ( py::module &  m)
inline

References declare_ClassicalUpdaterParameter(), and repr_impl().

Referenced by declare_ClassicalUpdaterParameter(), and PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_ContinuousTimeIsing()

template<typename GraphType >
void openjij::declare_ContinuousTimeIsing ( py::module &  m,
const std::string &  gtype_str 
)
inline

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ declare_CSRSparse()

template<typename FloatType >
void openjij::declare_CSRSparse ( py::module &  m,
const std::string &  suffix 
)
inline

References openjij::graph::CSRSparse< FloatType >::calc_energy().

Here is the call graph for this function:

◆ declare_Dense()

template<typename FloatType >
void openjij::declare_Dense ( py::module &  m,
const std::string &  suffix 
)
inline

◆ declare_Dir()

void openjij::declare_Dir ( py::module &  m)
inline

References openjij::graph::MINUS_C, openjij::graph::MINUS_R, openjij::graph::PLUS_C, and openjij::graph::PLUS_R.

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ declare_get_solution()

template<typename System >
void openjij::declare_get_solution ( py::module &  m)
inline

References declare_get_solution().

Referenced by declare_get_solution(), and PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_Graph()

void openjij::declare_Graph ( py::module &  m)
inline

References openjij::graph::Graph::gen_binary(), openjij::graph::Graph::gen_spin(), and openjij::graph::Graph::size().

Referenced by PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_IsingPolynomialModel()

template<typename FloatType >
void openjij::declare_IsingPolynomialModel ( py::module &  m)

References declare_IsingPolynomialModel().

Referenced by declare_IsingPolynomialModel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_KLocalPolynomial()

template<typename GraphType >
void openjij::declare_KLocalPolynomial ( py::module &  m,
const std::string &  gtype_str 
)
inline

Referenced by PYBIND11_MODULE().

Here is the caller graph for this function:

◆ declare_Polynomial()

template<typename FloatType >
void openjij::declare_Polynomial ( py::module &  m,
const std::string &  suffix 
)
inline

References openjij::graph::json_parse().

Here is the call graph for this function:

◆ declare_RandomNumberEngine()

void openjij::declare_RandomNumberEngine ( py::module &  m)

References declare_RandomNumberEngine().

Referenced by declare_RandomNumberEngine(), and PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_SASampler()

template<class ModelType >
void openjij::declare_SASampler ( py::module &  m,
const std::string &  post_name = "" 
)

References declare_SASampler().

Referenced by declare_SASampler().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_Schedule()

template<typename SystemType >
void openjij::declare_Schedule ( py::module &  m,
const std::string &  systemtype_str 
)
inline

References declare_Schedule(), openjij::utility::Schedule< SystemType >::one_mc_step, repr_impl(), and openjij::utility::Schedule< SystemType >::updater_parameter.

Referenced by declare_Schedule().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_Sparse()

template<typename FloatType >
void openjij::declare_Sparse ( py::module &  m,
const std::string &  suffix 
)
inline

◆ declare_Square()

template<typename FloatType >
void openjij::declare_Square ( py::module &  m,
const std::string &  suffix 
)
inline

◆ declare_TemperatureSchedule()

void openjij::declare_TemperatureSchedule ( py::module &  m)

References declare_TemperatureSchedule().

Referenced by declare_TemperatureSchedule(), and PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_TransverseFieldUpdaterParameter()

void openjij::declare_TransverseFieldUpdaterParameter ( py::module &  m)
inline

References declare_TransverseFieldUpdaterParameter(), and repr_impl().

Referenced by declare_TransverseFieldUpdaterParameter(), and PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ declare_TransverseIsing()

template<typename GraphType >
void openjij::declare_TransverseIsing ( py::module &  m,
const std::string &  gtype_str 
)
inline

◆ declare_UpdateMethod()

void openjij::declare_UpdateMethod ( py::module &  m)

References declare_UpdateMethod().

Referenced by declare_UpdateMethod(), and PYBIND11_MODULE().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ repr_impl() [1/4]

template<>
std::string openjij::repr_impl ( const utility::UpdaterParameter< system::classical_constraint_system > &  obj)
inline

References repr_impl().

Here is the call graph for this function:

◆ repr_impl() [2/4]

template<>
std::string openjij::repr_impl ( const utility::UpdaterParameter< system::classical_system > &  obj)
inline

References repr_impl().

Here is the call graph for this function:

◆ repr_impl() [3/4]

template<>
std::string openjij::repr_impl ( const utility::UpdaterParameter< system::transverse_field_system > &  obj)
inline

References repr_impl().

Here is the call graph for this function:

◆ repr_impl() [4/4]

template<typename SystemType >
std::string openjij::repr_impl ( const utility::UpdaterParameter< SystemType > &  )
inline

References repr_impl().

Referenced by declare_ClassicalConstraintUpdaterParameter(), declare_ClassicalUpdaterParameter(), declare_Schedule(), declare_TransverseFieldUpdaterParameter(), repr_impl(), repr_impl(), repr_impl(), and repr_impl().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ __all__

list openjij.__all__
private
Initial value:
1= [
2 "cxxjij",
3 "SPIN",
4 "BINARY",
5 "Vartype",
6 "cast_vartype",
7 "Response",
8 "SASampler",
9 "SQASampler",
10 "CSQASampler",
11 "BinaryQuadraticModel",
12 "BinaryPolynomialModel",
13 "solver_benchmark",
14 "convert_response",
15 "base_sample_hubo",
16]

◆ __path__

openjij.__path__ = extend_path(__path__, __name__)
private