A free module of dimension n for an algebra A consists of all n-tuples of elements of A, the action of A is defined as component-wise multiplication from the right. Submodules and quotient modules are defined in the obvious way.
In GAP, elements of free modules are stored as lists of algebra elements. Thus there is no difference to row modules with respect to addition of elements, and operation of the algebra. However, the applicable functions are different.
At the moment, only free modules for finitely presented algebras are supported in GAP, and only very few functions are available for free modules at the moment. Especially the set theoretic and vector space functions do not work for free modules and their submodules and quotients.
Free modules were only introduced as operation domains of finitely presented algebras.
A ^ n
returns a free module of dimension n for the algebra A.
gap> a:= FreeAlgebra( Rationals, 2 );; a.name:= "a";; gap> a^2; Module( a, [ [ a.one, a.zero ], [ a.zero, a.one ] ] )
GAP 3.4.4