login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for FreeModule revision 4 of 8

1 2 3 4 5 6 7 8
Editor: Bill Page
Time: 2011/03/10 17:44:24 GMT-8
Note: See also

added:
See: [PolySpad]

A bi-module is a free module over a ring with generators indexed by an ordered set. Each element can be expressed as a finite linear combination of generators. Only non-zero terms are stored.

This domain implements linear combinations of elements from the domain S with coefficients in the domain R where S is an ordered set and R is a ring (which may be non-commutative).

Ref: http://en.wikipedia.org/wiki/Free_module

fricas
(1) -> )sh FreeModule
FreeModule(R: Join(SemiRng,AbelianMonoid),S: SetCategory) is a domain constructor Abbreviation for FreeModule is FM This constructor is not exposed in this frame. ------------------------------- Operations --------------------------------
?*? : (S, R) -> % ?*? : (R, S) -> % ?*? : (%, R) -> % ?*? : (R, %) -> % ?*? : (PositiveInteger, %) -> % ?+? : (%, %) -> % -? : % -> % if R has ABELGRP ?=? : (%, %) -> Boolean coefficient : (%, S) -> R coefficients : % -> List(R) coerce : % -> OutputForm latex : % -> String map : ((R -> R), %) -> % monomial : (R, S) -> % monomial? : % -> Boolean monomials : % -> List(%) support : % -> List(S) ?~=? : (%, %) -> Boolean ?*? : (Integer, %) -> % if R has ABELGRP ?*? : (NonNegativeInteger, %) -> % if R has ABELMON or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET ?-? : (%, %) -> % if R has ABELGRP ?<? : (%, %) -> Boolean if R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET ?<=? : (%, %) -> Boolean if R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET ?>? : (%, %) -> Boolean if R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET ?>=? : (%, %) -> Boolean if R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET 0 : () -> % if R has ABELMON or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET coerce : S -> % if R has SRING construct : List(Record(k: S,c: R)) -> % constructOrdered : List(Record(k: S,c: R)) -> % if S has COMPAR hash : % -> SingleInteger if R has HASHABL and S has HASHABL hashUpdate! : (HashState, %) -> HashState if R has HASHABL and S has HASHABL inf : (%, %) -> % if R has OAMONS and S has ORDSET leadingCoefficient : % -> R if S has COMPAR leadingMonomial : % -> % if S has COMPAR leadingSupport : % -> S if S has COMPAR leadingTerm : % -> Record(k: S,c: R) if S has COMPAR linearExtend : ((S -> R), %) -> R if R has COMRING listOfTerms : % -> List(Record(k: S,c: R)) max : (%, %) -> % if R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET min : (%, %) -> % if R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET numberOfMonomials : % -> NonNegativeInteger opposite? : (%, %) -> Boolean if R has ABELMON or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET reductum : % -> % if S has COMPAR retract : % -> S if R has SRING retractIfCan : % -> Union(S,"failed") if R has SRING sample : () -> % if R has ABELMON or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET smaller? : (%, %) -> Boolean if R has COMPAR and S has COMPAR or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET subtractIfCan : (%, %) -> Union(%,"failed") if R has ABELGRP or R has CABMON or R has OAMONS and S has ORDSET sup : (%, %) -> % if R has OAMONS and S has ORDSET zero? : % -> Boolean if R has ABELMON or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET

See: [PolySpad]?

VectorSpace? --Bill Page, Thu, 10 Mar 2011 16:05:26 -0800 reply
A [FreeModule]? over a [Field]? is a VectorSpace? unfortunately this is not currently understood by Axiom:
fricas
FreeModule(Fraction Integer,OrderedVariableList [e1,e1]) has VectorSpace(Fraction Integer)
There are no library operations named VectorSpace Use HyperDoc Browse or issue )what op VectorSpace to learn if there is any operation containing " VectorSpace " in its name.
Cannot find a definition or applicable library operation named VectorSpace with argument type(s) Type
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

Ref: http://en.wikipedia.org/wiki/Vector_space#Modules