From d0576ab5afab35de66b782c49a2d8b08a2b49b8d Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Mon, 28 Oct 2024 14:01:25 +0100 Subject: [PATCH 01/15] WIP --- CITATION.bib | 5 +++++ README.md | 26 +++++++++++++++++++------- 2 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 CITATION.bib diff --git a/CITATION.bib b/CITATION.bib new file mode 100644 index 0000000..997e8a6 --- /dev/null +++ b/CITATION.bib @@ -0,0 +1,5 @@ +@article{SpinGlassPEPS.jl, + author = {}, + title = {{SpinGlassPEPS.jl}: low-energy solutions for near-term quantum annealers} + +} diff --git a/README.md b/README.md index 56fef09..a94f5a1 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,26 @@ -[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/) +# SpinGlassPEPS.jl -# Welcome to SpinGlassPEPS.jl documentation! +Welcome to `SpinGlassPEPS.jl`, a open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. + +| **Documentation** | **Digital Object Identifier** | +|:-----------------:|:-----------------------------:| +|[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| TO DO | -Welcome to `SpinGlassPEPS.jl`, a open-source Julia package designed for heuristically solving Ising-type optimization problems defined on quasi-2D lattices and Random Markov Fields on 2D rectangular lattices. -The package `SpinGlassPEPS.jl` includes: -* `SpinGlassTensors.jl` - Package containing all necessary functionalities for creating and operating on tensors. It allows the use of both CPU and GPU. -* `SpinGlassNetworks.jl` - Package containing all tools needed to construct a tensor network from a given instance. -* `SpinGlassEngine.jl` - Package containing the solver itself and tools focused on finding and operating on droplets. * # Our goals `SpinGlassPEPS.jl` was created to heuristically solve Ising-type optimization problems defined on quasi-2D lattices or Random Markov Fields (RMF) on 2D rectangular lattices. This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations. + + +## Package architecture +The package `SpinGlassPEPS.jl` includes: + +* `SpinGlassTensors.jl` - Package containing essential tools for creating and manipulating tensors that constitute the PEPS network, with support for both CPU and GPU utilization. It manages core operations on tensor networks, including contraction, using the boundary Matrix Product State approach. This package primarily functions as a backend, and users generally do not interact with it directly. + +* `SpinGlassNetworks.jl` - Package facilitating the generation of an Ising graph from a given instance using a set of standard inputs (e.g., instances compatible with the Ocean environment provided by D-Wave) and suports clustering to create effective Potts Hamiltonians + +* `SpinGlassEngine.jl` - The main package , consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor. + +# Citing +See [`CITATION.bib`](CITATION.bib) for the relevant reference(s). \ No newline at end of file From 37fa2c9aa679e2db9de94a941209c9819d850957 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Mon, 28 Oct 2024 21:41:13 +0100 Subject: [PATCH 02/15] First draft --- CITATION.bib | 18 ++++++++++--- README.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 83 insertions(+), 8 deletions(-) diff --git a/CITATION.bib b/CITATION.bib index 997e8a6..f57ff8f 100644 --- a/CITATION.bib +++ b/CITATION.bib @@ -1,5 +1,17 @@ +# Article decribing this package and code @article{SpinGlassPEPS.jl, - author = {}, - title = {{SpinGlassPEPS.jl}: low-energy solutions for near-term quantum annealers} - + author = {Tomasz \'{S}mierzchalski and Anna Maria Dziubyna and Konrad Ja\l{}owiecki and Zakaria +Mzaouali and {\L}ukasz Pawela and Bart\l{}omiej Gardas and Marek M. Rams}, + title = {{SpinGlassPEPS.jl}: low-energy solutions for near-term quantum annealers}, + journal = {}, + year = {}, + } + +# Article describing in detail used algorithms and containing extensive benchmarks +@article{SpinGlassPEPS, + author = {Anna Maria Dziubyna and Tomasz \'{S}mierzchalski and Bart\l{}omiej Gardas and Marek M. Rams and Masoud Mohseni}, + title = {Limitations of tensor network approaches for optimization and sampling: A comparison against quantum and classical {Ising} machines}, + journal = {}, + year = {}, +} \ No newline at end of file diff --git a/README.md b/README.md index a94f5a1..9b7e3ec 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,15 @@ # SpinGlassPEPS.jl -Welcome to `SpinGlassPEPS.jl`, a open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. - | **Documentation** | **Digital Object Identifier** | |:-----------------:|:-----------------------------:| |[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| TO DO | +Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor. -* # Our goals +## Package Description -`SpinGlassPEPS.jl` was created to heuristically solve Ising-type optimization problems defined on quasi-2D lattices or Random Markov Fields (RMF) on 2D rectangular lattices. This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations. +This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations. ## Package architecture @@ -22,5 +21,69 @@ The package `SpinGlassPEPS.jl` includes: * `SpinGlassEngine.jl` - The main package , consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor. + +# Code Example + +Breakdown of this example can be found in the documentation. + +```@julia +using SpinGlassPEPS + +function get_instance(topology::NTuple{3, Int}) + m, n, t = topology + "$(@__DIR__)/instances/square_diagonal/$(m)x$(n)x$(t).txt" +end + +function run_square_diag_bench(::Type{T}; topology::NTuple{3, Int}) where {T} + m, n, _ = topology + instance = get_instance(topology) + lattice = super_square_lattice(topology) + + hamming_dist = 5 + eng = 10 + + best_energies = T[] + + potts_h = potts_hamiltonian( + ising_graph(instance), + spectrum = full_spectrum, + cluster_assignment_rule = lattice, + ) + + params = MpsParameters{T}(; bond_dim = 16, num_sweeps = 1) + search_params = SearchParameters(; max_states = 2^8, cut_off_prob = 1E-4) + + for transform ∈ all_lattice_transformations + net = PEPSNetwork{KingSingleNode{GaugesEnergy}, Dense, T}( + m, n, potts_h, transform, + ) + + ctr = MpsContractor(SVDTruncate, net, params; + onGPU = false, beta = T(2), graduate_truncation = true, + ) + + single = SingleLayerDroplets(eng, hamming_dist, :hamming) + merge_strategy = merge_branches( + ctr; merge_type = :nofit, update_droplets = single, + ) + + sol, _ = low_energy_spectrum(ctr, search_params, merge_strategy) + + push!(best_energies, sol.energies[1]) + clear_memoize_cache() + end + + ground = best_energies[1] + @assert all(ground .≈ best_energies) + + println("Best energy found: $(ground)") +end + +T = Float64 +@time run_square_diag_bench(T; topology = (3, 3, 2)) +``` + + + # Citing -See [`CITATION.bib`](CITATION.bib) for the relevant reference(s). \ No newline at end of file +See [`CITATION.bib`](CITATION.bib) for the relevant references. \ No newline at end of file From 2c4c42c2a7571cd6a5c63f2de1a346d25d5c17e9 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Tue, 29 Oct 2024 14:09:48 +0100 Subject: [PATCH 03/15] added explicid citations --- README.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9b7e3ec..7a546e6 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,27 @@ T = Float64 ``` - # Citing -See [`CITATION.bib`](CITATION.bib) for the relevant references. \ No newline at end of file + +Article decribing this package and code +``` +@article{SpinGlassPEPS.jl, + author = {Tomasz \'{S}mierzchalski and Anna Maria Dziubyna and Konrad Ja\l{}owiecki and Zakaria + Mzaouali and {\L}ukasz Pawela and Bart\l{}omiej Gardas and Marek M. Rams}, + title = {{SpinGlassPEPS.jl}: low-energy solutions for near-term quantum annealers}, + journal = {}, + year = {}, +} +``` + +Article describing in detail used algorithms and containing extensive benchmarks +``` +@article{SpinGlassPEPS, + author = {Anna Maria Dziubyna and Tomasz \'{S}mierzchalski and Bart\l{}omiej Gardas and Marek M. Rams and Masoud Mohseni}, + title = {Limitations of tensor network approaches for optimization and sampling: A comparison against quantum and classical {Ising} machines}, + journal = {}, + year = {}, +} +``` + +Those citations are also in [`CITATION.bib`](CITATION.bib). \ No newline at end of file From ab2df892e475a0894d7552a9ab90d14c36b40617 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Wed, 30 Oct 2024 15:46:16 +0100 Subject: [PATCH 04/15] added note about julia 1.10 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7a546e6..5f75499 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor. +> **_IMPORTANT:_** Right now, this package supports only julia 1.10 + ## Package Description This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations. From fe1405896e7bea3c457a3965fec02a56f1088064 Mon Sep 17 00:00:00 2001 From: Bartlomiej Gardas Date: Thu, 31 Oct 2024 10:17:35 +0100 Subject: [PATCH 05/15] Update README.md clean up --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5f75499..540026a 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,12 @@ The package `SpinGlassPEPS.jl` includes: * `SpinGlassNetworks.jl` - Package facilitating the generation of an Ising graph from a given instance using a set of standard inputs (e.g., instances compatible with the Ocean environment provided by D-Wave) and suports clustering to create effective Potts Hamiltonians -* `SpinGlassEngine.jl` - The main package , consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor. +* `SpinGlassEngine.jl` - The main package, consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor. # Code Example -Breakdown of this example can be found in the documentation. +A breakdown of this example can be found in the documentation. ```@julia using SpinGlassPEPS @@ -88,7 +88,7 @@ T = Float64 # Citing -Article decribing this package and code +Article describing this package and code. ``` @article{SpinGlassPEPS.jl, author = {Tomasz \'{S}mierzchalski and Anna Maria Dziubyna and Konrad Ja\l{}owiecki and Zakaria @@ -99,7 +99,7 @@ Article decribing this package and code } ``` -Article describing in detail used algorithms and containing extensive benchmarks +Article describing in detail used algorithms and containing extensive benchmarks. ``` @article{SpinGlassPEPS, author = {Anna Maria Dziubyna and Tomasz \'{S}mierzchalski and Bart\l{}omiej Gardas and Marek M. Rams and Masoud Mohseni}, @@ -109,4 +109,4 @@ Article describing in detail used algorithms and containing extensive benchmarks } ``` -Those citations are also in [`CITATION.bib`](CITATION.bib). \ No newline at end of file +Those citations are also in [`CITATION.bib`](CITATION.bib). From 63fee0b10ced4857dd890fb0857ea10c3537cba4 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Thu, 31 Oct 2024 14:08:41 +0100 Subject: [PATCH 06/15] justification --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 5f75499..6a73ade 100644 --- a/README.md +++ b/README.md @@ -5,23 +5,23 @@ |[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| TO DO | -Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor. +

Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor.

