/usr/share/axiom-20170501/src/algebra/LODO.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 | )abbrev domain LODO LinearOrdinaryDifferentialOperator
++ Author: Manuel Bronstein
++ Date Created: 9 December 1993
++ Date Last Updated: 15 April 1994
++ References:
++ Bron95 On radical solutions of linear ordinary differential equations
++ Abra01 On Solutions of Linear Functional Systems
++ Muld95 Primitives: Orepoly and Lodo
++ Description:
++ \spad{LinearOrdinaryDifferentialOperator} defines a ring of
++ differential operators with coefficients in a ring A with a given
++ derivation.
++ Multiplication of operators corresponds to functional composition:\br
++ \spad{(L1 * L2).(f) = L1 L2 f}
LinearOrdinaryDifferentialOperator(A,diff) : SIG == CODE where
A : Ring
diff : A -> A
SIG ==> LinearOrdinaryDifferentialOperatorCategory A
CODE ==> SparseUnivariateSkewPolynomial(A, 1, diff) add
Rep := SparseUnivariateSkewPolynomial(A, 1, diff)
outputD := "D"@String :: Symbol :: OutputForm
coerce(l:%):OutputForm == outputForm(l, outputD)
elt(p:%, a:A):A == apply(p, 0, a)
if A has Field then
import LinearOrdinaryDifferentialOperatorsOps(A, %)
symmetricProduct(a, b) == symmetricProduct(a, b, diff)
symmetricPower(a, n) == symmetricPower(a, n, diff)
directSum(a, b) == directSum(a, b, diff)
|