UnivariateSkewPolynomialCategoryOps(R, C)

ore.spad line 346 [edit on github]

UnivariateSkewPolynomialCategoryOps provides products and divisions of univariate skew polynomials.

apply : (C, R, R, Automorphism(R), Mapping(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), Mapping(R, R)) -> C

times(p, q, sigma, delta) returns p * q. \sigma and \delta are the maps to use.