/usr/share/axiom-20170501/src/algebra/ODR.spad is in axiom-source 20170501-3.
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 | )abbrev domain ODR OrdinaryDifferentialRing
++ Author: Stephen M. Watt
++ Date Created: 1986
++ Date Last Updated: June 3, 1991
++ Description:
++ This constructor produces an ordinary differential ring from
++ a partial differential ring by specifying a variable.
OrdinaryDifferentialRing(Kernels,R,var) : SIG == CODE where
Kernels : SetCategory
R : PartialDifferentialRing(Kernels)
var : Kernels
SIG ==> Join(BiModule($,$), DifferentialRing) with
if R has Field then Field
coerce : R -> $
++ coerce(r) views r as a value in the ordinary differential ring.
coerce : $ -> R
++ coerce(p) views p as a valie in the partial differential ring.
CODE ==> R add
n: Integer
Rep := R
coerce(u:R):$ == u::Rep::$
coerce(p:$):R == p::Rep::R
differentiate p == differentiate(p, var)
if R has Field then
p / q == ((p::R) /$R (q::R))::$
p ** n == ((p::R) **$R n)::$
inv(p) == (inv(p::R)$R)::$
|