Skip to content

Commit

Permalink
add png images
Browse files Browse the repository at this point in the history
  • Loading branch information
annamariadziubyna committed Dec 19, 2023
1 parent 28f606e commit 53ba541
Show file tree
Hide file tree
Showing 76 changed files with 20 additions and 20 deletions.
10 changes: 5 additions & 5 deletions docs/src/algorithm.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ We assume that graph $\mathcal{E}$ forms a quasi-2D lattice. In real life applic
More information on lattice geometries you can find in section Lattice Geometries (TODO: link).

```@raw html
<img src="../images/lattice.pdf" width="200%" class="center"/>
<img src="../images/lattice.png" width="200%" class="center"/>
```
In order to adress this three types of geometries using tensor networks, we represent the problem as a clustered Hamiltonian. To that end we group together sets of variables. In this framework Ising problem translates to:
```math
Expand All @@ -24,7 +24,7 @@ where $\mathcal{F}$ forms a 2D graph, in which we indicate nearest-neighbour int
Each $x_n$ takes $d$ values with $d=2^4$ for square diagonal, $d=2^{24}$ for Pegasus and $2^{16}$ for Zephyr geometry.
$E_{x_n}$ is an intra-node energy of the corresponding binary-variables configuration, and $E_{x_n x_m}$ is inter-node energy.
```@raw html
<img src="../images/clustering.pdf" width="200%" class="center"/>
<img src="../images/clustering.png" width="200%" class="center"/>
```
## Calculating conditional probabilities
We assume that finding low energy states is equivalent to finding most probable states.
Expand All @@ -42,17 +42,17 @@ Subsequently, we select only the configurations with the highest marginal probab
By employing branch and bound search strategy iteratively row after row, we address the solution of Hamiltonian in the terms of conditional probabilities. This approach enables the identification of most probable (low-energy) spin configurations within the problem space.

```@raw html
<img src="../images/bb.pdf" width="200%" class="center"/>
<img src="../images/bb.png" width="200%" class="center"/>
```

## Tensor network contractions for optimization problems
Branch and bound search relies on the calculation of conditional probabilities. To that end, we use tensor network techniques. Conditional probabilities are obtained by contracting a PEPS tensor network, which, although an NP-hard problem, can be computed approximately. The approach utilized is boundary MPS-MPO, which involves contracting a tensor network row by row and truncating the bond dimension.

```@raw html
<img src="../images/prob.pdf" width="150%" class="center"/>
<img src="../images/prob.png" width="150%" class="center"/>
```
```@raw html
<img src="../images/explain.pdf" width="75%" class="center"/>
<img src="../images/explain.png" width="75%" class="center"/>
```

## References & Related works
Expand Down
6 changes: 3 additions & 3 deletions docs/src/examples_old.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ where $J_{ij}$ is the coupling constant between spins $i$ and $j$, $s_i$, $s_j$

In this example, we demonstrate how to use the `SpinGlassPEPS.jl` package to perform a low-energy spectrum search for a Spin Glass Hamiltonian defined on a square lattice with next nearest neighbors interactions on 100 spins.
```@raw html
<img src="../images/square_diag.pdf" width="70%" class="center"/>
<img src="../images/square_diag.png" width="70%" class="center"/>
```
The package is used to explore various strategies for solving the problem, and it provides functionalities for performing Hamiltonian clustering, belief propagation, and low-energy spectrum searches using different MPS (Matrix Product State) strategies.

Expand Down Expand Up @@ -70,7 +70,7 @@ bench("$(@__DIR__)/../src/instances/square_diagonal/5x5/diagonal.txt")
## Ground state search on Pegasus lattice
In this example, we demonstrate how to use the `SpinGlassPEPS.jl` package to perform a low-energy spectrum search for a Spin Glass Hamiltonian defined on a D-Wave Pegasus lattice with 216 spins and 1324 couplings.
```@raw html
<img src="../images/pegasus.pdf" width="70%" class="center"/>
<img src="../images/pegasus.png" width="70%" class="center"/>
```

```@example
Expand Down Expand Up @@ -264,7 +264,7 @@ ctr = MpsContractor{Strategy, Gauge}(net, [β/6, β/3, β/2, β], :graduate_trun
## Ground state search on Zephyr lattice
In this example, we demonstrate how to use the `SpinGlassPEPS.jl` package to perform a low-energy spectrum search for a Spin Glass Hamiltonian defined on a D-Wave Zephyr lattice with 332 spins and 2735 couplings.
```@raw html
<img src="../images/zephyr.pdf" width="70%" class="center"/>
<img src="../images/zephyr.png" width="70%" class="center"/>
```

```@example
Expand Down
Binary file added docs/src/images/annealing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/bb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/branch_bound.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/clustering.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/contract.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/explain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/graphs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/lattice.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/layout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/peg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/pegasus.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/peps_graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/prob.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/sd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/square_cross_double.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/square_cross_single.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/square_diag.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/square_double.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/square_single.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/svd_truncate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/trans.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/zep.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/zephyr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/images/zipper.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/sge/images/annealing.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/sge/images/bb.png
Binary file added docs/src/sge/images/branch_bound.png
Binary file added docs/src/sge/images/clustering.png
Binary file added docs/src/sge/images/contract.png
Binary file added docs/src/sge/images/explain.png
Binary file added docs/src/sge/images/graphs.png
Binary file added docs/src/sge/images/lattice.png
Binary file added docs/src/sge/images/layout.png
Binary file added docs/src/sge/images/peg.png
Binary file added docs/src/sge/images/pegasus.png
Binary file added docs/src/sge/images/peps_graph.png
Binary file added docs/src/sge/images/prob.png
Binary file added docs/src/sge/images/sd.png
Binary file added docs/src/sge/images/square_cross_double.png
Binary file added docs/src/sge/images/square_cross_single.png
Binary file added docs/src/sge/images/square_diag.png
Binary file added docs/src/sge/images/square_double.png
Binary file added docs/src/sge/images/square_single.png
Binary file added docs/src/sge/images/svd_truncate.png
Binary file added docs/src/sge/images/trans.png
Binary file added docs/src/sge/images/zep.png
Binary file added docs/src/sge/images/zephyr.png
Binary file added docs/src/sge/images/zipper.png
18 changes: 9 additions & 9 deletions docs/src/sge/params.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@ Our package offers users the flexibility to choose between three distinct method
* `SVDTruncate`.
`Zipper` method combines randomized truncated Singular Value Decomposition (SVD) and a variational scheme.
```@raw html
<img src="../images/zipper.pdf" width="200%" class="center"/>
<img src="../images/zipper.png" width="200%" class="center"/>
```
With the `SVDTruncate` method, the Matrix Product State (MPS) is systematically constructed row by row, contracted with the Matrix Product Operator (MPO) from the preceding row. The resulting MPS undergoes a Singular Value Decomposition (SVD) to truncate its bond dimension, followed by variational compression.
```@raw html
<img src="../images/svd_truncate.pdf" width="50%" class="center"/>
<img src="../images/svd_truncate.png" width="50%" class="center"/>
```
On the other hand, the `MPSAnnealing` method tailors the construction of MPS based on variational compression.
```@raw html
<img src="../images/annealing.pdf" width="50%" class="center"/>
<img src="../images/annealing.png" width="50%" class="center"/>
```

# Sparsity
Expand All @@ -40,31 +40,31 @@ The latter, referred to as sparsity, plays a pivotal role in manipulation on lar

* `SquareSingleNode`
```@raw html
<img src="../images/square_single.pdf" width="50%" class="center"/>
<img src="../images/square_single.png" width="50%" class="center"/>
```
```@docs
SquareSingleNode
```

* `SquareDoubleNode`
```@raw html
<img src="../images/square_double.pdf" width="50%" class="center"/>
<img src="../images/square_double.png" width="50%" class="center"/>
```
```@docs
SquareDoubleNode
```

* `SquareCrossSingleNode`
```@raw html
<img src="../images/square_cross_single.pdf" width="50%" class="center"/>
<img src="../images/square_cross_single.png" width="50%" class="center"/>
```
```@docs
SquareCrossSingleNode
```

* `SquareCrossDoubleNode`
```@raw html
<img src="../images/square_cross_double.pdf" width="50%" class="center"/>
<img src="../images/square_cross_double.png" width="50%" class="center"/>
```
```@docs
SquareCrossDoubleNode
Expand All @@ -78,13 +78,13 @@ SquareCrossDoubleNode
For complex problems, the solution may depend on the choice of decomposition.

```@raw html
<img src="../images/layout.pdf" width="200%" class="center"/>
<img src="../images/layout.png" width="200%" class="center"/>
```

# Lattice transformations
Our package offers users the ability to undergo diverse transformations of PEPS network. Notably, users can apply `rotations`, occurring in multiples of $\frac{\pi}{2}$ radians, and `reflections` along various axes. These transformations include rotations and reflections around the horizontal (x), vertical (y), diagonal, and antidiagonal axes. Transformations are used to contract PEPS and perform search starting from different sites of the lattice.
```@raw html
<img src="../images/trans.pdf" width="200%" class="center"/>
<img src="../images/trans.png" width="200%" class="center"/>
```
```@docs
all_lattice_transformations
Expand Down
Binary file added docs/src/sgn/images/annealing.png
Binary file added docs/src/sgn/images/bb.png
Binary file added docs/src/sgn/images/branch_bound.png
Binary file added docs/src/sgn/images/clustering.png
Binary file added docs/src/sgn/images/contract.png
Binary file added docs/src/sgn/images/explain.png
Binary file added docs/src/sgn/images/graphs.png
Binary file added docs/src/sgn/images/lattice.png
Binary file added docs/src/sgn/images/layout.png
Binary file added docs/src/sgn/images/peg.png
Binary file added docs/src/sgn/images/pegasus.png
Binary file added docs/src/sgn/images/peps_graph.png
Binary file added docs/src/sgn/images/prob.png
Binary file added docs/src/sgn/images/sd.png
Binary file added docs/src/sgn/images/square_cross_double.png
Binary file added docs/src/sgn/images/square_cross_single.png
Binary file added docs/src/sgn/images/square_diag.png
Binary file added docs/src/sgn/images/square_double.png
Binary file added docs/src/sgn/images/square_single.png
Binary file added docs/src/sgn/images/svd_truncate.png
Binary file added docs/src/sgn/images/trans.png
Binary file added docs/src/sgn/images/zep.png
Binary file added docs/src/sgn/images/zephyr.png
Binary file added docs/src/sgn/images/zipper.png
6 changes: 3 additions & 3 deletions docs/src/sgn/lattice.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Within the `SpinGlassNetworks.jl` package, users have the flexibility to constru
The `super_square_lattice` geometry represents a square lattice with nearest neighbors interactions (horizontal and vertical interactions between unit cells) and next nearest neighbor interactions (diagonal interactions). Unit cells depicted on the schematic picture below as red ellipses can consist of multiple spins.
This geometry allows for an exploration of spin interactions beyond the traditional square lattice framework.
```@raw html
<img src="../images/sd.pdf" width="200%" class="center"/>
<img src="../images/sd.png" width="200%" class="center"/>
```

In `SpinGlassPEPS.jl` solver, a grid of this type can be loaded using the command `super_square_lattice`.
Expand Down Expand Up @@ -38,7 +38,7 @@ println("Number of nodes in oryginal instance: ", length(LabelledGraphs.vertices
## Pegasus graphs
The Pegasus graph is a type of graph architecture used in quantum computing systems, particularly in the quantum annealing machines developed by D-Wave Systems. It is designed to provide a grid of qubits with specific connectivity patterns optimized for solving certain optimization problems. Futer details can be found [here](https://docs.dwavesys.com/docs/latest/c_gs_4.html#pegasus-graph).
```@raw html
<img src="../images/peg.pdf" width="200%" class="center"/>
<img src="../images/peg.png" width="200%" class="center"/>
```

In `SpinGlassPEPS.jl` solver, a grid of this type can be loaded using the command `pegasus_lattice`.
Expand Down Expand Up @@ -73,7 +73,7 @@ println("Number of nodes in original instance: ", length(LabelledGraphs.vertices
## Zephyr graphs
The Zephyr graph is a type of graph architecture used in quantum computing systems, particularly in the quantum annealing machines developed by D-Wave Systems. Futer details can be found [here](https://docs.dwavesys.com/docs/latest/c_gs_4.html#zephyr-graph).
```@raw html
<img src="../images/zep.pdf" width="200%" class="center"/>
<img src="../images/zep.png" width="200%" class="center"/>
```

In `SpinGlassPEPS.jl` solver, a grid of this type can be loaded using the command `zephyr_lattice`.
Expand Down

0 comments on commit 53ba541

Please sign in to comment.