Skip to content

Commit

Permalink
add the docs
Browse files Browse the repository at this point in the history
  • Loading branch information
annamariadziubyna committed Nov 27, 2023
1 parent 4f23231 commit 7f4dadc
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 16 deletions.
4 changes: 1 addition & 3 deletions docs/src/sge/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

## Search
```@docs
Solution
empty_solution
gibbs_sampling
bound_solution
Expand Down Expand Up @@ -46,11 +45,11 @@ clear_memoize_cache_after_row
```@docs
vertex_map
check_bounds
LatticeTransformation
```

## Droplets
```@docs
SingleLayerDroplets
Flip
Droplet
NoDroplets
Expand Down Expand Up @@ -96,7 +95,6 @@ _equalize
nodes_search_order_Mps
sampling
VirtualDoubleNode
merge_branches_blur
fuse_projectors
local_spins
tensor
Expand Down
27 changes: 14 additions & 13 deletions docs/src/sge/params.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,47 +12,48 @@ SearchParameters
```

# Strategy
Our package offers users the flexibility to choose between three distinct methods for contracting the tensor network:
In the boundary MPS-MPO approach we apply Matrix Product Operator (MPO) to appropriate sites of Matrix Product State (MPS). In this context, the absorption of a MPO into a MPS leads to an exponential growth of the bond dimension. Hence, a truncation scheme is necessary to mitigate this issue and to keep the bond dimension in a reasonable size.
Our package offers users the flexibility to choose between three distinct methods for optimizing the boundary MPS used in contracting the tensor network:
* `Zipper`
* `MPSAnnealing`
* `SVDTruncate`.

With the `SVDTruncate` method, the Matrix Product State (MPS) is systematically constructed row by row, contracting with the Matrix Product Operator (MPO) from the preceding row. The resulting MPS undergoes a Singular Value Decomposition (SVD) to trim its bond dimension, followed by variational compression.
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.
On the other hand, the `MPSAnnealing` method tailors the construction of MPS based on temperature considerations, with a subsequent variational compression step.

These approaches provide users with distinct strategies to efficiently contract the tensor network, catering to different preferences and requirements in the exploration of spin systems within the SpinGlassPEPS package.
`Zipper` method combines randomized truncated Singular Value Decomposition (SVD) and a variational
scheme.

# Sparsity
Our software package acknowledges the importance of two fundamental methodologies in tensor processing
* `Dense`
* `Sparse`.
The latter, referred to as sparsity, plays a pivotal role in manipulation on large tensors. To accommodate this, our package offers the flexibility to choose the `Sparse` mode. In this mode, tensors are not explicitly constructed but are storerd in structures and represented as blocks where not every dimension is contracted. This choice not only optimizes memory utilization but also significantly improves computational efficiency. In the `Dense` mode tensors are build explicitly.
The latter, referred to as sparsity, plays a pivotal role in manipulation on large tensors. To accommodate this, our package offers the flexibility to choose the `Sparse` mode. In this mode, tensors are not explicitly constructed but are stored in structures and represented as blocks, in which not every dimension is contracted. This choice not only optimizes memory utilization but also significantly improves computational efficiency. In the `Dense` mode tensors are build explicitly.

# Geometry
* SquareSingleNode
* SquareDoubleNode
* SquareCrossSingleNode
* SquareCrossDoubleNode
* `SquareSingleNode`
* `SquareDoubleNode`
* `SquareCrossSingleNode`
* `SquareCrossDoubleNode`

# Layout
Different decompositions of the network into MPS:
`SpinGlassPEPS.jl` allows for different decompositions of the network into MPS:
* `GaugesEnergy`
* `EnergyGauges`
* `EngGaugesEng`
For complex problems, the solution may depend on the choice of decomposition.

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

# Lattice transformations
Our package offers users the ability to undergo diverse transformations of PEPS network to meet distinct computational requirements. 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.
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.

```@docs
all_lattice_transformations
LatticeTransformation
rotation
reflection
```

# Gauge
* NoUpdate
Currently only `NoUpdate` mode is supported.
11 changes: 11 additions & 0 deletions docs/src/sge/search.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
# Branch and bound search
Here you find fhe main function of the package, which is an actual solver.

```@docs
low_energy_spectrum
merge_branches
merge_branches_blur
```
Results of the branch and bound search are stored in a Solution structure.
```@docs
Solution
```
# Droplet search
`SpinGlassPEPS.jl` offers the possibility not only finding low lying energy states, but also droplet excitations. In order to search for droplets, one need to choose the option `SingleLayerDroplets` in `merge_branches`.
```@docs
SingleLayerDroplets
```

0 comments on commit 7f4dadc

Please sign in to comment.