> **_IMPORTANT:_** Right now, this package supports only julia 1.10 ## Package Description -This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations. +

This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations.

## Package architecture The package `SpinGlassPEPS.jl` includes: -* `SpinGlassTensors.jl` - Package containing essential tools for creating and manipulating tensors that constitute the PEPS network, with support for both CPU and GPU utilization. It manages core operations on tensor networks, including contraction, using the boundary Matrix Product State approach. This package primarily functions as a backend, and users generally do not interact with it directly. +* `SpinGlassTensors.jl` -

Package containing essential tools for creating and manipulating tensors that constitute the PEPS network, with support for both CPU and GPU utilization. It manages core operations on tensor networks, including contraction, using the boundary Matrix Product State approach. This package primarily functions as a backend, and users generally do not interact with it directly.

-* `SpinGlassNetworks.jl` - Package facilitating the generation of an Ising graph from a given instance using a set of standard inputs (e.g., instances compatible with the Ocean environment provided by D-Wave) and suports clustering to create effective Potts Hamiltonians +* `SpinGlassNetworks.jl` -

Package facilitating the generation of an Ising graph from a given instance using a set of standard inputs (e.g., instances compatible with the Ocean environment provided by D-Wave) and suports clustering to create effective Potts Hamiltonians

-* `SpinGlassEngine.jl` - The main package , consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor. +* `SpinGlassEngine.jl` -

