Jordan Algebras

JordanTripleProduct(J) : AlgGen -> TenSpcElt
Returns the tensor describing the Jordan triple product.
JordanSpinAlgebra(F) : TenSpcElt -> AlgGen
JordanSpinAlgebra(F) : Any -> AlgGen
Returns the special Jordan algebra of spin type for given symmetric form.

Example AlgNAss_Ten_Jordan_Basic (H96E2)

Jordan algebras have suggestive analogues of commutative associative algebras, but experimenting shows serious differences.
> F := IdentityMatrix(Rationals(),2);
> J := JordanSpinAlgebra(F);
> T := Tensor(J);
> R := AsMatrices( T, 2,0);
> R[1];   // Is J.1 the identity?
[1 0 0]
[0 1 0]
[0 0 1]
> J.2*J.2 eq J.1;  // J.2^2=1?
true
> J.2*J.3 eq 0;  // Yet J.2 is a zero-divisor.
true
> e := (1/2)*(J.1+J.2);
> e^2 eq e;  // An idempotent of J?
true
Pierce decompositions in Jordan algebras have the usual 0 and 1 eigenspaces but an additional 1/2-eigenspace emerges as well.
> Re := (1/2)*(R[1]+R[2]);
> Eigenvalues(Re);
{ <1, 1>, <1/2, 1>, <0, 1> }
ExceptionalJordanCSA(O) : AlgGen -> AlgGen
ExceptionalJordanCSA(K) : Fld -> AlgGen
The exception central simple Jordan algebra over the given octonions. If a field is supplied instead then the split octonion algebra over the field is used.

Example AlgNAss_Ten_Chevalley_Shafer_F4 (H96E3)

In characteristic not 2 or 3, the exceptional central simple Jordan algebra can be used to construct the exceptional Lie algebra of type F4.
> J := ExceptionalJordanCSA(Rationals());
> T := Tensor(J);
> T := ChangeTensorCategory(T, HomotopismCategory(3));
> D := DerivationAlgebra(T);
> _, D2 := Induce(D, 2);           // Represent D on U2.
> F4 := D2*D2;                  // Commutator.
> SemisimpleType(F4);
F4
> F4;               // F4 represented on a 27-dim module.
Matrix Lie Algebra of degree 27 over Rational Field
V2.28, 13 July 2023