|
openjij
Framework for the Ising model and QUBO.
|
#include <cmath>#include <cstddef>#include <tuple>#include <utility>#include <vector>#include "openjij/system/system.hpp"

Go to the source code of this file.
Classes | |
| struct | openjij::utility::UpdaterParameter< system::classical_system > |
| updater parameter for classical ising system More... | |
| struct | openjij::utility::UpdaterParameter< system::classical_constraint_system > |
| updater paramter for classical ising model with a single constraint More... | |
| struct | openjij::utility::UpdaterParameter< system::transverse_field_system > |
| updater paramter for transverse ising model More... | |
| struct | openjij::utility::Schedule< SystemType > |
| schedule struct More... | |
Namespaces | |
| namespace | openjij |
| namespace | openjij::utility |
Typedefs | |
| using | openjij::utility::ClassicalUpdaterParameter = UpdaterParameter< system::classical_system > |
| ClassicalUpdaterParameter alias. | |
| using | openjij::utility::ClassicalConstraintUpdaterParameter = UpdaterParameter< system::classical_constraint_system > |
| ClassicalUpdaterParameter alias. | |
| using | openjij::utility::TransverseFieldUpdaterParameter = UpdaterParameter< system::transverse_field_system > |
| TransverseFieldUpdaterParameter alias. | |
| template<typename SystemType > | |
| using | openjij::utility::ScheduleList = std::vector< Schedule< SystemType > > |
| schedule list alias | |
| using | openjij::utility::ClassicalScheduleList = ScheduleList< system::classical_system > |
| ClassicalScheduleList alias. | |
| using | openjij::utility::TransverseFieldScheduleList = ScheduleList< system::transverse_field_system > |
| TransverseFieldScheduleList alias. | |
| using | openjij::utility::ClassicalConstraintScheduleList = ScheduleList< system::classical_constraint_system > |
| ClassicalConstraintScheduleList alias. | |
Enumerations | |
| enum class | openjij::utility::TemperatureSchedule { openjij::utility::LINEAR , openjij::utility::GEOMETRIC } |
Functions | |
| ClassicalScheduleList | openjij::utility::make_classical_schedule_list (double beta_min, double beta_max, std::size_t one_mc_step, std::size_t num_call_updater) |
| helper function for making classical schedule list with geometric series of inverse temperatures. | |
| TransverseFieldScheduleList | openjij::utility::make_transverse_field_schedule_list (double beta, std::size_t one_mc_step, std::size_t num_call_updater) |
| helper function for making transverse field system schedule list with arithmetic sequence of annealing schedule (s) | |
| ClassicalConstraintScheduleList | openjij::utility::make_classical_constraint_schedule_list (double lambda, double beta_min, double beta_max, std::size_t one_mc_step, std::size_t num_call_updater) |
| helper function for making classical constraint schedule list with geometric series of inverse temperatures (with constraint parameter fixed). | |
| template<typename SystemType > | |
| ScheduleList< SystemType > | openjij::utility::make_schedule_list (const std::vector< std::pair< typename UpdaterParameter< SystemType >::Tuple, std::size_t > > &tuplelist) |
| helper function for making schedulelist from list of tuples | |
| template<typename FloatType > | |
| std::vector< FloatType > | openjij::utility::GenerateLinearBetaSchedule (const FloatType beta_min, const FloatType beta_max, const std::int32_t num_sweeps) |
| Generate linear temperature schedule. | |
| template<typename FloatType > | |
| std::vector< FloatType > | openjij::utility::GenerateGeometricBetaSchedule (const FloatType beta_min, const FloatType beta_max, const std::int32_t num_sweeps) |
| Generate geometric temperature schedule. | |
| template<typename FloatType > | |
| std::vector< FloatType > | openjij::utility::GenerateBetaList (const TemperatureSchedule schedule_type, const FloatType beta_min, const FloatType beta_max, const std::int32_t num_sweeps) |
| Generate temperature schedule from specific schedule. | |