| Copyright | (c) Masahiro Sakai 2018 |
|---|---|
| License | BSD-style |
| Maintainer | masahiro.sakai@gmail.com |
| Stability | provisional |
| Portability | non-portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
| Extensions |
|
ToySolver.QUBO
Description
Synopsis
- data Problem a = Problem {
- quboNumVars :: !Int
- quboMatrix :: IntMap (IntMap a)
- type Solution = UArray Int Bool
- eval :: Num a => Solution -> Problem a -> a
- data IsingModel a = IsingModel {
- isingNumVars :: !Int
- isingInteraction :: IntMap (IntMap a)
- isingExternalMagneticField :: IntMap a
- evalIsingModel :: Num a => Solution -> IsingModel a -> a
QUBO (quadratic unconstrained boolean optimization)
QUBO (quadratic unconstrained boolean optimization) problem.
Minimize \(\sum_{i\le j} Q_{i,j} x_i x_j\) where \(x_i \in \{0,1\}\) for \(i \in \{0 \ldots N-1\}\).
In the Solution type. 0 and 1 are represented as False and True respectively.
Constructors
| Problem | |
Fields
| |
Ising Model
data IsingModel a Source #
Ising model.
Minimize \(\sum_{i<j} J_{i,j} \sigma_i \sigma_j + \sum_i h_i \sigma_i\) where \(\sigma_i \in \{-1,+1\}\) for \(i \in \{0 \ldots N-1\}\).
In the Solution type. -1 and +1 are represented as False and True respectively.
Constructors
| IsingModel | |
Fields
| |
Instances
| Show a => Show (IsingModel a) Source # | |
Defined in ToySolver.QUBO Methods showsPrec :: Int -> IsingModel a -> ShowS # show :: IsingModel a -> String # showList :: [IsingModel a] -> ShowS # | |
| Eq a => Eq (IsingModel a) Source # | |
Defined in ToySolver.QUBO | |
evalIsingModel :: Num a => Solution -> IsingModel a -> a Source #