Skip to content

Commit

Permalink
build based on 5c0b6f5
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Nov 17, 2023
1 parent d0ae9b7 commit 564fa3e
Show file tree
Hide file tree
Showing 12 changed files with 869 additions and 876 deletions.
2 changes: 1 addition & 1 deletion dev/index.html

Large diffs are not rendered by default.

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

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions dev/lib/sectors/index.html

Large diffs are not rendered by default.

34 changes: 17 additions & 17 deletions dev/lib/spaces/index.html

Large diffs are not rendered by default.

30 changes: 15 additions & 15 deletions dev/lib/tensors/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/man/categories/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@
Springer Science &amp; Business Media.</code></pre></li><li class="footnote" id="footnote-kitaev"><a class="tag is-link" href="#citeref-kitaev">kitaev</a><pre><code class="nohighlight hljs"> Kitaev, A. (2006). Anyons in an exactly solved model and beyond.
Annals of Physics, 321(1), 2-111.</code></pre></li><li class="footnote" id="footnote-beer"><a class="tag is-link" href="#citeref-beer">beer</a><pre><code class="nohighlight hljs"> From categories to anyons: a travelogue
Kerstin Beer, Dmytro Bondarenko, Alexander Hahn, Maria Kalabakov, Nicole Knust, Laura Niermann, Tobias J. Osborne, Christin Schridde, Stefan Seckmeyer, Deniz E. Stiegemann, and Ramona Wolf
[https://arxiv.org/abs/1811.06670](https://arxiv.org/abs/1811.06670)</code></pre></li></ul></section></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../tutorial/">« Tutorial</a><a class="docs-footer-nextpage" href="../spaces/">Vector spaces »</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="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 0.27.25 on <span class="colophon-date" title="Wednesday 1 November 2023 01:02">Wednesday 1 November 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
[https://arxiv.org/abs/1811.06670](https://arxiv.org/abs/1811.06670)</code></pre></li></ul></section></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../tutorial/">« Tutorial</a><a class="docs-footer-nextpage" href="../spaces/">Vector spaces »</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="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 0.27.25 on <span class="colophon-date" title="Friday 17 November 2023 09:10">Friday 17 November 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/man/intro/index.html

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions dev/man/sectors/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@
FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2, 1/2), 1/2, (true, false, false, true, false), (0, 1/2, 1))
FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2, 1/2), 1/2, (true, false, false, true, false), (1, 1/2, 0))
FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2, 1/2), 1/2, (true, false, false, true, false), (1, 1/2, 1))
FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2, 1/2), 1/2, (true, false, false, true, false), (1, 3/2, 1))</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; iter = fusiontrees(ntuple(n-&gt;s, 16))</code><code class="nohighlight hljs ansi" style="display:block;">TensorKit.FusionTreeIterator{SU2Irrep, 16}((Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2)), Irrep[SU₂](0), (false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false))</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; sum(n-&gt;1, iter)</code><code class="nohighlight hljs ansi" style="display:block;">1430</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; length(iter)</code><code class="nohighlight hljs ansi" style="display:block;">1430</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; @elapsed sum(n-&gt;1, iter)</code><code class="nohighlight hljs ansi" style="display:block;">0.040903407</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; @elapsed length(iter)</code><code class="nohighlight hljs ansi" style="display:block;">9.5901e-5</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; s2 = s ⊠ s</code><code class="nohighlight hljs ansi" style="display:block;">(Irrep[SU₂](1/2) ⊠ Irrep[SU₂](1/2))</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; collect(fusiontrees((s2,s2,s2,s2)))</code><code class="nohighlight hljs ansi" style="display:block;">4-element Vector{FusionTree{TensorKit.ProductSector{Tuple{SU2Irrep, SU2Irrep}}, 4, 2, 3, Nothing}}:
FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2, 1/2), 1/2, (true, false, false, true, false), (1, 3/2, 1))</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; iter = fusiontrees(ntuple(n-&gt;s, 16))</code><code class="nohighlight hljs ansi" style="display:block;">TensorKit.FusionTreeIterator{SU2Irrep, 16}((Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2), Irrep[SU₂](1/2)), Irrep[SU₂](0), (false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false))</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; sum(n-&gt;1, iter)</code><code class="nohighlight hljs ansi" style="display:block;">1430</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; length(iter)</code><code class="nohighlight hljs ansi" style="display:block;">1430</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; @elapsed sum(n-&gt;1, iter)</code><code class="nohighlight hljs ansi" style="display:block;">0.030531781</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; @elapsed length(iter)</code><code class="nohighlight hljs ansi" style="display:block;">9.0428e-5</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; s2 = s ⊠ s</code><code class="nohighlight hljs ansi" style="display:block;">(Irrep[SU₂](1/2) ⊠ Irrep[SU₂](1/2))</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; collect(fusiontrees((s2,s2,s2,s2)))</code><code class="nohighlight hljs ansi" style="display:block;">4-element Vector{FusionTree{TensorKit.ProductSector{Tuple{SU2Irrep, SU2Irrep}}, 4, 2, 3, Nothing}}:
FusionTree{Irrep[SU₂ × SU₂]}(((1/2, 1/2), (1/2, 1/2), (1/2, 1/2), (1/2, 1/2)), (0, 0), (false, false, false, false), ((0, 0), (1/2, 1/2)))
FusionTree{Irrep[SU₂ × SU₂]}(((1/2, 1/2), (1/2, 1/2), (1/2, 1/2), (1/2, 1/2)), (0, 0), (false, false, false, false), ((1, 0), (1/2, 1/2)))
FusionTree{Irrep[SU₂ × SU₂]}(((1/2, 1/2), (1/2, 1/2), (1/2, 1/2), (1/2, 1/2)), (0, 0), (false, false, false, false), ((0, 1), (1/2, 1/2)))
Expand Down Expand Up @@ -311,13 +311,13 @@
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (0, 1/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2))&gt; = 0.0
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 1/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (0, 1/2))&gt; = 0.0
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 1/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 1/2))&gt; = 3.0
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 1/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2))&gt; = 1.7569089568055032e-17
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 1/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2))&gt; = 0.0
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (0, 1/2))&gt; = 0.0
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 1/2))&gt; = 1.7569089568055032e-17
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 1/2))&gt; = 0.0
&lt; FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2)), FusionTree{Irrep[SU₂]}((1/2, 1/2, 1/2, 1/2), 1, (false, false, false, false), (1, 3/2))&gt; = 3.0</code></pre><p>Note that we take the adjoint when computing <code>Z</code>, because <code>convert(Array, f)</code> assumes <code>f</code> to be splitting tree, which is built using <span>$Z^†$</span>. Further note that the normalization (squared) of a fusion tree is given by the dimension of the coupled sector, as we are also tracing over the <span>$\mathrm{id}_c$</span> when checking the orthogonality by computing <code>dot</code> of the corresponding tensors.</p><h2 id="Fermions"><a class="docs-heading-anchor" href="#Fermions">Fermions</a><a id="Fermions-1"></a><a class="docs-heading-anchor-permalink" href="#Fermions" title="Permalink"></a></h2><p>TODO: Update the documentation for this section.</p><p>Fermionic sectors are represented by the type <a href="../../lib/sectors/#TensorKit.FermionParity"><code>FermionParity</code></a>, which effectively behaves like a ℤ₂ sector, but with two modifications. Firstly, the exchange of two sectors with odd fermion parity should yield a minus sign, which is taken care of by virtue of the R-symbol. This ensures that permuting tensors behave as expected. Secondly, diagrams with self-crossing lines (aka twists) give rise to a minus sign for odd fermion parity. This is in essence equivalent to having supertraces, which is what ensures that <code>@tensor</code> has a result that is invariant under permutation of its input tensors. This does however lead to unwanted minus signs for certain types of diagrams. To avoid this, the <code>@planar</code> macro does not include a supertrace, but requires a manual resolution of all crossings in the diagram.</p><h2 id="Anyons"><a class="docs-heading-anchor" href="#Anyons">Anyons</a><a id="Anyons-1"></a><a class="docs-heading-anchor-permalink" href="#Anyons" title="Permalink"></a></h2><p>There is currently one example of a <code>Sector</code> subtype that has anyonic braiding style, namely that of the Fibonacci fusion category. It has to (isomorphism classes of) simple objects, namely the identity <code>𝟙</code> and a non-trivial object known as <code>τ</code>, with fusion rules <code>τ ⊗ τ = 𝟙 ⊕ τ</code>. Let&#39;s summarize the topological data</p><pre><code class="language-julia-repl hljs" style="display:block;">julia&gt; 𝟙 = FibonacciAnyon(:I)</code><code class="nohighlight hljs ansi" style="display:block;">FibonacciAnyon(:I)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; τ = FibonacciAnyon(:τ)</code><code class="nohighlight hljs ansi" style="display:block;">FibonacciAnyon(:τ)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; collect(τ ⊗ τ)</code><code class="nohighlight hljs ansi" style="display:block;">2-element Vector{FibonacciAnyon}:
:I
</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; FusionStyle(τ)</code><code class="nohighlight hljs ansi" style="display:block;">SimpleFusion()</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; BraidingStyle(τ)</code><code class="nohighlight hljs ansi" style="display:block;">Anyonic()</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; dim(𝟙)</code><code class="nohighlight hljs ansi" style="display:block;">1.0</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; dim(τ)</code><code class="nohighlight hljs ansi" style="display:block;">1.618033988749895</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; F𝟙 = Fsymbol(τ,τ,τ,𝟙,τ,τ)</code><code class="nohighlight hljs ansi" style="display:block;">1.0</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; Fτ = [Fsymbol(τ,τ,τ,τ,𝟙,𝟙) Fsymbol(τ,τ,τ,τ,𝟙,τ); Fsymbol(τ,τ,τ,τ,τ,𝟙) Fsymbol(τ,τ,τ,τ,τ,τ)]</code><code class="nohighlight hljs ansi" style="display:block;">2×2 Matrix{Float64}:
0.618034 0.786151
0.786151 -0.618034</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; Fτ&#39;*Fτ</code><code class="nohighlight hljs ansi" style="display:block;">2×2 Matrix{Float64}:
1.0 0.0
0.0 1.0</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; polar(x) = rationalize.((abs(x), angle(x)/(2pi)))</code><code class="nohighlight hljs ansi" style="display:block;">polar (generic function with 1 method)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; Rsymbol(τ,τ,𝟙) |&gt; polar</code><code class="nohighlight hljs ansi" style="display:block;">(1//1, 2//5)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; Rsymbol(τ,τ,τ) |&gt; polar</code><code class="nohighlight hljs ansi" style="display:block;">(1//1, -3//10)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; twist(τ) |&gt; polar</code><code class="nohighlight hljs ansi" style="display:block;">(1//1, -2//5)</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../spaces/">« Vector spaces</a><a class="docs-footer-nextpage" href="../tensors/">Tensors and the <code>TensorMap</code> type »</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="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 0.27.25 on <span class="colophon-date" title="Wednesday 1 November 2023 01:02">Wednesday 1 November 2023</span>. Using Julia version 1.9.3.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
0.0 1.0</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; polar(x) = rationalize.((abs(x), angle(x)/(2pi)))</code><code class="nohighlight hljs ansi" style="display:block;">polar (generic function with 1 method)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; Rsymbol(τ,τ,𝟙) |&gt; polar</code><code class="nohighlight hljs ansi" style="display:block;">(1//1, 2//5)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; Rsymbol(τ,τ,τ) |&gt; polar</code><code class="nohighlight hljs ansi" style="display:block;">(1//1, -3//10)</code><br/><code class="language-julia-repl hljs" style="display:block;">julia&gt; twist(τ) |&gt; polar</code><code class="nohighlight hljs ansi" style="display:block;">(1//1, -2//5)</code></pre></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../spaces/">« Vector spaces</a><a class="docs-footer-nextpage" href="../tensors/">Tensors and the <code>TensorMap</code> type »</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="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 0.27.25 on <span class="colophon-date" title="Friday 17 November 2023 09:10">Friday 17 November 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 564fa3e

Please sign in to comment.