Hi Travis,
On 17 Apr., 10:32, Travis Willse <[email protected]> wrote:
> Is there a reasonable way to implement the exterior (alternating)
> algebra of a finite-dimensional vector space? One could do this with
> FreeAlgebraQuotient, but I want to compute the exterior algebra over
> QQ^7, which is large enough (dimension 128) that using that class
> would be tedious.
I had a similar setting: Graded commutative rings, i.e., homogeneous
elements in odd degree anticommute among each other, and homogeneous
elements in even degree are in the center. An exterior algebra is just
a special case (all generators in degree one).
My solution was to use Singular's "SuperCommutative" (http://
www.singular.uni-kl.de/Manual/3-0-4/sing_520.htm) in the background.
Here, one defines a polynomial ring, and SuperCommutative(m,n) then
yields a non-commutative ring in which variables m to n anticommute
and have square zero.
Unfortunately, SuperCommutative isn't available in libsingular (yet,
hint hint...). So, you would need to use Singular directly via the
interface, using SuperCommutative(1,n) for implementing exteriour
algebra with n generators.
SuperCommutative is quite efficiently implemented: Basic arithmetic
seems to be nearly as fast as in usual commutative polynomial rings,
and you have fast Gröbner basis computations. And the number of
generators shouldn't be a problem.
Cheers,
Simon
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---