/usr/lib/open-axiom/input/dpol.input is in open-axiom-test 1.5.0~svn3056+ds-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | --Copyright The Numerical Algorithms Group Limited 1991.
)clear all
odvar:=ODVAR Symbol
-- here are the first 5 derivatives of w
-- the i-th derivative of w is printed as w subscript 5
[makeVariable('w,i)$odvar for i in 5..0 by -1]
-- these are now algebraic indeterminates, ranked in an orderly way
-- in increasing order:
sort %
-- we now make a general differential polynomial ring
-- instead of ODVAR, one can also use SDVAR for sequential ordering
dpol:=DSMP (FRAC INT, Symbol, odvar)
-- instead of using makeVariable, it is easier to
-- think of a differential variable w as a map, where
-- w.n is n-th derivative of w as an algebraic indeterminate
w := makeVariable('w)$dpol
-- create another one called z, which is higher in rank than w
-- since we are ordering by Symbol
z := makeVariable('z)$dpol
-- now define some differential polynomial
(f,b):dpol
f:=w.4::dpol - w.1 * w.1 * z.3
b:=(z.1::dpol)**3 * (z.2)**2 - w.2
-- compute the leading derivative appearing in b
lb:=leader b
-- the separant is the partial derivative of b with respect to its leader
sb:=separant b
-- of course you can differentiate these differential polynomials
-- and try to reduce f modulo the differential ideal generated by b
-- first eliminate z.3 using the derivative of b
bprime:= differentiate b
-- find its leader
lbprime:= leader bprime
-- differentiate f partially with respect to lbprime
pbf:=differentiate (f, lbprime)
-- to obtain the partial remainder of f with respect to b
ftilde:=sb * f- pbf * bprime
-- note high powers of lb still appears in ftilde
-- the initial is the leading coefficient when b is written
-- as a univariate polynomial in its leader
ib:=initial b
-- compute the leading coefficient of ftilde
-- as a polynomial in its leader
lcef:=leadingCoefficient univariate(ftilde, lb)
-- now to continue eliminating the high powers of lb appearing in ftilde:
-- to obtain the remainder of f modulo b and its derivatives
f0:=ib * ftilde - lcef * b * lb
|