[GAP Forum] Constructing bilinear maps for matrix multiplication

Max Horn max at quendi.de
Thu Nov 17 15:28:52 GMT 2011


Am 17.11.2011 um 13:43 schrieb Stefan Kohl:

[...]

> Regarding `IsAlgebraWithOne': the Is<something> operations check for membership
> in GAP categories.

(sorry for the nitpicking, but: this actually refers to* mathematical* categories; GAP categories are something different). 

> -- So for example, mathematically a group may be 'regarded'
> as the set of its elements (apply the forgetful functor from the category of
> groups to the category of sets).

Exactly. For those who are not so familiar with categories, an important place where this makes a difference is homomorphisms: In the category of algebras with one, a homomorphism will always map one to one. In the category of Algebra, one could be mapped to anything, e.g. zero.


> Anyway, `IsSet' returns 'false' when applied
> to a group. Rather, to transform a domain to a domain with the same elements
> in another category, there are operations As<something>. So for example you
> can transform a group to a set by applying `AsSet', and you can transform
> a suitable domain to an algebra with one by applying `AsAlgebraWithOne'.
> However, in your particular case, there is presently no suitable method for
> `AsAlgebraWithOne' available. Of course you may add one, if you like.

Actually, there is one, and it takes two parameters, like this:

gap> S2 := AsAlgebraWithOne( Rationals, S );
<algebra-with-one of dimension 81 over Rationals>


Cheers,
Max


More information about the Forum mailing list