Fwd: Catalog of algebras: the definition of an algebra

37 views
Skip to first unread message

Travis Scrimshaw

unread,
May 6, 2015, 4:36:45 PM5/6/15
to Sage Algebra


On Wednesday, May 6, 2015 at 1:21:58 PM UTC-7, Peter Bruin wrote:
Hello,

Travis Scrimshaw wrote:

> On #15635, we are trying to decide whether we want non-associative
> algebras to be included in the catalog of algebras.

For a general mathematical software system such as Sage, I think it is
overly restrictive to impose the rule that algebras are associative.
There are too many interesting non-associative algebras (such as Lie
algebras), or non-unital algebras (such as certain Hecke algebras) to
make associativity part of the definition of an algebra.

Moreover, it is in my opinion an unfortunate choice of terminology if
non-associative algebras are not in general algebras.

> The argument against including them is "most" people think of algebras
> as being associative (and maybe even unital), and as such, might
> surprise people when they come across the non-associativity in their
> computations.

Anyone has the right to think of algebras as being associative, just
like many people think of vector spaces as being finite-dimensional,
say.  This is a bit like books or papers using the convention that all
the algebras that one considers are assumed to be associative (or that
vector spaces are assumed to be finite-dimensional, etc.)  However, it
feels wrong to elevate such conventions to definitions.

> However, the community was at one point considering renaming magmatic
> algebras into algebras and having to specify the associative axiom
> explicitly.

I would be in favour of this.

When finite-dimensional algebras over a field were implemented in
#12141, we explicitly included non-associative algebras.  In case the
user already knows that his algebra is associative, he can pass a flag
"assume_associative" (default: False) to avoid a lengthy computation to
check this.

Peter

David Kohel

unread,
May 7, 2015, 5:01:45 AM5/7/15
to sage-...@googlegroups.com, sage-a...@googlegroups.com
Hi All,

I think it would be a good idea to have a subcategory of associative algebras
(and inheritance of classes from an associative class).  Morphisms need to
know to check associativity. 

On the other hand, I was convinced years ago (by an argument of Bergman
at Berkeley) that algebras should be unital.  A non-unital "algebra" can be
embedded in a universal unital algebra, such that the non-unital object is a
two-sided ideal.

In Magma, I find it awkward that the algebras include the ideals, and there is
no class (type in Magma) to know whether an "algebra" admits a morphism
from its base ring or is just a module.  Consequently Ideals as objects of study
is essentially absent in Magma.  E.g. ideals over a number ring are hacked
as elements of a (fractional) ideal group or ideal monoid, but do not support
elements.

Peter argues that certain Hecke algebras are non-unital, but should these
not be viewed as ideals?  I would be tempted to have associative algebras
inherit from unital algebras, and to view non-unital "algebras" as ideals. 

The (important) case of Lie algebras is worth considering, whether it is too
restrictive to assume that a general Lie algebra is an ideal over a universal
algebra.  This would conflict with the usual definition (a Lie algebra "over R"
has no embedding of R).  Moreover, should the * operation be the Lie bracket,
or be reserved for its envelopping algebra?  (Using [x,y] would be nice but
would conflict with lists.)  With * as the algebra operation, do the special
properties of Lie algebras (e.g. the set-theoretic inclusion in an envelopping
algebra is not a homomorphism) suggst they should be implemented outside
the class and categorical hierarchy of algebras.  To me, the main question
is whether one needs morphisms between Lie algebras and associative or
non-associative algebras, and (in practice) what code can be shared between
the associated classes.  It seems clear that Lie algebras need to inherit from
general (non-unital non-associative) algebras, but the relation with other
algebras needs some consideration.

The unital condition is important because it determines whether it is reasonable
to coerce an element of the base ring, or dismiss such a request without
solving a potentially hard question whether there exists a canonical embedding.
For a unital algebra, we want to require an efficient canonical coercion from
the base ring, whereas for ideals, either a not implemented error or a potentially
expensive but correct algorithm would be acceptable and expected.

In short, to the extent possible I would impose the unital condition as widely as
possible, and develop the ideal theory of algebras in its own right.

Cheers,

David

Travis Scrimshaw

unread,
May 7, 2015, 12:24:47 PM5/7/15
to sage-...@googlegroups.com, sage-a...@googlegroups.com


I think it would be a good idea to have a subcategory of associative algebras
(and inheritance of classes from an associative class).  Morphisms need to
know to check associativity. 

The current heirarchy is to start Magmatic algebras (no assumptions), then you add the axioms "associative" and "unital", giving you the categories (with the current naming scheme):

      MagmaticAlgebras
       /                         \
UnitalAlgebras  AssociativeAlgebras
       \                        /
            Algebras

What I'm currently doing with #14901 (Lie algebras) is to have Lie algebras inherit from Modules (to avoid the situation mentioned above), implement some syntactic sugar for [x, y] notation but mostly to use a call to a method bracket(), and let * automatically lift to the universal enveloping algebra.
 
The unital condition is important because it determines whether it is reasonable
to coerce an element of the base ring, or dismiss such a request without
solving a potentially hard question whether there exists a canonical embedding.
For a unital algebra, we want to require an efficient canonical coercion from
the base ring, whereas for ideals, either a not implemented error or a potentially
expensive but correct algorithm would be acceptable and expected.

In short, to the extent possible I would impose the unital condition as widely as
possible, and develop the ideal theory of algebras in its own right.

 
We currently don't have any (non-associative) unital algebras AFAIK, so there currently is no precedence. For Jordan algebras a (magmatic) algebra, IIRC I just disabled the coercion from the base ring and just made it an action, similar to what we do for modules. +1 to further developing ideals in Sage.


I wouldn't like so much to denote something as "non-bla" (where "bla"
can be associative, commutative, unital, finite, ...), when "non-bla"
just means "not necessarily bla".

So, please don't name them "category of non-associative algebras". I'd
prefer to name them "category of magmatic algebras".

I agree, although we currently say an associative magmatic algebra simply as an associative algebra (and in the doc say it is not necessarily unital).

Sure, I once learnt that an "algebra" is not necessarily associative.
Just think of Lie algebras. On the other hand, I wouldn't go as far as
saying that our notion of Algebras() should change, because Algebras()
in Sage has always included "associative unital". Changing that would be
backwards incompatible.

Yes, it would be. However, there are many ways I can think of that could possibly be used to transition between the conventions. Although that's a bit off the topic of this thread, but is definitely something we should discuss.

I am looking forward to the discussion about "skew fields".   Which
are not fields.  Except perhaps in France (but there zero is positive,
so people clearly cannot be trusted).

Division rings FTW!
 
Reply all
Reply to author
Forward
0 new messages