UnivariateSkewPolynomialCategoryOps(R, C)ΒΆ

ore.spad line 347

UnivariateSkewPolynomialCategoryOps provides products and divisions of univariate skew polynomials.

apply: (C, R, R, Automorphism R, R -> R) -> R
apply(p, c, m, sigma, delta) returns p(m) where the action is given by x m = c sigma(m) + delta(m).
leftDivide: (C, C, Automorphism R) -> Record(quotient: C, remainder: C) if R has Field
leftDivide(a, b, sigma) returns the pair [q, r] such that a = b*q + r and the degree of r is less than the degree of b. This process is called left division\ ``''. \sigma is the morphism to use.
monicLeftDivide: (C, C, Automorphism R) -> Record(quotient: C, remainder: C) if R has IntegralDomain
monicLeftDivide(a, b, sigma) returns the pair [q, r] such that a = b*q + r and the degree of r is less than the degree of b. b must be monic. This process is called left division\ ``''. \sigma is the morphism to use.
monicRightDivide: (C, C, Automorphism R) -> Record(quotient: C, remainder: C) if R has IntegralDomain
monicRightDivide(a, b, sigma) returns the pair [q, r] such that a = q*b + r and the degree of r is less than the degree of b. b must be monic. This process is called right division\ ``''. \sigma is the morphism to use.
rightDivide: (C, C, Automorphism R) -> Record(quotient: C, remainder: C) if R has Field
rightDivide(a, b, sigma) returns the pair [q, r] such that a = q*b + r and the degree of r is less than the degree of b. This process is called right division\ ``''. \sigma is the morphism to use.
times: (C, C, Automorphism R, R -> R) -> C
times(p, q, sigma, delta) returns p * q. \sigma and \delta are the maps to use.