Skip to content

Commit d086f15

Browse files
author
Documenter.jl
committed
build based on 352fedd
1 parent 6983f85 commit d086f15

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

dev/.documenter-siteinfo.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"documenter":{"julia_version":"1.11.6","generation_timestamp":"2025-07-30T14:38:10","documenter_version":"1.14.1"}}
1+
{"documenter":{"julia_version":"1.11.6","generation_timestamp":"2025-07-30T16:45:39","documenter_version":"1.14.1"}}

dev/api/index.html

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

dev/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@
6161
Iteration Primal Dual gap #Atoms
6262
1 1.3600e+00 4.0000e+00 1
6363
Last 7.7981e-07 1.0612e-03 14
64-
[ Info: Stop: primal small enough</code></pre><p>In this case, <span>$Primal$</span> is much smaller than <span>$Dual gap$</span>, which can not be detected as an entangled state, and also cannot be confirmed by entanglement witness:</p><pre><code class="language-julia hljs">julia&gt; witness = entanglement_witness(ρ, res.σ, dims); # construct a rigorous entanglement witness
64+
[ Info: Stop: primal small enough</code></pre><p>In this case, <span>$Primal$</span> is much smaller than <span>$Dual gap$</span>, which cannot be detected as an entangled state, and also cannot be confirmed by entanglement witness:</p><pre><code class="language-julia hljs">julia&gt; witness = entanglement_witness(ρ, res.σ, dims); # construct a rigorous entanglement witness
6565

6666
julia&gt; real(dot(witness.W, ρ)) &lt; 0 # if Tr(Wρ) &gt; 0, then the state ρ could be entangled or separable.
6767
false</code></pre><p>In order to certify separability, a geometric reconstruction procedure was introduced in Ref. [2] and is also provided in our package to build a unified toolbox for entanglement analysis:</p><pre><code class="language-julia hljs">julia&gt; sep = separability_certification(ρ, dims; verbose = 0); # certify separability by geometric reconstruction
6868

6969
julia&gt; sep.sep
70-
true</code></pre><p>This confirms that the state lies inside the separable set, completing the analysis.</p><h2 id="Under-the-hood"><a class="docs-heading-anchor" href="#Under-the-hood">Under the hood</a><a id="Under-the-hood-1"></a><a class="docs-heading-anchor-permalink" href="#Under-the-hood" title="Permalink"></a></h2><p>The computation is based on an efficient variant of the Frank-Wolfe algorithm to iteratively find the separable state closest to the input quantum state based on correlation tensor. See this recent <a href="https://arxiv.org/abs/2211.14103">review</a> for an introduction to the method, the <a href="https://arxiv.org/abs/2506.02635">article</a> for the details on the latest improvements used in our case, and the package <a href="https://github.com/ZIB-IOL/FrankWolfe.jl">FrankWolfe.jl</a> for the implementation on which this package relies.</p><h2 id="Going-further"><a class="docs-heading-anchor" href="#Going-further">Going further</a><a id="Going-further-1"></a><a class="docs-heading-anchor-permalink" href="#Going-further" title="Permalink"></a></h2><p>More examples can be found in the corresponding folder of the package. They include the application on a 10-qubit system (with a shortcut method for early stop) and multipartite systems with different entanglement structures.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="api/">API reference »</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><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.14.1 on <span class="colophon-date" title="Wednesday 30 July 2025 14:38">Wednesday 30 July 2025</span>. Using Julia version 1.11.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
70+
true</code></pre><p>This confirms that the state lies inside the separable set, completing the analysis.</p><h2 id="Under-the-hood"><a class="docs-heading-anchor" href="#Under-the-hood">Under the hood</a><a id="Under-the-hood-1"></a><a class="docs-heading-anchor-permalink" href="#Under-the-hood" title="Permalink"></a></h2><p>The computation is based on an efficient variant of the Frank-Wolfe algorithm to iteratively find the separable state closest to the input quantum state based on correlation tensor. See this recent <a href="https://arxiv.org/abs/2211.14103">review</a> for an introduction to the method, the <a href="https://arxiv.org/abs/2506.02635">article</a> for the details on the latest improvements used in our case, and the package <a href="https://github.com/ZIB-IOL/FrankWolfe.jl">FrankWolfe.jl</a> for the implementation on which this package relies.</p><h2 id="Going-further"><a class="docs-heading-anchor" href="#Going-further">Going further</a><a id="Going-further-1"></a><a class="docs-heading-anchor-permalink" href="#Going-further" title="Permalink"></a></h2><p>More examples can be found in the corresponding folder of the package. They include the application on a 10-qubit system (with a shortcut method for early stop) and multipartite systems with different entanglement structures.</p></article><nav class="docs-footer"><a class="docs-footer-nextpage" href="api/">API reference »</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><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.14.1 on <span class="colophon-date" title="Wednesday 30 July 2025 16:45">Wednesday 30 July 2025</span>. Using Julia version 1.11.6.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>

0 commit comments

Comments
 (0)