openjij
Framework for the Ising model and QUBO.
|
Continuous Time Swendsen Wang updater for CTQIsystem on CSR Sparse graph. More...
#include <continuous_time_swendsen_wang.hpp>
Public Types | |
using | CTIsing = system::ContinuousTimeIsing< graph::CSRSparse< FloatType > > |
using | GraphType = typename graph::CSRSparse< FloatType > |
using | CutPoint = typename system::ContinuousTimeIsing< GraphType >::CutPoint |
using | TimeType = typename system::ContinuousTimeIsing< GraphType >::TimeType |
Static Public Member Functions | |
template<typename RandomNumberEngine > | |
static void | update (system::ContinuousTimeIsing< GraphType > &system, RandomNumberEngine &random_number_engine, const utility::TransverseFieldUpdaterParameter ¶meter) |
continuous time Swendsen-Wang updater for transverse ising model | |
static std::vector< CutPoint > | create_timeline (const std::vector< CutPoint > &old_timeline, const std::vector< TimeType > &cuts) |
create new timeline; place kinks by ignoring old cuts and place new cuts | |
static std::vector< CutPoint > | create_timeline_easy (const std::vector< CutPoint > &old_timeline, const std::vector< TimeType > &cuts) |
easy but inefficient version of create_timeline() | |
template<typename RandomNumberEngine > | |
static std::vector< TimeType > | generate_poisson_points (const TimeType lambda, const TimeType beta, RandomNumberEngine &random_number_engine) |
generates Poisson points with density lambda in the range of [0:beta) | |
Continuous Time Swendsen Wang updater for CTQIsystem on CSR Sparse graph.
FloatType |
using openjij::updater::ContinuousTimeSwendsenWang< system::ContinuousTimeIsing< graph::CSRSparse< FloatType > > >::CTIsing = system::ContinuousTimeIsing<graph::CSRSparse<FloatType> > |
using openjij::updater::ContinuousTimeSwendsenWang< system::ContinuousTimeIsing< graph::CSRSparse< FloatType > > >::CutPoint = typename system::ContinuousTimeIsing<GraphType>::CutPoint |
using openjij::updater::ContinuousTimeSwendsenWang< system::ContinuousTimeIsing< graph::CSRSparse< FloatType > > >::GraphType = typename graph::CSRSparse<FloatType> |
using openjij::updater::ContinuousTimeSwendsenWang< system::ContinuousTimeIsing< graph::CSRSparse< FloatType > > >::TimeType = typename system::ContinuousTimeIsing<GraphType>::TimeType |
|
inlinestatic |
create new timeline; place kinks by ignoring old cuts and place new cuts
|
inlinestatic |
easy but inefficient version of create_timeline()
|
inlinestatic |
generates Poisson points with density lambda in the range of [0:beta)
|
inlinestatic |
continuous time Swendsen-Wang updater for transverse ising model
References openjij::utility::UpdaterParameter< system::transverse_field_system >::beta, openjij::utility::UnionFind::find_set(), openjij::utility::UpdaterParameter< system::transverse_field_system >::s, and openjij::utility::UnionFind::unite_sets().