Skip to content

Commit

Permalink
build based on 9c9ccc0
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Oct 17, 2024
1 parent 8db11c3 commit bdee3e8
Show file tree
Hide file tree
Showing 12 changed files with 55 additions and 55 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.11.1","generation_timestamp":"2024-10-17T21:35:45","documenter_version":"1.7.0"}}
{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-10-17T23:03:05","documenter_version":"1.7.0"}}
22 changes: 11 additions & 11 deletions dev/api/clifford.html

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions dev/api/indexing.html

Large diffs are not rendered by default.

18 changes: 9 additions & 9 deletions dev/api/internal.html

Large diffs are not rendered by default.

24 changes: 12 additions & 12 deletions dev/api/math.html

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions dev/api/metrics.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/indexing.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@
true

julia> BitIndices{STA,CliffordNumber{STA}}() == BitIndices{STA,CliffordNumber{STA,Float32,8}}()
true </code></pre><p>For this reason, you should call <code>BitIndices(x)</code> or <code>BitIndices(C)</code> instead of directly constructing <code>BitIndices{Q,C}()</code>.</p></div></div><h3 id="TransformedBitIndices{Q,C,F}"><a class="docs-heading-anchor" href="#TransformedBitIndices{Q,C,F}"><code>TransformedBitIndices{Q,C,F}</code></a><a id="TransformedBitIndices{Q,C,F}-1"></a><a class="docs-heading-anchor-permalink" href="#TransformedBitIndices{Q,C,F}" title="Permalink"></a></h3><p>If we want to perform a transformation on all elements of a <code>BitIndices</code> instance, we may use dot syntax and broadcast an operation: for instance, <code>reverse.(BitIndices(x))</code> to obtain the reverse of all indices. Without any explicit specification of behavior, this will return a <code>Vector</code>, and for the sake of performance we&#39;d like to avoid returning types without statically known lengths.</p><p>We could solve this by converting <code>BitIndices</code> to a <code>Tuple</code> internally as part of the broadcasting implementation, but doing this will cause its own set of problems: indexing an <code>AbstractCliffordNumber</code> with a <code>Tuple</code> returns a <code>Tuple</code>. This may be fine internally, if we know to call the constructor, but this is potentially confusing for new users. For this reason, we provide <code>TransformedBitIndices{Q,C,F}</code>, which is a lazy representation of a function applied to every element of <code>BitIndices(C)</code>.</p><p>For convenience, we provide a few aliases for operations which are commonly used with <code>BitIndices</code>:</p><ul><li><code>ReversedBitIndices{Q,C}</code> is the type of <code>reverse.(::BitIndices{Q,C})</code>.</li><li><code>GradeInvolutedBitIndices{Q,C}</code> is the type of <code>grade_involution.(::BitIndices{Q,C})</code>.</li><li><code>ConjugatedBitIndices{Q,C}</code> is the type of <code>conj.(::BitIndices{Q,C})</code>.</li></ul><p>In the future, we may override some <code>broadcast</code> implementations to ensure that all of these types are interconvertible with each other and with <code>BitIndices{Q,C}</code>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="metrics.html">« Metric signatures</a><a class="docs-footer-nextpage" href="operations.html">Operations »</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.7.0 on <span class="colophon-date" title="Thursday 17 October 2024 21:35">Thursday 17 October 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
true </code></pre><p>For this reason, you should call <code>BitIndices(x)</code> or <code>BitIndices(C)</code> instead of directly constructing <code>BitIndices{Q,C}()</code>.</p></div></div><h3 id="TransformedBitIndices{Q,C,F}"><a class="docs-heading-anchor" href="#TransformedBitIndices{Q,C,F}"><code>TransformedBitIndices{Q,C,F}</code></a><a id="TransformedBitIndices{Q,C,F}-1"></a><a class="docs-heading-anchor-permalink" href="#TransformedBitIndices{Q,C,F}" title="Permalink"></a></h3><p>If we want to perform a transformation on all elements of a <code>BitIndices</code> instance, we may use dot syntax and broadcast an operation: for instance, <code>reverse.(BitIndices(x))</code> to obtain the reverse of all indices. Without any explicit specification of behavior, this will return a <code>Vector</code>, and for the sake of performance we&#39;d like to avoid returning types without statically known lengths.</p><p>We could solve this by converting <code>BitIndices</code> to a <code>Tuple</code> internally as part of the broadcasting implementation, but doing this will cause its own set of problems: indexing an <code>AbstractCliffordNumber</code> with a <code>Tuple</code> returns a <code>Tuple</code>. This may be fine internally, if we know to call the constructor, but this is potentially confusing for new users. For this reason, we provide <code>TransformedBitIndices{Q,C,F}</code>, which is a lazy representation of a function applied to every element of <code>BitIndices(C)</code>.</p><p>For convenience, we provide a few aliases for operations which are commonly used with <code>BitIndices</code>:</p><ul><li><code>ReversedBitIndices{Q,C}</code> is the type of <code>reverse.(::BitIndices{Q,C})</code>.</li><li><code>GradeInvolutedBitIndices{Q,C}</code> is the type of <code>grade_involution.(::BitIndices{Q,C})</code>.</li><li><code>ConjugatedBitIndices{Q,C}</code> is the type of <code>conj.(::BitIndices{Q,C})</code>.</li></ul><p>In the future, we may override some <code>broadcast</code> implementations to ensure that all of these types are interconvertible with each other and with <code>BitIndices{Q,C}</code>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="metrics.html">« Metric signatures</a><a class="docs-footer-nextpage" href="operations.html">Operations »</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.7.0 on <span class="colophon-date" title="Thursday 17 October 2024 23:03">Thursday 17 October 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/metrics.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/numeric.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@
1 + 4σ₁σ₂ + 6σ₁σ₃ + 7σ₂σ₃

julia&gt; convert(EvenCliffordNumber, test)
ERROR: InexactError: ...</code></pre><div class="admonition is-danger"><header class="admonition-header">Danger</header><div class="admonition-body"><p>This is an extremely important point: <strong>construction of a Clifford number type with fewer grades than the input performs a grade projection operation without throwing an error.</strong> However, <em>conversion</em> will throw an error if the grades of the input value are not present in the input type.</p><p><strong>This is not how other subtypes of <code>Number</code> defined by Julia Base behave</strong>, as their conversion operations are generally defined to be identical to the constructor, and always throw the same error for a given pair of type and value.</p><p>If converting an <code>AbstractCliffordNumber</code> to any other numeric type, construction and conversion behave identically, as expected.</p></div></div><p>Construction and conversion of Clifford numbers from other Clifford numbers the only time that the quadratic form type parameter can be omitted, as it can be inferred directly from the input. In the case of <code>CliffordNumbers.Z2CliffordNumber</code>, the parity type parameter can also be inferred from a <code>KVector</code> input.</p><h3 id="Scalar-conversion"><a class="docs-heading-anchor" href="#Scalar-conversion">Scalar conversion</a><a id="Scalar-conversion-1"></a><a class="docs-heading-anchor-permalink" href="#Scalar-conversion" title="Permalink"></a></h3><p>It may be desirable to convert the scalar type of a Clifford number without having to specify the full typename of the desired output type. The function <code>scalar_convert(T, x)</code> takes a type <code>T&lt;:Union{Real,Complex}</code> and any Clifford number <code>x</code> and converts its scalar type to <code>T</code>. If <code>x</code> is a <code>Real</code> or <code>Complex</code>, it just converts <code>x</code> to an instance of <code>T</code>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="index.html">« Home</a><a class="docs-footer-nextpage" href="metrics.html">Metric signatures »</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.7.0 on <span class="colophon-date" title="Thursday 17 October 2024 21:35">Thursday 17 October 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
ERROR: InexactError: ...</code></pre><div class="admonition is-danger"><header class="admonition-header">Danger</header><div class="admonition-body"><p>This is an extremely important point: <strong>construction of a Clifford number type with fewer grades than the input performs a grade projection operation without throwing an error.</strong> However, <em>conversion</em> will throw an error if the grades of the input value are not present in the input type.</p><p><strong>This is not how other subtypes of <code>Number</code> defined by Julia Base behave</strong>, as their conversion operations are generally defined to be identical to the constructor, and always throw the same error for a given pair of type and value.</p><p>If converting an <code>AbstractCliffordNumber</code> to any other numeric type, construction and conversion behave identically, as expected.</p></div></div><p>Construction and conversion of Clifford numbers from other Clifford numbers the only time that the quadratic form type parameter can be omitted, as it can be inferred directly from the input. In the case of <code>CliffordNumbers.Z2CliffordNumber</code>, the parity type parameter can also be inferred from a <code>KVector</code> input.</p><h3 id="Scalar-conversion"><a class="docs-heading-anchor" href="#Scalar-conversion">Scalar conversion</a><a id="Scalar-conversion-1"></a><a class="docs-heading-anchor-permalink" href="#Scalar-conversion" title="Permalink"></a></h3><p>It may be desirable to convert the scalar type of a Clifford number without having to specify the full typename of the desired output type. The function <code>scalar_convert(T, x)</code> takes a type <code>T&lt;:Union{Real,Complex}</code> and any Clifford number <code>x</code> and converts its scalar type to <code>T</code>. If <code>x</code> is a <code>Real</code> or <code>Complex</code>, it just converts <code>x</code> to an instance of <code>T</code>.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="index.html">« Home</a><a class="docs-footer-nextpage" href="metrics.html">Metric signatures »</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.7.0 on <span class="colophon-date" title="Thursday 17 October 2024 23:03">Thursday 17 October 2024</span>. Using Julia version 1.11.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit bdee3e8

Please sign in to comment.