From: Michael Orlitzky Date: Sun, 5 Feb 2023 13:09:19 +0000 (-0500) Subject: eja: add another test case for the Albert EJA determinant. X-Git-Url: http://gitweb.michael.orlitzky.com/?p=sage.d.git;a=commitdiff_plain;h=15386c28753bcb533917719a91dc19ba80724cb1 eja: add another test case for the Albert EJA determinant. --- diff --git a/mjo/eja/eja_element.py b/mjo/eja/eja_element.py index 8af3b77..a229fa3 100644 --- a/mjo/eja/eja_element.py +++ b/mjo/eja/eja_element.py @@ -332,7 +332,8 @@ class EJAElement(IndexedFreeModuleElement): SETUP:: - sage: from mjo.eja.eja_algebra import (JordanSpinEJA, + sage: from mjo.eja.eja_algebra import (AlbertEJA, + ....: JordanSpinEJA, ....: TrivialEJA, ....: RealSymmetricEJA, ....: ComplexHermitianEJA, @@ -395,6 +396,22 @@ class EJAElement(IndexedFreeModuleElement): sage: actual2 == expected True + There's a formula for the determinant of the Albert algebra + (Yokota, Section 2.1):: + + sage: def albert_det(x): + ....: X = x.to_matrix() + ....: res = X[0,0]*X[1,1]*X[2,2] + ....: res += 2*(X[1,2]*X[2,0]*X[0,1]).real() + ....: res -= X[0,0]*X[1,2]*X[2,1] + ....: res -= X[1,1]*X[2,0]*X[0,2] + ....: res -= X[2,2]*X[0,1]*X[1,0] + ....: return res.leading_coefficient() + sage: J = AlbertEJA(field=QQ, orthonormalize=False) + sage: xs = J.random_elements(10) + sage: all( albert_det(x) == x.det() for x in xs ) + True + """ P = self.parent() r = P.rank()