Skip to content

Commit

Permalink
build based on fb6d38f
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed May 2, 2024
1 parent b7ac46e commit 8204a01
Show file tree
Hide file tree
Showing 20 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.10.3","generation_timestamp":"2024-05-02T19:12:51","documenter_version":"1.4.1"}}
{"documenter":{"julia_version":"1.10.3","generation_timestamp":"2024-05-02T19:13:15","documenter_version":"1.4.1"}}
2 changes: 1 addition & 1 deletion dev/algorithm/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/intro/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@
spectrum = full_spectrum,
cluster_assignment_rule=super_square_lattice((m, n, t))
)</code></pre><p>The next part of the code builds the PEPS tensor network compatible with previously defined clustered Hamiltonian.</p><pre><code class="language- hljs">net = PEPSNetwork{SquareCrossSingleNode{Layout}, Sparsity}(m, n, cl_h, transform)</code></pre><p>In order to start calculating conditional probabilities we need to define <code>MpsContractor</code> structure which stores the elements and information necessary for contracting the tensor network and, consequently, calculating the probability of a given configuration. </p><pre><code class="language- hljs">ctr = MpsContractor{Strategy, NoUpdate}(net, [β], graduate_truncation, params; onGPU=onGPU)</code></pre><p>Finally the call</p><pre><code class="language- hljs">sol_peps, schmidts = low_energy_spectrum(ctr, search_params, merge_branches(ctr, :fit, SingleLayerDroplets(eng, hamming_dist, :hamming)))
</code></pre><p>which runs branch and bound algorithm included in <code>SpinGlassPEPS.jl</code> It is actual solver, which iteratively explores the state space in search of the most probable states. The probabilities of a given configuration are calculated approximately through the contractions of the tensor network.</p><h2 id="Expected-output"><a class="docs-heading-anchor" href="#Expected-output">Expected output</a><a id="Expected-output-1"></a><a class="docs-heading-anchor-permalink" href="#Expected-output" title="Permalink"></a></h2><p>The function <code>low_energy_spectrum</code>, as its output, provides a wealth of information, which we will briefly discuss now.</p><pre><code class="language- hljs">sol_peps, schmidt_val = low_energy_spectrum(ctr, search_params, merge_branches(ctr))</code></pre><p>It returns a Solution-type structure (<code>sol_peps</code>) and Schmidt values <code>schmidt_val</code>. In the <code>Solution</code> structure, the following information is recorded:</p><ul><li>energies - a vector containing the energies of the discovered states</li></ul><p>If you want to display it, you can type:</p><pre><code class="language- hljs">println(sol_peps.energies)</code></pre><p>In this case, you should obtain:</p><pre><code class="language- hljs">[-215.23679958927175]</code></pre><ul><li>states - a vector of cluster state configurations corresponding to the energies</li></ul><pre><code class="language- hljs">println(sol_peps.states)</code></pre><pre><code class="language- hljs">println([[4, 4, 2, 16, 9, 8, 8, 2, 3, 8, 7, 1, 4, 10, 9, 2, 11, 2, 1, 2, 11, 3, 11, 8, 3]])</code></pre><ul><li>probabilities - the probabilities associated with each discovered state</li></ul><pre><code class="language- hljs">println(sol_peps.probabilities)</code></pre><pre><code class="language- hljs">[-5.637640487579043]</code></pre><ul><li>degeneracy</li></ul><pre><code class="language- hljs">println(sol_peps.degeneracy)</code></pre><pre><code class="language- hljs">[2]</code></pre><ul><li>largest discarded probability - largest probability below which states are considered to be discarded</li></ul><pre><code class="language- hljs">println(sol_peps.largest_discarded_probability)</code></pre><pre><code class="language- hljs">-4.70579014404923</code></pre><ul><li>Schmidt values - a dictionary containing Schmidt spectra for each MPS</li></ul><pre><code class="language- hljs">println(schmidt_val)</code></pre><p>which are</p><pre><code class="language- hljs">Dict{Any, Any}(5 =&gt; Any[1.0, 1.0, 0.0035931343796194565, 0.0015050888555964259, 0.0007184752751868924, 5.2741877514519126e-5, 4.137035816131772e-5, 0.00040017490729592366, 0.00021874495320028077, 6.827849766898342e-5], 4 =&gt; Any[1.0, 1.0, 1.704951518711975e-5, 0.00037890798675182353, 0.00011310427642297989, 0.001014257142680146, 0.0012672631937840461, 0.0005487312667512858, 0.0006741839581781018, 0.00012017531445170455], 6 =&gt; Any[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], 2 =&gt; Any[1.0, 1.0, 0.0001405854472578707, 0.0012280075890260514, 0.001177462193268373, 0.0029570115655969827, 0.002997829968910592, 0.0011163442379909382, 0.0010056280784881478, 0.00026431187613365595], 3 =&gt; Any[1.0, 1.0, 1.864183962070951e-5, 0.006059161388679921, 0.006793028602573968, 0.012337242616802302, 0.011721497080177857, 0.013791830543357657, 0.020430181282353188, 0.014653186648427675])</code></pre><ul><li>statistics - a possible warning sign, with values ranging from [0, 2]. A nonzero value signifies that certain conditional probabilities derived from tensor network contraction were negative, suggesting a lack of numerical stability during contraction. Here we display the worst-case scenario.</li></ul><pre><code class="language- hljs">println(minimum(values(ctr.statistics)))</code></pre><p>The output should give you</p><pre><code class="language- hljs">0.0</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Home</a><a class="docs-footer-nextpage" href="../algorithm/">Brief description of the algorithm »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.4.1 on <span class="colophon-date" title="Thursday 2 May 2024 19:12">Thursday 2 May 2024</span>. Using Julia version 1.10.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
</code></pre><p>which runs branch and bound algorithm included in <code>SpinGlassPEPS.jl</code> It is actual solver, which iteratively explores the state space in search of the most probable states. The probabilities of a given configuration are calculated approximately through the contractions of the tensor network.</p><h2 id="Expected-output"><a class="docs-heading-anchor" href="#Expected-output">Expected output</a><a id="Expected-output-1"></a><a class="docs-heading-anchor-permalink" href="#Expected-output" title="Permalink"></a></h2><p>The function <code>low_energy_spectrum</code>, as its output, provides a wealth of information, which we will briefly discuss now.</p><pre><code class="language- hljs">sol_peps, schmidt_val = low_energy_spectrum(ctr, search_params, merge_branches(ctr))</code></pre><p>It returns a Solution-type structure (<code>sol_peps</code>) and Schmidt values <code>schmidt_val</code>. In the <code>Solution</code> structure, the following information is recorded:</p><ul><li>energies - a vector containing the energies of the discovered states</li></ul><p>If you want to display it, you can type:</p><pre><code class="language- hljs">println(sol_peps.energies)</code></pre><p>In this case, you should obtain:</p><pre><code class="language- hljs">[-215.23679958927175]</code></pre><ul><li>states - a vector of cluster state configurations corresponding to the energies</li></ul><pre><code class="language- hljs">println(sol_peps.states)</code></pre><pre><code class="language- hljs">println([[4, 4, 2, 16, 9, 8, 8, 2, 3, 8, 7, 1, 4, 10, 9, 2, 11, 2, 1, 2, 11, 3, 11, 8, 3]])</code></pre><ul><li>probabilities - the probabilities associated with each discovered state</li></ul><pre><code class="language- hljs">println(sol_peps.probabilities)</code></pre><pre><code class="language- hljs">[-5.637640487579043]</code></pre><ul><li>degeneracy</li></ul><pre><code class="language- hljs">println(sol_peps.degeneracy)</code></pre><pre><code class="language- hljs">[2]</code></pre><ul><li>largest discarded probability - largest probability below which states are considered to be discarded</li></ul><pre><code class="language- hljs">println(sol_peps.largest_discarded_probability)</code></pre><pre><code class="language- hljs">-4.70579014404923</code></pre><ul><li>Schmidt values - a dictionary containing Schmidt spectra for each MPS</li></ul><pre><code class="language- hljs">println(schmidt_val)</code></pre><p>which are</p><pre><code class="language- hljs">Dict{Any, Any}(5 =&gt; Any[1.0, 1.0, 0.0035931343796194565, 0.0015050888555964259, 0.0007184752751868924, 5.2741877514519126e-5, 4.137035816131772e-5, 0.00040017490729592366, 0.00021874495320028077, 6.827849766898342e-5], 4 =&gt; Any[1.0, 1.0, 1.704951518711975e-5, 0.00037890798675182353, 0.00011310427642297989, 0.001014257142680146, 0.0012672631937840461, 0.0005487312667512858, 0.0006741839581781018, 0.00012017531445170455], 6 =&gt; Any[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], 2 =&gt; Any[1.0, 1.0, 0.0001405854472578707, 0.0012280075890260514, 0.001177462193268373, 0.0029570115655969827, 0.002997829968910592, 0.0011163442379909382, 0.0010056280784881478, 0.00026431187613365595], 3 =&gt; Any[1.0, 1.0, 1.864183962070951e-5, 0.006059161388679921, 0.006793028602573968, 0.012337242616802302, 0.011721497080177857, 0.013791830543357657, 0.020430181282353188, 0.014653186648427675])</code></pre><ul><li>statistics - a possible warning sign, with values ranging from [0, 2]. A nonzero value signifies that certain conditional probabilities derived from tensor network contraction were negative, suggesting a lack of numerical stability during contraction. Here we display the worst-case scenario.</li></ul><pre><code class="language- hljs">println(minimum(values(ctr.statistics)))</code></pre><p>The output should give you</p><pre><code class="language- hljs">0.0</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../">« Home</a><a class="docs-footer-nextpage" href="../algorithm/">Brief description of the algorithm »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.4.1 on <span class="colophon-date" title="Thursday 2 May 2024 19:13">Thursday 2 May 2024</span>. Using Julia version 1.10.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/sge/api/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -376,4 +376,4 @@
ctr::MpsContractor{S},
current_node
) -&gt; Any
</code></pre><p>Precompute conditional probabilities and energies for a square cross double node tensor contraction.</p><p><strong>Arguments</strong></p><ul><li><code>::Type{T}</code>: Type representing a square cross double node tensor network.</li><li><code>ctr::MpsContractor{S}</code>: Tensor contractor for the tensor network.</li><li><code>current_node</code>: Current node position in the tensor network.</li></ul><p><strong>Returns</strong></p><ul><li>Tuple: A tuple containing precomputed conditional probabilities and energies.</li></ul><p><strong>Description</strong></p><p>The <code>precompute_conditional</code> function computes and returns precomputed conditional probabilities and energies for the specified square cross double node tensor contraction. It takes into account the geometry of the tensor network, interaction energies, and projectors. The precomputed values are used during the tensor contraction process to speed up the computation. The function is specialized for the <code>SquareCrossDoubleNode</code> tensor network type and is parametrized by the layout type <code>S</code> of the contractor.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/euro-hpc-pl/SpinGlassEngine.jl/blob/v1.0.1/src/square_cross_double_node.jl#L213">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../search/">« Low energy spectrum</a><a class="docs-footer-nextpage" href="../../sgt/">User guide »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.4.1 on <span class="colophon-date" title="Thursday 2 May 2024 19:12">Thursday 2 May 2024</span>. Using Julia version 1.10.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
</code></pre><p>Precompute conditional probabilities and energies for a square cross double node tensor contraction.</p><p><strong>Arguments</strong></p><ul><li><code>::Type{T}</code>: Type representing a square cross double node tensor network.</li><li><code>ctr::MpsContractor{S}</code>: Tensor contractor for the tensor network.</li><li><code>current_node</code>: Current node position in the tensor network.</li></ul><p><strong>Returns</strong></p><ul><li>Tuple: A tuple containing precomputed conditional probabilities and energies.</li></ul><p><strong>Description</strong></p><p>The <code>precompute_conditional</code> function computes and returns precomputed conditional probabilities and energies for the specified square cross double node tensor contraction. It takes into account the geometry of the tensor network, interaction energies, and projectors. The precomputed values are used during the tensor contraction process to speed up the computation. The function is specialized for the <code>SquareCrossDoubleNode</code> tensor network type and is parametrized by the layout type <code>S</code> of the contractor.</p></div><a class="docs-sourcelink" target="_blank" href="https://github.com/euro-hpc-pl/SpinGlassEngine.jl/blob/v1.0.1/src/square_cross_double_node.jl#L213">source</a></section></article></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../search/">« Low energy spectrum</a><a class="docs-footer-nextpage" href="../../sgt/">User guide »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.4.1 on <span class="colophon-date" title="Thursday 2 May 2024 19:13">Thursday 2 May 2024</span>. Using Julia version 1.10.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 8204a01

Please sign in to comment.