| QUBO++ Library with QUBO Solver APIs
    Author: Koji Nakano, License: Non-commercial research and evaluation purposes without any guarantees. | 
Namespace for factorization using QUBO++ library. More...
| Classes | |
| class | SolHolder | 
| Solution holder to store the best solution of factorization.  More... | |
| class | ABS2Callback | 
| Class to define ABS2 callback function for factorization.  More... | |
| class | GRB_Callback | 
| Class to define Gurobi callback function for factorization.  More... | |
| Functions | |
| Expr | and_gate (const Expr &a, const Expr &b, Var x, MapList &opt_sol) | 
| Function to generate a QUBO expression Expr object for the AND gate.  More... | |
| Expr | half_adder (const Expr &x, const Expr &y, Var s, Var c, MapList &opt_sol) | 
| Function to generates a QUBO expression Expr object for the Half Adder.  More... | |
| Expr | full_adder (const Expr &x, const Expr &y, const Expr &z, Var s, Var c, MapList &opt_sol) | 
| Function to generate a QUBO expression Expr object for the Full Adder.  More... | |
| template<typename T , typename U > | |
| Expr | adder (const qbpp::Vector< T > &x, const qbpp::Vector< U > &y, const qbpp::Vector< Var > &s, const qbpp::Vector< Var > &c, MapList &opt_sol) | 
| function to generate QUBO expression for n-bit adder  More... | |
| template<typename T , typename U > | |
| Expr | multiplier (const qbpp::Vector< T > &x, const qbpp::Vector< U > &y, const qbpp::Vector< Var > &z, MapList &opt_sol) | 
| Function to generate QUBO expression for multiplier.  More... | |
| std::string | toBinaryString (uint64_t num) | 
| Converts a number to a binary string.  More... | |
| uint64_t | as_uint64 (const qbpp::Sol &sol, const qbpp::Vector< qbpp::Var > &var, bool fix_lsb) | 
| Converts a vector of Var in a solution to a 64-bit unsigned integer.  More... | |
| uint64_t | as_uint64 (const qbpp::SolHolder &sol_holder, const qbpp::Vector< qbpp::Var > &var, bool fix_lsb) | 
| Converts a vector of Var in a solution holder to a 64-bit unsigned integer.  More... | |
| bool | is_prime (uint32_t num) | 
| uint32_t | rand_prime (int size) | 
| Generates a random prime number of the specified size.  More... | |
Namespace for factorization using QUBO++ library.
| 
 | inline | 
Function to generate a QUBO expression Expr object for the AND gate.
| a | The Expr object of the input. | 
| b | The Expr object of the input. | 
| x | The Var object of the output. | 
| opt_sol | The MapList object of the optimal solution. | 
Expr is a binary expression taking the minimum value 0 if x = a & b
Definition at line 26 of file qbpp_multiplier.hpp.


| 
 | inline | 
Function to generates a QUBO expression Expr object for the Half Adder.
| x | The Expr object of the input. | 
| y | The Expr object of the input. | 
| s | The Var object of the sum output. | 
| c | The Var object of the carry output. | 
| opt_sol | The MapList object of the optimal solution. | 
Expr is a binary expression taking the minimum value 0 if x, y, s, c satisfy s = x ^ y and c = x & y
Definition at line 43 of file qbpp_multiplier.hpp.


| 
 | inline | 
Function to generate a QUBO expression Expr object for the Full Adder.
| x | The Expr object of the input. | 
| y | The Expr object of the input. | 
| z | The Expr object of the input. | 
| s | The Var object of the sum output. | 
| c | The Var object of the carry output. | 
| opt_sol | optimal solution of the QUBO expression to be updated | 
Expr is a binary expression taking the minimum value 0 if x, y, z, s, satisfy s = x ^ y ^ z and c = x & y + y & z + z & x
Definition at line 66 of file qbpp_multiplier.hpp.


| Expr qbpp::factorization::adder | ( | const qbpp::Vector< T > & | x, | 
| const qbpp::Vector< U > & | y, | ||
| const qbpp::Vector< Var > & | s, | ||
| const qbpp::Vector< Var > & | c, | ||
| MapList & | opt_sol | ||
| ) | 
function to generate QUBO expression for n-bit adder
| x | The input vector of T object. | 
| y | The input vector of U object. | 
| s | The output vector of Var object. | 
| c | The carry vector of Var object. | 
| opt_sol | optimal solution of the QUBO expression to be updated. | 
Expr is a binary expression taking the minimum value 0 if x, y, s, c satisfy s = x + y and c are carry bits
Definition at line 95 of file qbpp_multiplier.hpp.


| Expr qbpp::factorization::multiplier | ( | const qbpp::Vector< T > & | x, | 
| const qbpp::Vector< U > & | y, | ||
| const qbpp::Vector< Var > & | z, | ||
| MapList & | opt_sol | ||
| ) | 
Function to generate QUBO expression for multiplier.
| T | input type of input vector x: Var or Expr | 
| U | input type of input vector y: Var or Expr | 
| x | input vector of T | 
| y | input vector of U | 
| z | input vector of Var | 
| opt_sol | optimal solution of the QUBO expression to be updated | 
Expr is a binary expression taking the minimum value 0 if z = x * y
Definition at line 122 of file qbpp_multiplier.hpp.


| std::string qbpp::factorization::toBinaryString | ( | uint64_t | num | ) | 
Converts a number to a binary string.
| num | The number to be easyerted. | 
Definition at line 40 of file factorization.cpp.

| uint64_t qbpp::factorization::as_uint64 | ( | const qbpp::Sol & | sol, | 
| const qbpp::Vector< qbpp::Var > & | var, | ||
| bool | fix_lsb | ||
| ) | 
Converts a vector of Var in a solution to a 64-bit unsigned integer.
| sol | The solution. | 
| var | The vector of Var. | 
| fix_lsb | True if the LSBs of x, y, and z are fixed to 1. | 
Definition at line 55 of file factorization.cpp.


| uint64_t qbpp::factorization::as_uint64 | ( | const qbpp::SolHolder & | sol_holder, | 
| const qbpp::Vector< qbpp::Var > & | var, | ||
| bool | fix_lsb | ||
| ) | 
Converts a vector of Var in a solution holder to a 64-bit unsigned integer.
| sol_holder | The solution holder. | 
| var | The vector of Var. | 
| fix_lsb | True if the LSBs of x, y, and z are fixed to 1. | 
Definition at line 75 of file factorization.cpp.

| bool qbpp::factorization::is_prime | ( | uint32_t | num | ) | 
| uint32_t qbpp::factorization::rand_prime | ( | int | size | ) | 
Generates a random prime number of the specified size.
| size | The number of bits of the prime number. | 
Definition at line 89 of file factorization.cpp.