The main package , consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor.

# Code Example From a4e968a2f6af36d672e0c617e13addf040b8429b Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Thu, 7 Nov 2024 21:18:12 +0100 Subject: [PATCH 07/15] another test with justify --- README.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 3b5f27a..012ea50 100644 --- a/README.md +++ b/README.md @@ -5,24 +5,28 @@ |[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| TO DO | -

Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor.

+
+Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor. +
> **_IMPORTANT:_** Right now, this package supports only julia 1.10 ## Package Description -

This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations.

- +
+This package combines advanced heuristics to address optimization challenges and employs tensor network contractions to compute conditional probabilities to identify the most probable states according to the Gibbs distribution. `SpinGlassPEPS.jl` is a tool for reconstructing the low-energy spectrum of Ising spin glass Hamiltonians and RMF Hamiltonians. Beyond energy computations, the package offers insights into spin configurations, associated probabilities, and retains the largest discarded probability during the branch and bound optimization procedure. Notably, `SpinGlassPEPS.jl` goes beyond ground states, introducing a unique feature for identifying and analyzing spin glass droplets — collective excitations crucial for understanding system dynamics beyond the fundamental ground state configurations. +
## Package architecture The package `SpinGlassPEPS.jl` includes: -* `SpinGlassTensors.jl` -

