version 1.26, 2003/11/03 10:24:33 |
version 1.35, 2004/02/28 13:39:42 |
|
|
%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.25 2003/07/21 13:36:40 takayama Exp $ |
%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.34 2004/02/28 12:27:16 takayama Exp $ |
|
|
/ox.sm1.myname (ox-new.sm1) def |
/ox.sm1.myname (ox-new.sm1) def |
|
|
|
|
[(getenv) (OXSTART100)] extension tag 0 eq not { |
[(getenv) (OXSTART100)] extension tag 0 eq not { |
/oxstart100 [(getenv) (OXSTART100)] extension def |
/oxstart100 [(getenv) (OXSTART100)] extension def |
} { } ifelse |
} { } ifelse |
oxstart100 message |
oxstart100 message-quiet |
|
|
/ox.sm1.loaded 1 def |
/ox.sm1.loaded 1 def |
/oxasir.sm1.loaded 1 def |
/oxasir.sm1.loaded 1 def |
Line 99 ox.version [(Version)] system_variable gt |
|
Line 99 ox.version [(Version)] system_variable gt |
|
( ) |
( ) |
(client oxgetsp --- get stack pointer, client oxgeterrors --- get all errors) |
(client oxgetsp --- get stack pointer, client oxgeterrors --- get all errors) |
(cleint oxisData, client oxreset, client oxshutdown) |
(cleint oxisData, client oxreset, client oxshutdown) |
(oxhelp for this message, [(oxWatch) client] extension to start a log.) |
(oxhelp for this message) |
|
([(oxWatch) client] extension to start a log.) |
|
$ ex 1. (ox.sm1) run sm1connectr [(oxWatch) oxsm1.ccc] extension $ |
|
$ oxsm1.ccc ( [(cmoLispLike) 0] extension ) oxsubmit $ |
|
$ oxsm1.ccc ( [(cmoLispLike) 1] extension ) oxsubmit $ |
([(oxSerial)] extension serial-number-of-out-going-ox-packet.) |
([(oxSerial)] extension serial-number-of-out-going-ox-packet.) |
(oxpopcmo1, oxpopcmo2, sm1connectr ox_launch, ox_launch_nox) |
(oxpopcmo1, oxpopcmo2, sm1connectr ox_launch, ox_launch_nox) |
(oxNoX : set an environment to invoke oxlog without xterm and to call oxlog with >& /dev/null) |
(oxNoX : set an environment to invoke oxlog without xterm and to call oxlog with >& /dev/null) |
$ ex 1. (ox.sm1) run oxNoX sm1connectr $ |
$ ex 1. (ox.sm1) run oxNoX sm1connectr $ |
$ ex 2. (ox.sm1) run oxNoX (x^2-1). fctr pmat ; $ |
$ ex 2. (ox.sm1) run oxNoX (x^2-1). fctr pmat ; $ |
|
$ $ |
|
$cf. extension-oxLog $ |
] |
] |
] putUsages |
] putUsages |
|
|
|
[(extension-oxLog) |
|
[ |
|
$Take the log of communication in files.$ |
|
$[(oxLog) client logfile_for_incomming_data logfile_for_outgoing_data] extension $ |
|
$Example:$ |
|
$ [(parse) (ox.sm1) pushfile] extension$ |
|
$ sm1connectr$ |
|
$ (i.t) (w) file /ii set$ |
|
$ (o.t) (w) file /oo set$ |
|
$ [(oxLog) oxsm1.ccc ii oo] extension $ |
|
$ [(oxWatch) oxsm1.ccc ] extension$ |
|
$ oxsm1.ccc 1 oxpushcmo ;$ |
|
$ oxsm1.ccc oxpopcmo ;$ |
|
$ [(oxLogStop) oxsm1.ccc] extension$ |
|
]] putUsages |
|
|
/oxconnect { |
/oxconnect { |
/arg1 set |
/arg1 set |
[(oxCreateClient) arg1 aload pop] extension |
[(oxCreateClient) arg1 aload pop] extension |
Line 465 ox.verbose { oxhelp } { } ifelse |
|
Line 487 ox.verbose { oxhelp } { } ifelse |
|
[(oxCreateControl_RFC_101) peer 0 pass] extension /oxsm1.ccc set |
[(oxCreateControl_RFC_101) peer 0 pass] extension /oxsm1.ccc set |
%% 0 means connect from only localhost. |
%% 0 means connect from only localhost. |
/ox.ccc oxsm1.ccc def |
/ox.ccc oxsm1.ccc def |
(The server is binded to the variable oxsm1.ccc) message |
(The server is binded to the variable oxsm1.ccc) message-quiet |
oxsm1.ccc |
oxsm1.ccc |
] pop |
] pop |
popVariables |
popVariables |
Line 483 ox.verbose { oxhelp } { } ifelse |
|
Line 505 ox.verbose { oxhelp } { } ifelse |
|
oxsm1.ccc oxpopcmo /engineID set |
oxsm1.ccc oxpopcmo /engineID set |
[(oxCreateEngine_RFC_101) peer 0 (Empty) engineID] extension |
[(oxCreateEngine_RFC_101) peer 0 (Empty) engineID] extension |
/ox.ddd set |
/ox.ddd set |
(The engine is binded to the variables ox.ddd) message |
(The engine is binded to the variables ox.ddd) message-quiet |
] pop |
] pop |
popVariables |
popVariables |
arg1 |
arg1 |
Line 510 ox.verbose { oxhelp } { } ifelse |
|
Line 532 ox.verbose { oxhelp } { } ifelse |
|
[ |
[ |
/L [(oxGetClientList)] extension def |
/L [(oxGetClientList)] extension def |
(In ox103_reset...) message |
(In ox103_reset...) message |
|
(killall in oxshell...) message [(killall)] oxshell pop |
/n L length def |
/n L length def |
0 1 n 1 sub { |
0 1 n 1 sub { |
/i set |
/i set |
Line 616 ox.verbose { oxhelp } { } ifelse |
|
Line 639 ox.verbose { oxhelp } { } ifelse |
|
/peer [(oxGetPort) (localhost)] extension def |
/peer [(oxGetPort) (localhost)] extension def |
/data peer 1 get toString def |
/data peer 1 get toString def |
/control peer 3 get toString def |
/control peer 3 get toString def |
peer message |
peer message-quiet |
[ |
[ |
oxstart100 |
oxstart100 |
|
@@@.quiet { ( -quiet ) } { } ifelse |
Xm_noX { ( -nox ) } { } ifelse |
Xm_noX { ( -nox ) } { } ifelse |
( -oxserver bin/ox_sm1 -e ) ( -reverse ) |
( -oxserver bin/ox_sm1 -e ) ( -reverse ) |
( -data ) data ( -control ) control ( -pass ) pass |
( -data ) data ( -control ) control ( -pass ) pass |
( )] cat execve |
( )] cat execve |
[(oxCreateClient2) peer 0 pass] extension /oxsm1.ccc set |
[(oxCreateClient2) peer 0 pass] extension /oxsm1.ccc set |
%% 0 means connect from only localhost. |
%% 0 means connect from only localhost. |
(The server is binded to the variable oxsm1.ccc) message |
(The server is binded to the variable oxsm1.ccc) message-quiet |
/ox.ccc oxsm1.ccc def |
/ox.ccc oxsm1.ccc def |
oxsm1.ccc.init |
oxsm1.ccc.init |
oxsm1.ccc |
oxsm1.ccc |
Line 656 ox.verbose { oxhelp } { } ifelse |
|
Line 680 ox.verbose { oxhelp } { } ifelse |
|
/peer [(oxGetPort) myhostname-ssh] extension def |
/peer [(oxGetPort) myhostname-ssh] extension def |
/data peer 1 get toString def |
/data peer 1 get toString def |
/control peer 3 get toString def |
/control peer 3 get toString def |
peer message |
peer message-quiet |
[(ssh -f ) machine ( -l ) name ( ") |
[(ssh -f ) machine ( -l ) name ( ") |
oxpath.oxlog.xterm-ssh oxpath.ox-ssh ( -reverse -ox ) oxpath.oxsm1-ssh |
oxpath.oxlog.xterm-ssh oxpath.ox-ssh ( -reverse -ox ) oxpath.oxsm1-ssh |
( -host ) myhostname-ssh |
( -host ) myhostname-ssh |
Line 710 ox.verbose { oxhelp } { } ifelse |
|
Line 734 ox.verbose { oxhelp } { } ifelse |
|
/peer [(oxGetPort) (localhost)] extension def |
/peer [(oxGetPort) (localhost)] extension def |
/data peer 1 get toString def |
/data peer 1 get toString def |
/control peer 3 get toString def |
/control peer 3 get toString def |
peer message |
peer message-quiet |
[ |
[ |
oxstart100 |
oxstart100 |
Xm_noX { ( -nox ) } { } ifelse |
Xm_noX { ( -nox ) } { } ifelse |
Line 719 ox.verbose { oxhelp } { } ifelse |
|
Line 743 ox.verbose { oxhelp } { } ifelse |
|
( )] cat execve |
( )] cat execve |
[(oxCreateClient2) peer 0 pass] extension /oxntl.ccc set |
[(oxCreateClient2) peer 0 pass] extension /oxntl.ccc set |
%% 0 means connect from only localhost. |
%% 0 means connect from only localhost. |
(The server is binded to the variable oxntl.ccc) message |
(The server is binded to the variable oxntl.ccc) message-quiet |
% oxntl.ccc.init |
% oxntl.ccc.init |
oxntl.ccc |
oxntl.ccc |
] pop |
] pop |
Line 1384 oxasir.verbose { |
|
Line 1408 oxasir.verbose { |
|
f { toString . } map /f set |
f { toString . } map /f set |
vvv { . } map /vvv set |
vvv { . } map /vvv set |
ddd { . } map /ddd set |
ddd { . } map /ddd set |
/wt wt generic_bfct.aux1 def |
/wt [vvv ddd wt] generic_bfct.aux1 def |
} ifelse |
} ifelse |
[f vvv ddd wt] message |
[f vvv ddd wt] message |
|
|
Line 1405 oxasir.verbose { |
|
Line 1429 oxasir.verbose { |
|
|
|
/generic_bfct.aux1 { |
/generic_bfct.aux1 { |
/arg1 set |
/arg1 set |
[/in-generic_bfct.aux1 /wt /wtx /wtd /n] pushVariables |
[/in-generic_bfct.aux1 /ii /jj /wt /wtx /wtd /vv /dd /n] pushVariables |
[ |
[ |
arg1 /wt set |
arg1 2 get /wt set |
/n [(N)] system_variable def |
arg1 0 get /vv set |
wt { dup tag PolyP eq { toString } { } ifelse } map /wt set |
arg1 1 get /dd set |
wt weightv /wt set |
/wtx [ 0 1 vv length 1 sub { pop (0).. } for ] def |
/wtx wt n carN rest reverse rest reverse def |
/n wt length def |
/wtd wt reverse n carN reverse |
0 2 n 1 sub { |
rest reverse rest reverse def |
/ii set |
wtx wtd join /wt set |
0 1 vv length 1 sub { |
|
/jj set |
|
wt ii get toString dd jj get toString eq { |
|
wtx jj << wt ii 1 add get >> put |
|
} { } ifelse |
|
} for |
|
} for |
|
|
|
wtx /wt set |
wt { dup tag IntegerP eq { (universalNumber) dc } { } ifelse } map /wt set |
wt { dup tag IntegerP eq { (universalNumber) dc } { } ifelse } map /wt set |
wt /arg1 set |
wt /arg1 set |
] pop |
] pop |
popVariables |
popVariables |
arg1 |
arg1 |
} def |
} def |
|
/verbose.wgr 1 def |
|
%[ ff vv ww ] asir.wgb [gb init] |
|
/asir.wgr { |
|
/arg1 set |
|
[/in-asir.gb /ff /vv /ww /vvx /vvd /avv /comm /wvec /i] pushVariables |
|
[ |
|
/ff arg1 0 get def |
|
/vv arg1 1 get def |
|
/ww arg1 2 get def |
|
|
|
oxasir.ccc [ ] eq { |
|
(Starting ox_asir server.) message |
|
ox_asirConnectMethod |
|
} { } ifelse |
|
|
|
vv isArray { |
|
vv from_records /vv set |
|
} { } ifelse |
|
oxasir.ccc [(dp_gr_print) (2)..] asir |
|
[vv to_records pop] /vvx set |
|
vvx { toString (D) 2 1 roll 2 cat_n } map /vvd set |
|
|
|
[ |
|
0 1 vvx length 1 sub { |
|
/i set |
|
vvx i get |
|
0 ww i get sub |
|
vvd i get |
|
ww i get |
|
} for |
|
] /wvec set |
|
|
|
[vv ring_of_differential_operators |
|
[wvec] weight_vector |
|
0] define_ring |
|
|
|
ff { . dehomogenize homogenize } map /ff set |
|
vvx { . } map /vvx set %%ex [x,y] |
|
vvd { . } map /vvd set %%ex [Dx,Dy] |
|
vvx vvd join [(h).] join /avv set |
|
|
|
verbose.wgr { |
|
(Asir (-w,w) gb in the Weyl algebra) message |
|
(wvec=) messagen wvec message |
|
(ff=) messagen ff message |
|
(avv=) messagen avv message |
|
} { } ifelse |
|
|
|
[$dp_weyl_set_weight(newvect($ ww length toString $,$ |
|
ww toString $));$ ] cat /comm set |
|
|
|
verbose.wgr { |
|
comm message |
|
} { } ifelse |
|
|
|
oxasir.ccc comm oxsubmit ; |
|
|
|
oxasir.ccc [(dp_weyl_gr_main) ff avv (0).. (1).. (11)..] asir |
|
/arg1 set |
|
] pop |
|
popVariables |
|
arg1 |
|
} def |
|
[(asir.wgr) |
|
[([ ff vv ww ] asir.wgr g) |
|
$It computes the (-ww,ww) Grobner basis of ff in the homogenized Weyl algebra.$ |
|
(Homogenization is automatically done.) |
|
$Example 1: $ |
|
$ [ [(x*Dx+y*Dy-1) (Dx*Dy)] $ |
|
$ (x,y) $ |
|
$ [1 2 ] ] asir.wgr $ |
|
]] putUsages |
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%% functions to start ox_asir |
%%% functions to start ox_asir |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
Line 1435 oxasir.verbose { |
|
Line 1540 oxasir.verbose { |
|
/peer [(oxGetPort) (localhost)] extension def |
/peer [(oxGetPort) (localhost)] extension def |
/data peer 1 get toString def |
/data peer 1 get toString def |
/control peer 3 get toString def |
/control peer 3 get toString def |
peer message |
peer message-quiet |
[ |
[ |
oxstart100 |
oxstart100 |
|
@@@.quiet { ( -quiet ) } { } ifelse |
Xm_noX { ( -nox ) } { } ifelse |
Xm_noX { ( -nox ) } { } ifelse |
( -oxserver bin/ox_asir -e ) ( -reverse ) |
( -oxserver bin/ox_asir -e ) ( -reverse ) |
( -data ) data ( -control ) control ( -pass ) pass |
( -data ) data ( -control ) control ( -pass ) pass |
Line 1481 oxasir.verbose { |
|
Line 1587 oxasir.verbose { |
|
/peer [(oxGetPort) (localhost)] extension def |
/peer [(oxGetPort) (localhost)] extension def |
/data peer 1 get toString def |
/data peer 1 get toString def |
/control peer 3 get toString def |
/control peer 3 get toString def |
peer message |
peer message-quiet |
[ |
[ |
oxstart100 |
oxstart100 |
Xm_noX { ( -nox ) } { } ifelse |
Xm_noX { ( -nox ) } { } ifelse |
Line 1490 oxasir.verbose { |
|
Line 1596 oxasir.verbose { |
|
( )] cat execve |
( )] cat execve |
[(oxCreateClient2) peer 0 pass] extension /oxk0.ccc set |
[(oxCreateClient2) peer 0 pass] extension /oxk0.ccc set |
%% 0 means connect from only localhost. |
%% 0 means connect from only localhost. |
(The server is binded to the variable oxk0.ccc) message |
(The server is binded to the variable oxk0.ccc) message-quiet |
ox.k0.init |
ox.k0.init |
/arg1 oxk0.ccc def |
/arg1 oxk0.ccc def |
] pop |
] pop |
popVariables |
popVariables |
arg1 |
arg1 |
} def |
} def |
|
/@@@polymake.k0.ccc [ ] def |
|
|