version 1.3, 2001/12/28 01:20:26 |
version 1.7, 2002/08/10 13:30:49 |
|
|
% $OpenXM: OpenXM/src/kan96xx/Doc/oxasir.sm1,v 1.2 1999/11/11 01:35:07 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/Doc/oxasir.sm1,v 1.6 2002/03/16 00:53:55 takayama Exp $ |
%% kxx/oxasir.sm1 1998, 2/12 (this version is at Old/oxasir.sm1.19980212 |
%% kxx/oxasir.sm1 1998, 2/12 (this version is at Old/oxasir.sm1.19980212 |
%% 3/1, 1995, 11/5, 11/21 |
%% 3/1, 1995, 11/5, 11/21 |
%% This file is error clean. |
%% This file is error clean. |
%%%%%%% How to install. |
%%%%%%% How to install. |
%%% Set ASIR_LIBDIR if necessary. Ex. /u/nobuki/lib/asir |
%%% Set ASIR_LIBDIR if necessary. Ex. /u/nobuki/lib/asir |
%%% write ~/.asirrc : load("gr")$ load("primdec")$ end$ |
%%% write ~/.asirrc : load("gr")$ load("primdec")$ load("bfct")$ end$ |
|
%%% or it is written in OpenXM/rc/asirrc in OpenXM env, it's fine. |
%%% oxasir.asir must be in |
%%% oxasir.asir must be in |
%%% LOAD_SM1_PATH or oxasirpath.asirlib |
%%% LOAD_SM1_PATH or oxasirpath.asirlib |
%%% Edit below |
%%% Edit below |
|
|
/asirinit { |
/asirinit { |
%% gr and primdec are loaded by .asirrc |
%% gr and primdec are loaded by .asirrc |
/asirinit.peer set |
/asirinit.peer set |
[asirinit.peer oxasirpath.asirlib] loadAsirFile |
[(ostype)] extension 0 get (windows) eq { |
|
[(getenv) (OSTYPE)] extension tag 0 eq { |
|
[asirinit.peer (oxasir-win.rr)] oxasirParseFile |
|
}{ |
|
[(getenv) (OSTYPE)] extension (cygwin) eq { |
|
[asirinit.peer oxasirpath.asirlib] loadAsirFile |
|
}{ |
|
[asirinit.peer (oxasir-win.rr)] oxasirParseFile |
|
} ifelse |
|
} ifelse |
|
}{ |
|
[asirinit.peer oxasirpath.asirlib] loadAsirFile |
|
} ifelse |
} def |
} def |
/asirconnect { |
/asirconnect { |
[(localhost) 1300 1200] oxconnect /oxasir.ccc set |
[(localhost) 1300 1200] oxconnect /oxasir.ccc set |
Line 577 oxasir.verbose { |
|
Line 590 oxasir.verbose { |
|
$Example 1: [[(2 x -2) (4 x - 8)] (x)] reduceByAsir $ |
$Example 1: [[(2 x -2) (4 x - 8)] (x)] reduceByAsir $ |
(Note that there may be a gcd that is more than 1 among the coefficients.) |
(Note that there may be a gcd that is more than 1 among the coefficients.) |
]] putUsages |
]] putUsages |
|
|
|
%% File should be preprocessed by OpenXM/misc/packages/Windows/oxpp |
|
%% and ./oxapp --removeSharp |
|
[(oxasirParseFile) |
|
[$[peer filename] oxasirParseFile $ |
|
$File should be preprocessed by OpenXM/misc/packages/Windows/oxpp$ |
|
$and ./oxapp --removeSharp $ |
|
]] putUsages |
|
|
|
/oxasirParseFile { |
|
/arg1 set |
|
[/in-oxasirParseFile /fname /sss] pushVariables |
|
[ |
|
/fname arg1 1 get def |
|
/peer arg1 0 get def |
|
fname pushfile /sss set |
|
peer |
|
[$if (1) { ; $ sss (}$)] cat |
|
oxsubmit |
|
] pop |
|
popVariables |
|
} def |
|
|
|
[(bfct) |
|
[(You need to install ox_asir server to use this function. (ox_asir function)) |
|
( f bfct b ) |
|
( poly f; poly b) |
|
([f v] bfct b) |
|
( string f ) |
|
( b is the global b-function of the polynomial f.) |
|
(Example: (x^3-y^2) bfct fctr :: ) |
|
(Algorithm: M.Noro, Mathematical Software, icms 2002, pp.???-???) |
|
( ) |
|
(If you interrupted the computation by typing ctrl-C, type in ) |
|
( oxasir.ccc oxreset ; ) |
|
(to interrupt the ox_asir server.) |
|
( ) |
|
(This function requires plugins cmo, socket and ox_asir server. cf.oxasir) |
|
]] putUsages |
|
|
|
/bfct { |
|
/arg1 set |
|
[/in-bfct /f /comm /vv] pushVariables |
|
[(CurrentRingp)] pushEnv |
|
[ |
|
/f arg1 def |
|
oxasir.ccc [ ] eq { |
|
(Starting ox_asir server.) message |
|
ox_asirConnectMethod |
|
} { } ifelse |
|
|
|
f isPolynomial not { |
|
/vv f 1 get def |
|
vv isArray { /vv vv from_records def } { } ifelse |
|
/f f 0 get def |
|
[vv ring_of_polynomials 0] define_ring |
|
f . /f set |
|
}{ } ifelse |
|
oxasir.ccc [(oxasir_bfct) f] asir /f set |
|
[(s) ring_of_polynomials 0] define_ring |
|
f . /f set |
|
[f f fctr] /arg1 set |
|
] pop |
|
popEnv |
|
popVariables |
|
arg1 |
|
} def |
|
|
|
|
/oxasir.sm1.loaded 1 def |
/oxasir.sm1.loaded 1 def |
[(ostype)] extension 0 get (windows) eq { |
[(ostype)] extension 0 get (windows) eq { |