Package containing essential tools for creating and manipulating tensors that constitute the PEPS network, with support for both CPU and GPU utilization. It manages core operations on tensor networks, including contraction, using the boundary Matrix Product State approach. This package primarily functions as a backend, and users generally do not interact with it directly.

- -* `SpinGlassNetworks.jl` -

Package facilitating the generation of an Ising graph from a given instance using a set of standard inputs (e.g., instances compatible with the Ocean environment provided by D-Wave) and suports clustering to create effective Potts Hamiltonians

+
+* `SpinGlassTensors.jl` - Package containing essential tools for creating and manipulating tensors that constitute the PEPS network, with support for both CPU and GPU utilization. It manages core operations on tensor networks, including contraction, using the boundary Matrix Product State approach. This package primarily functions as a backend, and users generally do not interact with it directly. -* `SpinGlassEngine.jl` -

The main package, consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor.

+* `SpinGlassNetworks.jl` - Package facilitating the generation of an Ising graph from a given instance using a set of standard inputs (e.g., instances compatible with the Ocean environment provided by D-Wave) and suports clustering to create effective Potts Hamiltonians. +* `SpinGlassEngine.jl` - The main package, consisting of routines for executing the branch-and-bound method (with the ability to leverage the problem’s locality) for a given Potts instance. It also includes capabilities for reconstructing the low-energy spectrum from identified localized excitations and provides a tensor network constructor. +

