37 views

Skip to first unread message

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

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

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

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 agree, although we currently say an associative magmatic algebra simply as an associative algebra (and in the doc say it is not necessarily unital).

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.

Division rings FTW!

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

Search

Clear search

Close search

Google apps

Main menu