123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ...
- % Test file for XIDEAL package (Groebner bases for exterior algebra)
- % Just make sure excalc has been loaded
- load_package excalc$
- *** ^ redefined
- % Declare exterior form variables
- pform x=0,y=0,z=0,t=0,u=1,v=1,w=1,f(i)=1,h=0,hx=0,ht=0;
- % Set switches for reduced Groebner bases in graded ideals
- on xfullreduce;
- % Reductions with xmodulo (all should be zero)
- d x^d y xmodulo {d x - d y};
- 0
- d x^d y^d z xmodulo {d x^d y - d z^d t};
- 0
- d x^d z^d t xmodulo {d x^d y - d z^d t};
- 0
- v^d x^d y xmodulo {d t^u - v^w,
- w^u - d x^d y};
- 0
- d t^u^d z xmodulo {d t^u - v^w,
- u^d z - d x^d y,
- d t^d y - d x^v};
- 0
- f(3)^f(4)^f(5)^f(6)
- xmodulo {f(1)^f(2) + f(3)^f(4) + f(5)^f(6)};
- 0
- f(1)^f(4)^f(5)^f(6)
- xmodulo {f(1)^f(2) + f(2)^f(3) + f(3)^f(4) + f(4)^f(5) + f(5)^f(6)};
- 0
- % Exterior system for heat equation on 1st jet bundle
- S := {d h - ht*d t - hx*d x,
- d ht^d t + d hx^d x,
- d hx^d t - ht*d x^d t};
- s := {d h - d t*ht - d x*hx,
- d ht^d t + d hx^d x,
- d hx^d t + d t^d x*ht}
- % Check that it's closed.
- dS := (for each a in S collect d a) xmodulo S;
- ds := {}
- % Some Groebner bases (0-forms generate the trivial ideal)
- gb := xideal {x, d y};
- gb := {1}
- gb := xideal {f(1)^f(2) + f(3)^f(4)};
- 1 2 3 4
- gb := {f ^f + f ^f ,
- 1 3 4
- f ^f ^f ,
- 2 3 4
- f ^f ^f }
- gb := xideal {f(1)^f(2), f(1)^f(3)+f(2)^f(4)+f(5)^f(6)};
- 1 2
- gb := {f ^f ,
- 2 5 6
- f ^f ^f ,
- 1 5 6
- f ^f ^f ,
- 1 3 2 4 5 6
- f ^f + f ^f + f ^f ,
- 2 3 4 3 5 6
- - f ^f ^f + f ^f ^f ,
- 3 4 5 6
- - f ^f ^f ^f }
- % The same again, but not reduced
- off xfullreduce;
- gb := xideal {x, d y};
- gb := {1}
- gb := xideal {f(1)^f(2) + f(3)^f(4)};
- 1 2 3 4
- gb := {f ^f + f ^f ,
- 1 3 4
- f ^f ^f ,
- 2 3 4
- f ^f ^f }
- gb := xideal {f(1)^f(2), f(1)^f(3)+f(2)^f(4)+f(5)^f(6)};
- 1 3 2 4 5 6
- gb := {f ^f + f ^f + f ^f ,
- 1 2 4 1 5 6
- f ^f ^f + f ^f ^f ,
- 2 3 4 3 5 6
- - f ^f ^f + f ^f ^f ,
- 1 2 5 6
- - f ^f ^f ^f ,
- 1 4 5 6
- - f ^f ^f ^f ,
- 2 3 5 6
- f ^f ^f ^f ,
- 3 4 5 6
- - f ^f ^f ^f ,
- 2 4 5 6
- 2*f ^f ^f ^f ,
- 1 2
- f ^f ,
- 2 5 6
- f ^f ^f ,
- 1 5 6
- f ^f ^f }
- % Reductions with a ready Groebner basis (not all zero)
- on xfullreduce;
- gb := xideal {f(1)^f(2) + f(3)^f(4) + f(5)^f(6)};
- 1 2 3 4 5 6
- gb := {f ^f + f ^f + f ^f ,
- 1 3 4 1 5 6
- f ^f ^f + f ^f ^f ,
- 2 3 4 2 5 6
- f ^f ^f + f ^f ^f ,
- 1 3 5 6
- - f ^f ^f ^f ,
- 1 4 5 6
- - f ^f ^f ^f ,
- 2 3 5 6
- - f ^f ^f ^f ,
- 2 4 5 6
- - f ^f ^f ^f ,
- 3 4 5 6
- 2*f ^f ^f ^f }
- f(1)^f(3)^f(4) xmodulop gb;
- 1 5 6
- - f ^f ^f
- f(3)^f(4)^f(5)^f(6) xmodulop gb;
- 0
- % Non-graded ideals
- on xfullreduce;
- % Left and right ideals are no longer the same
-
- d t^(d z+d x^d y) xmodulo {d z+d x^d y};
- 0
- (d z+d x^d y)^d t xmodulo {d z+d x^d y};
- - 2*d t^d z
- % Higher order forms can now reduce lower order ones
- d x xmodulo {d y^d z + d x,d x^d y + d z};
- 0
- % Anything with a 0-form term generates the trivial ideal!!
- gb := xideal {x + d y};
- gb := {1}
- gb := xideal {1 + f(1) + f(1)^f(2) + f(2)^f(3)^f(4) + f(3)^f(4)^f(5)^f(6)};
- gb := {1}
- end;
- (TIME: xideal 1210 1250)
|