On 8/12/19 11:45 PM, Travis Scrimshaw wrote:
>
> > I guess FiniteDimensionalAlgebrasWithBasis has both the old
> Algebras()
> > and the new MagmaticAlgebras() as supercategories? That would explain
> > why I'm seeing associativity and rings everywhere.
> >
>
> ...and building up a pile of non-associative categories one-at-a-time
> doesn't work either, of course =)
>
> MagmaticAlgebras has been around for quite some time. At some point,
> there is a plan to make Algebras to not assume associativity in order to
> be more explicit. Also, Algebras is not "old" and not going away.
I was basing that on the comment in categories/algebras.py:
.. WARNING::
:class:`Algebras` will be eventually be replaced by
:class:`.magmatic_algebras.MagmaticAlgebras`
for consistency with e.g. :wikipedia:`Algebras` which assumes
neither associativity nor the existence of a unit (see
:trac:`15043`).
Although if Algebras becomes not-necessarily-associative, then
"Algebras" is a nicer name for the thing, much like FreeModule is nicer
than CombinatorialFreeModule.
> However, as you said, FiniteDimensionalAlgebrasWithBasis has Algebras as
> a basis, and so it is associative. For the analogous thing, you want
> MagmaticAlgebras(R).FiniteDimensional().WithBasis() (maybe also
> .Unital() added too). However, this will be a more generic join
> category. If some of the methods currently in the associative version
> still apply, you should create the corresponding category and move those
> methods to this category. Does that clarify things?
My main issue was just figuring out where the categories were coming
from. I didn't realize that FiniteDimensionalAlgebrasWithBasis had BOTH
Algebras and MagmaticAlgebras as super-categories. (Reading the source
in categories/finite_dimensional_algebras_with_basis.py, I still can't
figure out where those two come from). From the warning I quoted above,
I was probably thinking that they were mutually exclusive. Now that I
know they're both super-categories, the other super-categories sense.
I should be able to work out the hierarchy eventually. I'm sure that
many of the methods in the FDAWB class apply more generally to an e.g.
power-associative algebra, but I haven't gotten there yet. Thanks for
your help.