Skip to content

Commit

Permalink
build based on 944a76b
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Mar 22, 2024
1 parent a97a503 commit b3bb9e5
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 36 deletions.
62 changes: 31 additions & 31 deletions dev/api.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/getting_started.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
CliffordNumber{APS,Int}(1, 0, 0, 0, 0, 0, 0, 1)

julia> CliffordNumber{APS,Complex}(1 + im)
CliffordNumber{APS,Complex{Int}}(1 + im, 0, 0, 0, 0, 0, 0, 0)</code></pre><h2 id="Quadratic-forms"><a class="docs-heading-anchor" href="#Quadratic-forms">Quadratic forms</a><a id="Quadratic-forms-1"></a><a class="docs-heading-anchor-permalink" href="#Quadratic-forms" title="Permalink"></a></h2><p>Before getting started with Clifford numbers, it&#39;s important to understand how the dimensionality of the space is stored. Unlike with other data types such as StaticArrays.jl&#39;s <code>SVector</code>, the total number of dimensions in the space is not all the information that needs to be stored. Each basis vector of the space may square to a positive number, negative number, or zero, defining the quadratic form associated with the Clifford algebra. This information needs to be tracked as a type parameter for <code>CliffordNumber</code>.</p><p>To handle this, the <code>QuadraticForm{P,Q,R}</code> type is used to store information about the quadratic form. In this type, <code>P</code> represents the number of dimensions squaring to a positive number, <code>Q</code> represents the number squaring to a negative number, and <code>R</code> represents the number squaring to zero.</p><p>!!! note By convention, the <code>QuadraticForm</code> type is not instantiated when used as a type parameter for <code>CliffordNumber</code> instances.</p><p>CliffordNumbers.jl provides the following aliases for common algebras:</p><p>| Algebra | Alias | Note | | <code>VGA(D)</code> | <code>QuadraticForm{D,0,0}</code> | Vanilla/vector geometric algebra | | <code>PGA(D)</code> | <code>QuadraticForm{D,0,1}</code> | Projective geometric algebra | | <code>APS</code> | <code>QuadraticForm{3,0,0}</code> | Algebra of physical space | | <code>STA</code> | <code>QuadraticForm{1,3,0}</code> | Spacetime algebra. By default, uses a +–- | | | | convention to distinguish it from a conformal | | | | geometric algebra. |</p><p>Currently, an alias for conformal geometric algebras (<code>CGA{D}</code>) does not exist, as it requires some type parameter trickery that hasn&#39;t been figured out yet.</p></article><nav class="docs-footer"><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.23 on <span class="colophon-date" title="Wednesday 20 March 2024 22:14">Wednesday 20 March 2024</span>. Using Julia version 1.10.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
CliffordNumber{APS,Complex{Int}}(1 + im, 0, 0, 0, 0, 0, 0, 0)</code></pre><h2 id="Quadratic-forms"><a class="docs-heading-anchor" href="#Quadratic-forms">Quadratic forms</a><a id="Quadratic-forms-1"></a><a class="docs-heading-anchor-permalink" href="#Quadratic-forms" title="Permalink"></a></h2><p>Before getting started with Clifford numbers, it&#39;s important to understand how the dimensionality of the space is stored. Unlike with other data types such as StaticArrays.jl&#39;s <code>SVector</code>, the total number of dimensions in the space is not all the information that needs to be stored. Each basis vector of the space may square to a positive number, negative number, or zero, defining the quadratic form associated with the Clifford algebra. This information needs to be tracked as a type parameter for <code>CliffordNumber</code>.</p><p>To handle this, the <code>QuadraticForm{P,Q,R}</code> type is used to store information about the quadratic form. In this type, <code>P</code> represents the number of dimensions squaring to a positive number, <code>Q</code> represents the number squaring to a negative number, and <code>R</code> represents the number squaring to zero.</p><p>!!! note By convention, the <code>QuadraticForm</code> type is not instantiated when used as a type parameter for <code>CliffordNumber</code> instances.</p><p>CliffordNumbers.jl provides the following aliases for common algebras:</p><p>| Algebra | Alias | Note | | <code>VGA(D)</code> | <code>QuadraticForm{D,0,0}</code> | Vanilla/vector geometric algebra | | <code>PGA(D)</code> | <code>QuadraticForm{D,0,1}</code> | Projective geometric algebra | | <code>APS</code> | <code>QuadraticForm{3,0,0}</code> | Algebra of physical space | | <code>STA</code> | <code>QuadraticForm{1,3,0}</code> | Spacetime algebra. By default, uses a +–- | | | | convention to distinguish it from a conformal | | | | geometric algebra. |</p><p>Currently, an alias for conformal geometric algebras (<code>CGA{D}</code>) does not exist, as it requires some type parameter trickery that hasn&#39;t been figured out yet.</p></article><nav class="docs-footer"><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.23 on <span class="colophon-date" title="Friday 22 March 2024 16:58">Friday 22 March 2024</span>. Using Julia version 1.10.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
2 changes: 1 addition & 1 deletion dev/index.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · CliffordNumbers.jl</title><script data-outdated-warner src="assets/warner.js"></script><link rel="canonical" href="https://brainandforce.github.io/CliffordNumbers.jl/index.html"/><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="index.html">CliffordNumbers.jl</a></span></div><form class="docs-search" action="search.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href="index.html">Home</a><ul class="internal"><li><a class="tocitem" href="#Design-goals"><span>Design goals</span></a></li></ul></li><li><a class="tocitem" href="operations.html">Operations</a></li><li><a class="tocitem" href="api.html">API</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href="index.html">Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="index.html">Home</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/brainandforce/CliffordNumbers.jl/blob/main/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="CliffordNumbers"><a class="docs-heading-anchor" href="#CliffordNumbers">CliffordNumbers</a><a id="CliffordNumbers-1"></a><a class="docs-heading-anchor-permalink" href="#CliffordNumbers" title="Permalink"></a></h1><p><a href="https://github.com/brainandforce/CliffordNumbers.jl">CliffordNumbers.jl</a> is a package that provides fully static multivectors (Clifford numbers) in arbitrary dimensions and metrics. While in many cases, sparse representations of multivectors are more efficient, for spaces of low dimension, dense static representations may provide a performance and convenience advantage.</p><h2 id="Design-goals"><a class="docs-heading-anchor" href="#Design-goals">Design goals</a><a id="Design-goals-1"></a><a class="docs-heading-anchor-permalink" href="#Design-goals" title="Permalink"></a></h2><p>The goal of this package is to provide a multivector implementation that:</p><ul><li>Allows for the construction of multivectors in arbitrary metrics, with coefficients that subtype any instance of <code>Real</code> or <code>Complex</code>.</li><li>Provides data structures of fixed sizes that represent multivectors. This allows for instances to be allocated on the stack or stored inline in an <code>Array</code> rather than as pointers to individually allocated instances.</li><li>Provides dense representations of multivectors, as well as convenient sparse representations, which can be constructed from each other, converted in a way that guarantees representability, and allows for promotion between instances.</li><li>Subtypes <code>Number</code>: The term &quot;Clifford number&quot; emphasizes the perspective of multivectors as an extension of the real numbers, in the same way that complex numbers and quaternions extend them. (It should be noted that both complex numbers and quaternions are Clifford algebras!)</li><li>Aggressively optimizes all mathematical operations, utilizing <code>fma</code> operations and SIMD instructions whenever possible.</li><li>Interoperates with automatic differentiation tools and other packages which allow for the implementation of operations from geometric calculus.</li></ul></article><nav class="docs-footer"><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="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.23 on <span class="colophon-date" title="Wednesday 20 March 2024 22:14">Wednesday 20 March 2024</span>. Using Julia version 1.10.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Home · CliffordNumbers.jl</title><script data-outdated-warner src="assets/warner.js"></script><link rel="canonical" href="https://brainandforce.github.io/CliffordNumbers.jl/index.html"/><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="index.html">CliffordNumbers.jl</a></span></div><form class="docs-search" action="search.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li class="is-active"><a class="tocitem" href="index.html">Home</a><ul class="internal"><li><a class="tocitem" href="#Design-goals"><span>Design goals</span></a></li></ul></li><li><a class="tocitem" href="operations.html">Operations</a></li><li><a class="tocitem" href="api.html">API</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href="index.html">Home</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="index.html">Home</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/brainandforce/CliffordNumbers.jl/blob/main/docs/src/index.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="CliffordNumbers"><a class="docs-heading-anchor" href="#CliffordNumbers">CliffordNumbers</a><a id="CliffordNumbers-1"></a><a class="docs-heading-anchor-permalink" href="#CliffordNumbers" title="Permalink"></a></h1><p><a href="https://github.com/brainandforce/CliffordNumbers.jl">CliffordNumbers.jl</a> is a package that provides fully static multivectors (Clifford numbers) in arbitrary dimensions and metrics. While in many cases, sparse representations of multivectors are more efficient, for spaces of low dimension, dense static representations may provide a performance and convenience advantage.</p><h2 id="Design-goals"><a class="docs-heading-anchor" href="#Design-goals">Design goals</a><a id="Design-goals-1"></a><a class="docs-heading-anchor-permalink" href="#Design-goals" title="Permalink"></a></h2><p>The goal of this package is to provide a multivector implementation that:</p><ul><li>Allows for the construction of multivectors in arbitrary metrics, with coefficients that subtype any instance of <code>Real</code> or <code>Complex</code>.</li><li>Provides data structures of fixed sizes that represent multivectors. This allows for instances to be allocated on the stack or stored inline in an <code>Array</code> rather than as pointers to individually allocated instances.</li><li>Provides dense representations of multivectors, as well as convenient sparse representations, which can be constructed from each other, converted in a way that guarantees representability, and allows for promotion between instances.</li><li>Subtypes <code>Number</code>: The term &quot;Clifford number&quot; emphasizes the perspective of multivectors as an extension of the real numbers, in the same way that complex numbers and quaternions extend them. (It should be noted that both complex numbers and quaternions are Clifford algebras!)</li><li>Aggressively optimizes all mathematical operations, utilizing <code>fma</code> operations and SIMD instructions whenever possible.</li><li>Interoperates with automatic differentiation tools and other packages which allow for the implementation of operations from geometric calculus.</li></ul></article><nav class="docs-footer"><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="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.23 on <span class="colophon-date" title="Friday 22 March 2024 16:58">Friday 22 March 2024</span>. Using Julia version 1.10.2.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit b3bb9e5

Please sign in to comment.