Skip to content

Math Problems

PyKoppu supports solving fundamental mathematical problems using QUBO formulations.

Integer Factorization

Decompose a composite number $N$ into its prime factors $p$ and $q$.

from pykoppu.problems.math import Factorization
from pykoppu.oos import Process

# Factor 15
problem = Factorization(target=15)
process = Process(problem, backend='cpu', t=1000)
result = process.run()

# Visualize
problem.plot(result, threshold=0.5)

3-SAT (Boolean Satisfiability)

Find a satisfying assignment for a boolean formula in Conjunctive Normal Form (CNF).

from pykoppu.problems.math import SAT3
from pykoppu.oos import Process

# Define clauses: (x0 OR x1 OR NOT x2) AND ...
clauses = [
    (0, 1, -2),
    (-0, -1, 2)
]
problem = SAT3(clauses)
process = Process(problem, backend='cpu', t=1000)
result = process.run()

# Visualize
problem.plot(result, threshold=0.5)