# Code Example From 9e405c825fc70333e00a54fd9c8f08153d6797bf Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Thu, 7 Nov 2024 21:22:43 +0100 Subject: [PATCH 08/15] small improvements --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 012ea50..de2aec8 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,9 @@ Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor. +> > **_IMPORTANT:_** Right now, this package supports only julia 1.10 +> ## Package Description @@ -21,6 +23,7 @@ This package combines advanced heuristics to address optimization challenges and The package `SpinGlassPEPS.jl` includes:
+ * `SpinGlassTensors.jl` - Package containing essential tools for creating and manipulating tensors that constitute the PEPS network, with support for both CPU and GPU utilization. It manages core operations on tensor networks, including contraction, using the boundary Matrix Product State approach. This package primarily functions as a backend, and users generally do not interact with it directly. * `SpinGlassNetworks.jl` - Package facilitating the generation of an Ising graph from a given instance using a set of standard inputs (e.g., instances compatible with the Ocean environment provided by D-Wave) and suports clustering to create effective Potts Hamiltonians. From aa4e2b15ba30b99d1daff68fd9ff8a4ffd2cde89 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Thu, 7 Nov 2024 21:47:26 +0100 Subject: [PATCH 09/15] better box --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index de2aec8..cbb3fd3 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,12 @@ Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor.
-> -> **_IMPORTANT:_** Right now, this package supports only julia 1.10 -> +--- + **_IMPORTANT:_** + + Right now, this package supports only julia 1.10 + +--- ## Package Description From beb53c993b14b691234456ca2e5c775e16eb9ca0 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Thu, 7 Nov 2024 22:28:48 +0100 Subject: [PATCH 10/15] small rewrite for clarity --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cbb3fd3..fd05e5d 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heurist --- **_IMPORTANT:_** - Right now, this package supports only julia 1.10 +Currently, this package supports Julia version 1.10 only --- From ef89d8e457fa88650e943eb23da090811dfe1a72 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Thu, 14 Nov 2024 10:58:34 +0100 Subject: [PATCH 11/15] added sentence about activating env --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fd05e5d..8d1e3b1 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ The package `SpinGlassPEPS.jl` includes: # Code Example -A breakdown of this example can be found in the documentation. +A breakdown of this example can be found in the documentation. To run provided examples, activate `Project.toml` file in "examples" folder. ```@julia using SpinGlassPEPS From cb32bd6908d322cf23d2bbc32ab9bf1e8d88c24d Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Tue, 26 Nov 2024 12:40:28 +0100 Subject: [PATCH 12/15] added arXiv citation for main paper --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8d1e3b1..75523b4 100644 --- a/README.md +++ b/README.md @@ -111,11 +111,14 @@ Article describing this package and code. Article describing in detail used algorithms and containing extensive benchmarks. ``` -@article{SpinGlassPEPS, +@misc{SpinGlassPEPS, author = {Anna Maria Dziubyna and Tomasz \'{S}mierzchalski and Bart\l{}omiej Gardas and Marek M. Rams and Masoud Mohseni}, title = {Limitations of tensor network approaches for optimization and sampling: A comparison against quantum and classical {Ising} machines}, - journal = {}, - year = {}, + year = {2024}, + eprint={2411.16431}, + archivePrefix={arXiv}, + primaryClass={cond-mat.dis-nn}, + doi = {10.48550/arXiv.2411.16431} } ``` From 9aea76e14feb8d77b87461e23f064169b7057f1c Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Fri, 10 Jan 2025 12:50:23 +0100 Subject: [PATCH 13/15] added Doi and some final touches --- README.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 75523b4..ad8b346 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,13 @@ | **Documentation** | **Digital Object Identifier** | |:-----------------:|:-----------------------------:| -|[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| TO DO | +|[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| [![Doi](https://img.shields.io/badge/docs-dev-blue.svg)](10.5281/zenodo.14627393)|
Welcome to `SpinGlassPEPS.jl`, an open-source Julia package designed for heuristically finding low-energy configurations of generalized Potts models, including Ising and QUBO (Quadratic Unconstrained Binary Optimization) problems. It utilizes heuristic tensor network contraction algorithms on quasi-2D geometries, such as the graphs describing the structure of the D-Waves QPU processor.
---- - **_IMPORTANT:_** - -Currently, this package supports Julia version 1.10 only - ---- ## Package Description @@ -36,7 +30,7 @@ The package `SpinGlassPEPS.jl` includes: # Code Example -A breakdown of this example can be found in the documentation. To run provided examples, activate `Project.toml` file in "examples" folder. +A breakdown of this example can be found in the documentation. To run provided examples, activate and instantiate `Project.toml` file in "examples" folder. ```@julia using SpinGlassPEPS From 4bc760c4ff65a3c17fc89a5a67ffbc31d5c1da25 Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Fri, 10 Jan 2025 12:54:22 +0100 Subject: [PATCH 14/15] doi badge fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad8b346..e22143e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ | **Documentation** | **Digital Object Identifier** | |:-----------------:|:-----------------------------:| -|[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| [![Doi](https://img.shields.io/badge/docs-dev-blue.svg)](10.5281/zenodo.14627393)| +|[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3245496.svg)](10.5281/zenodo.14627393)|
From 228ac6b86a7aa95f673e9dd5378eaca33f7be3cc Mon Sep 17 00:00:00 2001 From: tomsmierz Date: Fri, 10 Jan 2025 12:55:49 +0100 Subject: [PATCH 15/15] link fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e22143e..470db7d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ | **Documentation** | **Digital Object Identifier** | |:-----------------:|:-----------------------------:| -|[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3245496.svg)](10.5281/zenodo.14627393)| +|[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://euro-hpc-pl.github.io/SpinGlassPEPS.jl/dev/)| [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3245496.svg)](https://doi.org/10.5281/zenodo.14627393)|