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.