/usr/share/axiom-20170501/src/algebra/ORESUP.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 43 | )abbrev domain ORESUP SparseUnivariateSkewPolynomial
++ Author: Manuel Bronstein
++ Date Created: 19 October 1993
++ Date Last Updated: 1 February 1994
++ References:
++ Bron95 On radical solutions of linear ordinary differential equations
++ Abra01 On Solutions of Linear Functional Systems
++ Muld95 Primitives: Orepoly and Lodo
++ Description:
++ This is the domain of sparse univariate skew polynomials over an Ore
++ coefficient field.
++ The multiplication is given by \spad{x a = \sigma(a) x + \delta a}.
SparseUnivariateSkewPolynomial(R,sigma,delta) : SIG == CODE where
R : Ring
sigma : Automorphism R
delta : R -> R
SIG ==> UnivariateSkewPolynomialCategory R with
outputForm : (%, OutputForm) -> OutputForm
++ outputForm(p, x) returns the output form of p using x for the
++ otherwise anonymous variable.
CODE ==> SparseUnivariatePolynomial R add
import UnivariateSkewPolynomialCategoryOps(R, %)
x:% * y:% == times(x, y, sigma, delta)
apply(p, c, r) == apply(p, c, r, sigma, delta)
if R has IntegralDomain then
monicLeftDivide(a, b) == monicLeftDivide(a, b, sigma)
monicRightDivide(a, b) == monicRightDivide(a, b, sigma)
if R has Field then
leftDivide(a, b) == leftDivide(a, b, sigma)
rightDivide(a, b) == rightDivide(a, b, sigma)
|