<h3>3 <span class="Heading">Simple Euclidean Jordan Algebras</span></h3>
<p>A Jordan algebra is a commutative yet nonassociative algebra with product <span class="Math">\circ</span> that satisfies the Jordan identity <span class="Math">x\circ(x^2 \circ y) = x^2 \circ (x\circ y)</span>. Given an associative algebra, we can define a Jordan algebra on the same elements using the product <span class="Math">x \circ y = (xy + yx)/2</span>. A Jordan algebra <span class="Math">V</span> is <em>Euclidean</em> when there exists an inner product <span class="Math">(x,y)</span> on <span class="Math">V</span> that satisfies <span class="Math">(x\circ y, z) = (y, x\circ z)</span> for all <span class="Math">x,y,z</span> in <span class="Math">V</span> <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, p. 42]</a>. Euclidean Jordan algebras are in one-to-one correspondence with structures known as symmetric cones, and any Euclidean Jordan algebra is the direct sum of simple Euclidean Jordan algebras <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, chap. 3]</a>.</p>
<p>The simple Euclidean Jordan algebras, in turn, are classified by rank and degree into four families and one exception <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, chap. 5]</a>. The first family consists of rank 2 algebras with degree any positive integer. The remaining three families consist Jordan algebras with degree 1, 2, or 4 with rank a positive integer greater than 2. The exceptional algebra has rank 3 and degree 8.</p>
<p>The <strong class="pkg">ALCO</strong> package provides a number of tools to construct and manipulate simple Euclidean Jordan algebras (described well in <a href="chapBib.html#biBfaraut_analysis_1994">[FK94]</a>), including their homotope and isotopes algebras (defined in <a href="chapBib.html#biBmccrimmon_taste_2004">[McC04, p. 86]</a>). Among other applications, these tools can reproduce many of the examples found in <a href="chapBib.html#biBelkies_exceptional_1996">[EG96]</a> and <a href="chapBib.html#biBelkies_cubic_2001">[EG01]</a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsJordanAlgebra</code></td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsJordanAlgebraObj</code></td><td class="tdright">( filter )</td></tr></table></div>
<p>These filters determine whether an element is a Jordan algebra (<code class="code">IsJordanAlgebra</code>) or is an element in a Jordan algebra (<code class="code">IsJordanAlgebraObj</code>).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JordanRank</code>( <var class="Arg">x</var> )</td><td class="tdright">( method )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Rank</code>( <var class="Arg">x</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>The rank of a Jordan algeba is the size of a maximal set of mutually orthogonal primitive idempotents in the algebra. The rank and degree are used to classify the simple Euclidean Jordan algebras. This method returns the rank of <var class="Arg">x</var> when <code class="code">IsJordanAlgebra(<var class="Arg">x</var>)</code> or the rank of the Jordan algebra containing <var class="Arg">x</var> (computed as <code class="code">FamilyObj(x)!.fullSCAlgebra</code>) when <code class="code">IsJordanAlgebraObj(<var class="Arg">x</var>)</code>. The method <code class="code">Rank(<var class="Arg">x</var>)</code> returns <code class="code">JordanRank(<var class="Arg">x</var>)</code> when <var class="Arg">x</var> satisfies either <code class="code">IsJordanAlgebra</code> or <code class="code">IsJordanAlgebraObj</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JordanDegree</code>( <var class="Arg">x</var> )</td><td class="tdright">( method )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Degree</code>( <var class="Arg">x</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>The degree of a Jordan algebra is the dimension of the off-diagonal entries in a Pierce decomposition of the Jordan algebra. For example, a Jordan algebra of quaternion hermitian matrices has degree 4. This method returns the degree of <var class="Arg">x</var> when <code class="code">IsJordanAlgebra(<var class="Arg">x</var>)</code> or the degree of the Jordan algebra containing <var class="Arg">x</var> (computed as <code class="code">FamilyObj(x)!.fullSCAlgebra</code>) when <codeclass="code">IsJordanAlgebraObj(<var class="Arg">x</var>)</code>. The method <code class="code">Degree(<var class="Arg">x</var>)</code> returns <code class="code">JordanDegree(<var class="Arg">x</var>)</code> when <var class="Arg">x</var> satisfies either <code class="code">IsJordanAlgebra</code> or <code class="code">IsJordanAlgebraObj</code>.</p>
<p>Each vector in a simple Euclidean Jordan algebra can be written as a ℝ-linear combination of mutually orthogonal primitive idempotents. This is called the <em>spectral decomposition</em> of a Jordan algebra element. The coefficients in the decomposition are the <em>eigenvalues</em> of the element. The Jordan trace and determinant, described below, are respectively the sum and product of these eigenvalues with multiplicities included <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, p. 44]</a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Trace</code>( <var class="Arg">x</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns the Jordan trace of <var class="Arg">x</var> when <code class="code">IsJordanAlgebraObj(<var class="Arg">x</var>)</code>. The trace of a Jordan algebra element is the sum of the eigenvalues of that element (with multiplicies included).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Determinant</code>( <var class="Arg">x</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns the Jordan determinant of <var class="Arg">x</var> when <code class="code">IsJordanAlgebraObj(<var class="Arg">x</var>)</code>. The determinant of a Jordan algebra element is the product of the eigenvalues of that element (with multiplicies included).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Norm</code>( <var class="Arg">x</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns the Jordan norm of <var class="Arg">x</var> when <code class="code">IsJordanAlgebraObj(<var class="Arg">x</var>)</code>. The Jordan norm has the value <code class="code">Trace(<var class="Arg">x</var>^2)/2</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GenericMinimalPolynomial</code>( <var class="Arg">x</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns the generic minimal polynomial of <var class="Arg">x</var> when <code class="code">IsJordanAlgebraObj(<var class="Arg">x</var>)</code> as defined in <a href="chapBib.html#biBfaraut_analysis_2000">[FKK+00, p. 478]</a> (see also <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, pp. 27-31]</a>). The output is given as a list of polynomial coefficients. Note that the generic minimal polynomial is a monic polynomial of degree equal to the rank of the Jordan algebra. The trace and determinant of a Jordan algebra element are, to within a sign, given by the coefficients of the second highest degree term and the constant term.</p>
<p>The classification of simple Euclidean Jordan algebras is described in <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, chap. 5]</a>. A simple Euclidean Jordan algebra can be constructed in the following two ways. A rank <span class="Math">2</span> algebra can be constructed from a positive definite Gram matrix in the manner described in <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, p. 25]</a>. A degree <span class="Math">1</span>, <span class="Math">2</span>, <span class="Math">4</span>, or <span class="Math">8</span> algebra can be constructed using Hermitian matrices over a composition algebra of dimension equal to the degree with the product <span class="Math">(xy+yx)/2</span>. In certain cases both constructions are possible. The <strong class="pkg">ALCO</strong> package provides tools to use both constructions to create simple Euclidean Jordan algebras with elements that satisfy <code class="code">IsSCAlgebraObj</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SimpleEuclideanJordanAlgebra</code>( <var class="Arg">rho</var>, <var class="Arg">d</var>[, <var class="Arg">args</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns a simple Euclidean Jordan algebra over ℚ. The construction used depends on the arguments given in the following manner.</p>
<p>For Jordan algebras of rank <var class="Arg">rho</var> equal to <span class="Math">2</span>, the <code class="func">JordanSpinFactor</code> (<a href="chap3.html#X86C6713C8178A69F"><span class="RefLink">3.2-2</span></a>) construction is used. If optional <var class="Arg">args</var> is empty then the result is <code class="code">JordanSpinFactor(IdentityMat(<var class="Arg">d</var>+1))</code>. If optional <var class="Arg">args</var> is a symmetric matrix of dimension <var class="Arg">d</var>+1, then <code class="code">JordanSpinFactor(args)</code> is used. If neither of these rank 2 cases apply, and <var class="Arg">d</var> is equal to 1,2,4, or 8, and if <var class="Arg">args</var> is a composition algebra basis, then <code class="code">HermitianSimpleJordanAlgebra(<varclass="Arg">rho</var>, <var class="Arg">args</var>)</code> is used.</p>
<p>In the cases where rank <var class="Arg">rho</var> is greater than <span class="Math">2</span>, we must have <var class="Arg">d</var> equal to one of <span class="Math">1</span>, <span class="Math">2</span>, <span class="Math">4</span>, or <span class="Math">8</span>. Note that <var class="Arg">d</var> equals <span class="Math">8</span> is only permitted when <var class="Arg">rho</var> equals <span class="Math">3</span>. When optional <var class="Arg">args</var> is a composition algebra basis of dimension <var class="Arg">d</var>, <code class="code">HermitianSimpleJordanAlgebra(<var class="Arg">rho</var>, <var class="Arg">args</var>)</code> is used. Otherwise, when optional <var class="Arg">args</var> is empty, this function uses <code class="code">HermitianSimpleJordanAlgebra(<var class="Arg">rho</var>, <var class="Arg">B</var>)</code> for <var class="Arg">B</var> either <code class="code">CanonicalBasis(Rationals)</code>, <code class="code">Basis(CF(4), [1, E(4)])</code>, <code class="code">CanonicalBasis(QuaternionAlgebra(Rationals))</code>, or <code class="code">CanonicalBasis(OctonionAlgebra(Rationals))</code>.</p>
<p>Note that (in contrast to <code class="func">AlbertAlgebra</code> (<a href="chap3.html#X7A6AFFE07994B4A9"><span class="RefLink">3.3-1</span></a>)) the Hermitian Jordan algebras constructed using <code class="code">SimpleEuclideanJordanAlgebra</code> uses the upper triangular entries of the Hermitian matrices define the basis vectors.</p>
<div class="example"><pre><span class="GAPprompt">gap></span> <span class="GAPinput">J := SimpleEuclideanJordanAlgebra(3,8);</span>
<algebra-with-one of dimension 27 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">Derivations(Basis(J));; SemiSimpleType(last);</span> "F4"</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JordanSpinFactor</code>( <var class="Arg">G</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns a Jordan spin factor algebra when <var class="Arg">G</var> is a positive definite Gram matrix. This is the Jordan algebra of rank 2 constructed from a symmetric bilinear form, as described in <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, p. 25]</a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HermitianSimpleJordanAlgebra</code>( <var class="Arg">r</var>, <var class="Arg">B</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns a simple Euclidean Jordan algebra of rank <var class="Arg">r</var> with the basis for the off-diagonal components defined using composition algebra basis <var class="Arg">B</var>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JordanHomotope</code>( <var class="Arg">J</var>, <var class="Arg">u</var>[, <var class="Arg">s</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>For <var class="Arg">J</var> a Jordan algebra satisfying <code class="code">IsJordanAlgebra(<var class="Arg">J</var> )</code>, and for <var class="Arg">u</var> a vector in <var class="Arg">J</var>, this function returns the corresponding <var class="Arg">u</var>-homotope algebra with the product of <span class="Math">x</span> and <span class="Math">y</span> defined as <span class="Math">x(uy)+(xu)y - u(xy)</span>. The <var class="Arg">u</var>-homotope algebra also belongs to the filter <codeclass="code">IsJordanAlgebra</code>.</p>
<p>Of note, if <var class="Arg">u</var> is invertible in <var class="Arg">J</var> then the corresponding <var class="Arg">u</var>-homotope algebra is called a <var class="Arg">u</var>-isotope. The optional argument <var class="Arg">s</var> is a string that determines the labels of the canonical basis vectors in the new algebra. The main definitions and properties of Jordan homotopes and isotopes are given in <a href="chapBib.html#biBmccrimmon_taste_2004">[McC04, pp.82-86]</a>.</p>
<h4>3.3 <span class="Heading">The Albert Algebra</span></h4>
<p>The exceptional simple Euclidean Jordan algebra, or Albert algebra, may be constructed using <code class="func">SimpleEuclideanJordanAlgebra</code> (<a href="chap3.html#X7852050A81DEB9F4"><span class="RefLink">3.2-1</span></a>) with rank 3 and degree 8. However, that construction uses the upper triangular entries of the Hermitian matrices define the basis vectors (i.e., the <code class="code">[1][2], [2][3], [1][3]</code> entries). Much of the literature on the Albert algebra instead uses the <code class="code">[1][2], [2][3], [3][1]</code> entries of the Hermitian matrices to define the basis vectors (see for example <a href="chapBib.html#biBwilson_finite_2009">[Wil09a, pp. 147-148]</a>). The <strong class="pkg">ALCO</strong> package provides a specific construction of the Albert algebra that uses this convention for defining basis vectors, described below.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AlbertAlgebra</code>( <var class="Arg">F</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For <var class="Arg">F</var> a field, this function returns an Albert algebra over <var class="Arg">F</var>. For <code class="code"><var class="Arg">F</var> = Rationals</code>, this algebra is isomorphic to <code class="code">HermitianSimpleJordanAlgebra(3,8,Basis(Oct))</code> but in a basis that is more convenient for reproducing certain calculations in the literature. Specifically, while <code class="code">HermitianSimpleJordanAlgebra(3,8,Basis(Oct))</code> uses the upper-triangular elements of a Hermitian matrix as representative, <code class="code">AlbertAlgebra(<var class="Arg">F</var>)</code> uses the <code class="code">[1][2], [2][3], [3][1]</code> entries as representative. These are respectively labeled using <code class="code">k,i,j</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AlbertVectorToHermitianMatrix</code>( <var class="Arg">x</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For an element <var class="Arg">x</var> in <code class="code">AlbertAlgebra(<var class="Arg">Rationals</var>)</code>, this function returns the corresponding 3 x 3 Hermitian matrix with octonion entries in <code class="code">OctonionAlgebra(<var class="Arg">Rationals</var>)</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HermitianMatrixToAlbertVector</code>( <var class="Arg">x</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For 3 x 3 Hermitian matrix with elements in <code class="code">OctonionAlgebra(<var class="Arg">Rationals</var>)</code>, this function returns the corresponding vector in in <code class="code">AlbertAlgebra(<var class="Arg">Rationals</var>)</code>.</p>
<p>Many important features of simple Euclidean Jordan algebra and their isotopes are related to the quadratic representation. This aspect of Jordan algebras is described well in <a href="chapBib.html#biBmccrimmon_taste_2004">[McC04, pp.82-86]</a> and <a href="chapBib.html#biBfaraut_analysis_1994">[FK94, pp. 32-38]</a>. The following methods allow for the construction of Jordan quadratic maps and the standard triple product on a Jordan algebra.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JordanQuadraticOperator</code>( <var class="Arg">x</var>[, <var class="Arg">y</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>For <var class="Arg">x</var> and <var class="Arg">y</var> Jordan algebra elements, satisfying <code class="code">IsJordanAlgebraObj</code> this operation applies two methods. In the case of <code class="code">JordanQuadraticOperator(<var class="Arg">x</var>, y)</code>, this operation returns <code class="code">2*x*(x*y) - (x^2)*y</code>. In the case of <code class="code">JordanQuadraticOperator(x)</code>, this operation returns the matrix representing the quadratic map in the canonical basis of the Jordan algebra <var class="Arg">J</var> containing <var class="Arg">x</var>. For <code class="code">L(x)</code> the matrix <code class="code">AdjointMatrix(CanonicalBasis(J), x)</code>, the operation <code class="code">JordanQuadraticOperator(<var class="Arg">x</var>)</code> returns the matrix <code class="code">2 L(x)^2 - L(x^2)</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HermitianJordanAlgebraBasis</code>( <var class="Arg">r</var>, <var class="Arg">B</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns a set of Hermitian matrices to serve as a basis for the Jordan algebra of rank <var class="Arg">r</var> and degree given by the cardinality of composition algebra basis <var class="Arg">B</var>. The elements spanning each off-diagonal components are determined by basis <var class="Arg">B</var>.</p>
<div class="example"><pre><span class="GAPprompt">gap></span> <span class="GAPinput">H := QuaternionAlgebra(Rationals);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">for x in HermitianJordanAlgebraBasis(2, Basis(H)) do Display(x); od;</span>
[ [ e, 0*e ],
[ 0*e, 0*e ] ]
[ [ 0*e, 0*e ],
[ 0*e, e ] ]
[ [ 0*e, e ],
[ e, 0*e ] ]
[ [ 0*e, i ],
[ (-1)*i, 0*e ] ]
[ [ 0*e, j ],
[ (-1)*j, 0*e ] ]
[ [ 0*e, k ],
[ (-1)*k, 0*e ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">AsList(Basis(H));</span>
[ e, i, j, k ]</pre></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JordanMatrixBasis</code>( <var class="Arg">J</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>If <code class="code">IsJordanAlgebra( <var class="Arg">J</var> )</code> and <var class="Arg">J</var> has been constructed using <code class="func">HermitianSimpleJordanAlgebra</code> (<a href="chap3.html#X859F001D7CB6CBD8"><span class="RefLink">3.2-3</span></a>), then the set of matrices corresponding to <code class="code">CanonicalBasis( <var class="Arg">J</var> )</code> can be obtained using <code class="code">JordanMatrixBasis( <var class="Arg">J</var> )</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HermitianMatrixToJordanVector</code>( <var class="Arg">mat</var>, <var class="Arg">J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Converts matrix <var class="Arg">mat</var> into an element of Jordan algebra <var class="Arg">J</var>.</p>
<div class="example"><pre><span class="GAPprompt">gap></span> <span class="GAPinput">H := QuaternionAlgebra(Rationals);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">J := HermitianSimpleJordanAlgebra(2,Basis(H));</span>
<algebra-with-one of dimension 6 over Rationals>
<span class="GAPprompt">gap></span> <span class="GAPinput">AsList(CanonicalBasis(J));</span>
[ v.1, v.2, v.3, v.4, v.5, v.6 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">JordanMatrixBasis(J);; for x in last do Display(x); od;</span>
[ [ e, 0*e ],
[ 0*e, 0*e ] ]
[ [ 0*e, 0*e ],
[ 0*e, e ] ]
[ [ 0*e, e ],
[ e, 0*e ] ]
[ [ 0*e, i ],
[ (-1)*i, 0*e ] ]
[ [ 0*e, j ],
[ (-1)*j, 0*e ] ]
[ [ 0*e, k ],
[ (-1)*k, 0*e ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List(JordanMatrixBasis(J), x -> HermitianMatrixToJordanVector(x, J));</span>
[ v.1, v.2, v.3, v.4, v.5, v.6 ]</pre></div>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.