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

Edit detail for FreeModuleCategory revision 1 of 2

1 2
Editor: Bill Page
Time: 2009/10/12 00:25:04 GMT-7
Note: documentation

changed:
-
A domain of this category implements formal linear combinations
of elements from a domain **S** with coefficients
in a domain **R**. The coefficient ring
may be non-commutative.

See the XDistributedPolynomial constructor
for examples of domains built with the FreeModuleCategory
category constructor.

Author: Michel Petitot (petitot@lifl.fr)

Modified by: Franz Lehner, June 2009

\begin{axiom}
)sh FreeModuleCategory
\end{axiom}


A domain of this category implements formal linear combinations of elements from a domain S with coefficients in a domain R. The coefficient ring may be non-commutative.

See the XDistributedPolynomial? constructor for examples of domains built with the FreeModuleCategory? category constructor.

Author: Michel Petitot (petitot@lifl.fr)

Modified by: Franz Lehner, June 2009

fricas
)sh FreeModuleCategory
FreeModuleCategory(R: Join(SemiRng,AbelianMonoid),S: Comparable) is a category constructor Abbreviation for FreeModuleCategory is FMCAT This constructor is exposed in this frame. ------------------------------- Operations -------------------------------- ?*? : (S,R) -> % ?*? : (R,S) -> % ?*? : (%,R) -> % ?*? : (R,%) -> % ?*? : (PositiveInteger,%) -> % ?+? : (%,%) -> % ?=? : (%,%) -> Boolean coefficient : (%,S) -> R coefficients : % -> List(R) coerce : % -> OutputForm hash : % -> SingleInteger latex : % -> String leadingCoefficient : % -> R leadingMonomial : % -> S leadingSupport : % -> S map : ((R -> R),%) -> % monom : (S,R) -> % monomial : (R,S) -> % monomial? : % -> Boolean monomials : % -> List(%) reductum : % -> % support : % -> List(S) ?~=? : (%,%) -> Boolean ?*? : (NonNegativeInteger,%) -> % if and(OR(has(R,AbelianMonoid),has(R,AbelianMonoid)),has(R,CommutativeRing)) or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET or R has ABELMON ?*? : (Integer,%) -> % if and(OR(has(R,AbelianGroup),has(R,AbelianGroup)),has(R,CommutativeRing)) or R has ABELGRP or R has ABELGRP -? : % -> % if and(OR(has(R,AbelianGroup),has(R,AbelianGroup)),has(R,CommutativeRing)) or R has ABELGRP or R has ABELGRP ?-? : (%,%) -> % if and(OR(has(R,AbelianGroup),has(R,AbelianGroup)),has(R,CommutativeRing)) or R has ABELGRP or 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 and(OR(has(R,AbelianMonoid),has(R,AbelianMonoid)),has(R,CommutativeRing)) or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET or R has ABELMON coerce : S -> % if R has SRING construct : List(Record(k: S,c: R)) -> % constructOrdered : List(Record(k: S,c: R)) -> % hashUpdate! : (HashState,%) -> HashState leadingTerm : % -> Record(k: S,c: R) 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 retract : % -> S if R has SRING retractIfCan : % -> Union(S,"failed") if R has SRING sample : () -> % if and(OR(has(R,AbelianMonoid),has(R,AbelianMonoid)),has(R,CommutativeRing)) or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET or R has ABELMON smaller? : (%,%) -> Boolean if R has COMPAR or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET subtractIfCan : (%,%) -> Union(%,"failed") if and(OR(has(R,AbelianGroup),has(R,AbelianGroup)),has(R,CommutativeRing)) or R has OAMONS and S has ORDSET or R has CABMON or R has ABELGRP sup : (%,%) -> % if R has OAMONS and S has ORDSET zero? : % -> Boolean if and(OR(has(R,AbelianMonoid),has(R,AbelianMonoid)),has(R,CommutativeRing)) or R has OAMON and S has ORDSET or R has OAMONS and S has ORDSET or R has ABELMON