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

Edit detail for SandBoxLeftFreeModule revision 5 of 5

1 2 3 4 5
Editor: test1
Time: 2013/04/26 19:24:24 GMT+0
Note:

changed:
-      linearCombination: List Pair(S,R) -> %
- == IndexedDirectProductAbelianGroup(R,S) add
-   Rep == List Pair(S,R)
      linearCombination: List Product(S,R) -> %
 == IndexedDirectProductObject(R,S) add
   Rep := List Product(S,R)
   rep x ==> (x@%) pretend Rep
   per x ==> (x@Rep) pretend %


changed:
-       per [pair(first u, r * second u) for u in rep x]
       per [construct(first u, r * second u) for u in rep x]

changed:
-       per [pair(first u,c) for u in rep x | (c := r *second u) ~= 0$R]
       per [construct(first u,c) for u in rep x | (c := r *second u) ~= 0$R]

added:
oV := OrderedVariableList ['x,'y]
Pro := Product(oV, Integer)

changed:
-2 * linearCombination([pair(x,2), pair(y,3)])$LeftFreeModule(Integer,OrderedVariableList ['x,'y])
2 * linearCombination([construct(x,2)$Pro, construct(y,3)$Pro])$LeftFreeModule(Integer,OrderedVariableList ['x,'y])

changed:
-(2 * linearCombination([pair(x,2), pair(y,3)])$LeftFreeModule(Integer,OrderedVariableList ['x,'y]))$LeftFreeModule(Integer,OrderedVariableList ['x,'y])
(2 * linearCombination([[x,2]$Pro, [y,3]$Pro])$LeftFreeModule(Integer,OrderedVariableList ['x,'y]))$LeftFreeModule(Integer,OrderedVariableList ['x,'y])

spad
)abbrev domain LFREEMOD LeftFreeModule
LeftFreeModule(R: Ring, S: OrderedSet):
    Join(LeftModule R, IndexedDirectProductCategory(R,S)) with
      linearCombination: List Product(S,R) -> %
 == IndexedDirectProductObject(R,S) add
   Rep := List Product(S,R)
   rep x ==> (x@%) pretend Rep
   per x ==> (x@Rep) pretend %
linearCombination x == per [u for u in x | second u ~= 0$R ] if R has EntireRing then (r: R) * (x: %) == r = 0$R => 0$% r = 1$R => x messagePrint("from LeftFreeModule")$OutputForm per [construct(first u, r * second u) for u in rep x] else (r: R) * (x: %) == r = 0$R => 0$% r = 1$R => x messagePrint("from LeftFreeModule")$OutputForm per [construct(first u,c) for u in rep x | (c := r *second u) ~= 0$R] coerce(x: %): OutputForm == x' := rep x null x' => 0$R :: OutputForm res : List OutputForm := nil for u in reverse x' repeat second u = 1$R => res := cons(first(u)::OutputForm, res) res := cons(second(u)::OutputForm * first(u)::OutputForm, res) reduce("+",res)
spad
   Compiling FriCAS source code from file 
      /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/5896234725235034910-25px001.spad
      using old system compiler.
   LFREEMOD abbreviates domain LeftFreeModule 
------------------------------------------------------------------------
   initializing NRLIB LFREEMOD for LeftFreeModule 
   compiling into NRLIB LFREEMOD 
   processing macro definition rep x ==> pretend(@(x,$),Rep) 
   processing macro definition per x ==> pretend(@(x,Rep),$) 
   compiling exported linearCombination : List Product(S,R) -> $
Time: 0.03 SEC.
****** Domain: R already in scope augmenting R: (EntireRing) compiling exported * : (R,$) -> $ Time: 0 SEC.
compiling exported * : (R,$) -> $ Time: 0.01 SEC.
compiling exported coerce : $ -> OutputForm ****** comp fails at level 4 with expression: ****** error in function coerce
(SEQ (|:=| |x'| (|pretend| (@ |x| $) |Rep|)) (|exit| 1 (IF | << | (|null| |x'|) | >> | (|::| (|Sel| R 0) (|OutputForm|)) (SEQ (|:=| (|:| |res| (|List| (|OutputForm|))) |nil|) (REPEAT (IN |u| (|reverse| |x'|)) (SEQ (|:=| (|:| #1=#:G674 (|Boolean|)) (= (|second| |u|) (|Sel| R 1))) (|exit| 1 (IF #1# (|:=| |res| (|cons| (|::| (|first| |u|) (|OutputForm|)) |res|)) (|:=| |res| (|cons| (* (|::| (|second| |u|) (|OutputForm|)) (|::| (|first| |u|) (|OutputForm|))) |res|)))))) (|exit| 1 (|reduce| "+" |res|)))))) ****** level 4 ****** $x:= (null x') $m:= (Boolean) $f:= ((((|x'| #) (|x| # #) (|per| #) (|rep| #) ...)))
>> Apparent user error: NoValueMode is an unknown mode

There is no from LeftFreeModule? printed out.

fricas
oV := OrderedVariableList ['x,'y]

\label{eq1}\hbox{\axiomType{OrderedVariableList}\ } ([ x , y ])(1)
Type: Type
fricas
Pro := Product(oV, Integer)

\label{eq2}\hbox{\axiomType{Product}\ } (\hbox{\axiomType{OrderedVariableList}\ } ([ x , y ]) , \hbox{\axiomType{Integer}\ })(2)
Type: Type
fricas
x := 'x::OrderedVariableList ['x,'y]

\label{eq3}x(3)
Type: OrderedVariableList([x,y])
fricas
x := 'y::OrderedVariableList ['x,'y]

\label{eq4}y(4)
Type: OrderedVariableList([x,y])
fricas
2 * linearCombination([construct(x,2)$Pro, construct(y,3)$Pro])$LeftFreeModule(Integer,OrderedVariableList ['x,'y])
LeftFreeModule is an unknown constructor and so is unavailable. Did you mean to use -> but type something different instead?