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


> 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.
>
> 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!
 

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to