|
openjij
Framework for the Ising model and QUBO.
|
Classes | |
| struct | classical_constraint_system |
| classical monte carlo system with a constraint (using beta (inverse temperature) for annealing parameter) More... | |
| struct | classical_system |
| classical monte carlo system (using beta (inverse temperature) for annealing parameter) More... | |
| struct | ClassicalIsing |
| ClassicalIsing structure (system for classical Ising model) More... | |
| struct | ClassicalIsing< graph::CSRSparse< FloatType > > |
| ClassicalIsing structure for CSR Sparse graph (Eigen-based) More... | |
| struct | ClassicalIsing< graph::Dense< FloatType > > |
| ClassicalIsing structure for Dense graph (Eigen-based) More... | |
| struct | ClassicalIsing< graph::Sparse< FloatType > > |
| ClassicalIsing structure for Sparse graph (Eigen-based) More... | |
| class | ClassicalIsingPolynomial |
| ClassicalIsingPolynomial class, which is a system to solve higher order unconstrained binary optimization (HUBO) problems with vartype being "SPIN" or "BINARY". More... | |
| class | ClassicalIsingPolynomial< graph::Polynomial< FloatType > > |
| ClassicalIsingPolynomial class. More... | |
| struct | ContinuousTimeIsing |
| Continuous Time Quantum Ising system. More... | |
| struct | ContinuousTimeIsing< graph::CSRSparse< FloatType > > |
| Continuous Time Quantum Ising system (for CSR Sparse graph) More... | |
| struct | ContinuousTimeIsing< graph::Sparse< FloatType > > |
| Continuous Time Quantum Ising system (for Sparse graph) More... | |
| struct | get_base_system_type |
| meta function to check whether system type is derived from mc_system, single_command_system, or real_time_dynamics_system. More... | |
| struct | get_classical_or_quantum_system_type |
| meta function to check whether system type is derived from classical_system or quantum_system. More... | |
| struct | get_system_type |
| meta function for getting system type More... | |
| struct | inhomogeneous_transverse_field_system |
| inhomogeneous transverse field system More... | |
| class | IntegerSASystem |
| class | IntegerSASystem< graph::IntegerPolynomialModel, RandType > |
| class | IntegerSASystem< graph::IntegerQuadraticModel, RandType > |
| class | KLocalPolynomial |
| KLocalPolynomial class, which is a system to solve higher order unconstrained binary optimization (HUBO) problems with vartype being "BINARY". More... | |
| class | KLocalPolynomial< graph::Polynomial< FloatType > > |
| KLocalPolynomial class. More... | |
| struct | mc_system |
| monte carlo system tag More... | |
| struct | nonstoquastic_system |
| nonstoquastic quantum system More... | |
| struct | quantum_system |
| quantum monte carlo system More... | |
| struct | realtime_dynamics_system |
| system tag for solving real time schrodinger dynamics More... | |
| class | SASystem |
| class | SASystem< graph::BinaryPolynomialModel< FloatType >, RandType > |
| class | SASystem< graph::IsingPolynomialModel< FloatType >, RandType > |
| struct | single_command_system |
| system tag with single command execution (e.g. More... | |
| struct | transverse_field_system |
| ordinary homogeneous transverse field system (using beta and annealing schedule (s) for annealing parameter) More... | |
| struct | TransverseIsing |
| TransverseIsing structure with discrete-time trotter spins. More... | |
| struct | TransverseIsing< graph::CSRSparse< FloatType > > |
| CSR Sparse TransverseIsing structure with discrete-time trotter spins (with Eigen implementation) The original Hamiltonian is like. More... | |
| struct | TransverseIsing< graph::Dense< FloatType > > |
| naive Dense TransverseIsing structure with discrete-time trotter spins (with Eigen implementation) The original Hamiltonian is like More... | |
| struct | TransverseIsing< graph::Sparse< FloatType > > |
| naive Sparse TransverseIsing structure with discrete-time trotter spins (with Eigen implementation) The original Hamiltonian is like More... | |
Typedefs | |
| using | TrotterSpins = std::vector< graph::Spins > |
| trotterized spin (std::vector<Spins>) trotter_spins[i][j] -> jth spin in ith trotter slice. | |
Functions | |
| template<typename GraphType > | |
| auto | make_classical_ising (const graph::Spins &init_spin, const GraphType &init_interaction) |
| helper function for ClassicalIsing constructor | |
| template<typename GraphType > | |
| auto | make_classical_ising_polynomial (const graph::Spins &init_variables, const GraphType &poly_graph, const cimod::Vartype init_vartype) |
| Helper function for ClassicalIsingPolynomial constructor. | |
| template<typename GraphType > | |
| auto | make_classical_ising_polynomial (const graph::Spins &init_variables, const GraphType &poly_graph, const std::string init_vartype) |
| Helper function for ClassicalIsingPolynomial constructor. | |
| auto | make_classical_ising_polynomial (const graph::Spins &init_variables, const nlohmann::json &init_obj) |
| Helper function for ClassicalIsingPolynomial constructor by using nlohmann::json object. | |
| template<typename GraphType > | |
| ContinuousTimeIsing< GraphType > | make_continuous_time_ising (const graph::Spins &init_spins, const GraphType &init_interaction, double gamma) |
| helper function for ContinuousTimeIsing constructor | |
| template<typename GraphType > | |
| auto | make_k_local_polynomial (const graph::Binaries &init_binaries, const GraphType &init_interaction) |
| Helper function for ClassicalIsingPolynomial constructor. | |
| auto | make_k_local_polynomial (const graph::Binaries &init_binaries, const nlohmann::json &init_obj) |
| Helper function for ClassicalIsingPolynomial constructor by using nlohmann::json object. | |
| template<typename GraphType > | |
| auto | make_transverse_ising (const TrotterSpins &init_trotter_spins, const GraphType &init_interaction, const typename GraphType::value_type gamma) |
| helper function for TransverseIsing constructor | |
| template<typename GraphType > | |
| auto | make_transverse_ising (const graph::Spins &classical_spins, const GraphType &init_interaction, const typename GraphType::value_type gamma, const std::size_t num_trotter_slices) |
| helper function for TransverseIsing constructor | |
Variables | |
| static constexpr bool | USE_EIGEN = true |
| USE_EIGEN flag. | |
| using openjij::system::TrotterSpins = typedef std::vector<graph::Spins> |
trotterized spin (std::vector<Spins>) trotter_spins[i][j] -> jth spin in ith trotter slice.
| auto openjij::system::make_classical_ising | ( | const graph::Spins & | init_spin, |
| const GraphType & | init_interaction | ||
| ) |
helper function for ClassicalIsing constructor
| GraphType |
| init_spin | initial spin |
| init_interaction | initial interaction |
| auto openjij::system::make_classical_ising_polynomial | ( | const graph::Spins & | init_variables, |
| const GraphType & | poly_graph, | ||
| const cimod::Vartype | init_vartype | ||
| ) |
Helper function for ClassicalIsingPolynomial constructor.
| GraphType |
| init_variables | const graph::Spins& or const graph::Binaries& (both are equal). The initial spin/binarie configulations. |
| poly_graph | graph::Polynomial<FloatType>& (Polynomial graph class). The initial interacrtions. |
| init_vartype | const cimod::Vartype. The model's variable type. SPIN or BINARY. |
| auto openjij::system::make_classical_ising_polynomial | ( | const graph::Spins & | init_variables, |
| const GraphType & | poly_graph, | ||
| const std::string | init_vartype | ||
| ) |
Helper function for ClassicalIsingPolynomial constructor.
| GraphType |
| init_variables | const graph::Spins& or const graph::Binaries& (both are equal). The initial spin/binarie configulations. |
| poly_graph | graph::Polynomial<FloatType>& (Polynomial graph class). The initial interacrtions. |
| init_vartype | std::string. The model's variable type. SPIN or BINARY. |
| auto openjij::system::make_classical_ising_polynomial | ( | const graph::Spins & | init_variables, |
| const nlohmann::json & | init_obj | ||
| ) |
Helper function for ClassicalIsingPolynomial constructor by using nlohmann::json object.
| init_variables | const graph::Spins& or const graph::Binaries& (both are equal). The initial spin/binarie configulations. |
| init_obj | nlohmann::json& |
| ContinuousTimeIsing< GraphType > openjij::system::make_continuous_time_ising | ( | const graph::Spins & | init_spins, |
| const GraphType & | init_interaction, | ||
| double | gamma | ||
| ) |
helper function for ContinuousTimeIsing constructor
| GraphType |
| init_spins | |
| interaction | |
| gamma |
| auto openjij::system::make_k_local_polynomial | ( | const graph::Binaries & | init_binaries, |
| const GraphType & | init_interaction | ||
| ) |
Helper function for ClassicalIsingPolynomial constructor.
| GraphType |
| init_binaries | const graph::Binaries&. The initial binaries. |
| init_interaction | GraphType&. The initial interactions. |
| auto openjij::system::make_k_local_polynomial | ( | const graph::Binaries & | init_binaries, |
| const nlohmann::json & | init_obj | ||
| ) |
Helper function for ClassicalIsingPolynomial constructor by using nlohmann::json object.
| FloatType |
| init_binaries | const graph::Binaries&. The initial binaries. |
| init_obj | nlohmann::json& |
| auto openjij::system::make_transverse_ising | ( | const graph::Spins & | classical_spins, |
| const GraphType & | init_interaction, | ||
| const typename GraphType::value_type | gamma, | ||
| const std::size_t | num_trotter_slices | ||
| ) |
helper function for TransverseIsing constructor
| GraphType |
| classical_spins | |
| init_interaction | |
| gamma | |
| num_trotter_slices |
| auto openjij::system::make_transverse_ising | ( | const TrotterSpins & | init_trotter_spins, |
| const GraphType & | init_interaction, | ||
| const typename GraphType::value_type | gamma | ||
| ) |
helper function for TransverseIsing constructor
| GraphType |
| init_trotter_spins | |
| init_interaction | |
| gamma |
|
staticconstexpr |
USE_EIGEN flag.