Multivariate polynomials
Contents
- Creation of rings
- Basic operations on rings
- Creation of polynomials
- Basic operations on polynomials
- Hensel lifting
- Internals
Creation of rings
PolynomialRing (F :: FldPadExact, k :: RngIntElt)
-> RngMPol_FldPadExact
The polynomial ring of rank k over F.
Basic operations on rings
BaseRing (R :: RngMPol_FldPadExact)
-> FldPadExact
The base ring of R.
Rank (R :: RngMPol_FldPadExact)
-> RngIntElt
The rank of R.
Generator (R :: RngMPol_FldPadExact, i :: RngIntElt)
-> RngMPolElt_FldPadExact
The ith generator of R.
Generators (R :: RngMPol_FldPadExact)
-> []
The generators of R.
Creation of polynomials
Coercion
The following are coercible to a multivariate polynomial in R:
- A polynomial in
R. - A multivariate polynomial of correct rank whose coefficients are coercible into the base ring of
R. - A sequence of tuples, whose first element is a coefficient and whose second element is an exponent vector.
- Anything coercible to the base ring of
R.
IsCoercible (R :: RngMPol_FldPadExact, X)
-> BoolElt, Any
True if X is coercible to an element of R. If so, also returns the coerced element.
Basic operations on polynomials
MonomialCoefficient (f :: RngMPolElt_FldPadExact, m :: RngMPolElt_FldPadExact)
-> FldPadExactElt
The coefficient of monomial m in f.
ExponentsCoefficient (f :: RngMPolElt_FldPadExact, e :: [RngIntElt])
-> FldPadExactElt
The coefficient of exponent e in f.
Monomial (R :: RngMPol_FldPadExact, e :: [RngIntElt])
-> FldPadExactElt
The monomial of R with exponents e.
IsDefinitelyMonomial (f :: RngMPolElt_FldPadExact)
-> BoolElt, []
True if f is definitely a monomial (i.e. has one term). If so, also returns its exponents.
Exponents (m :: RngMPolElt_FldPadExact)
-> []
The exponents of m, which must be a monomial.
'-' (f :: RngMPolElt_FldPadExact)
'+' (f :: RngMPolElt_FldPadExact, g :: RngMPolElt_FldPadExact)
'-' (f :: RngMPolElt_FldPadExact, g :: RngMPolElt_FldPadExact)
'*' (f :: RngMPolElt_FldPadExact, g :: RngMPolElt_FldPadExact)
'/' (f :: RngMPolElt_FldPadExact, x :: FldPadExactElt)
'&+' (fs :: [RngMPolElt_FldPadExact])
'&*' (fs :: [RngMPolElt_FldPadExact])
-> RngMPolElt_FldPadExact
Negate, add, subtract, multiply, divide by scalar, sum, product.
Parameters
Safe := false: When true, this may be used as an intermediate variable inWithDependencieswith theFastoption.
Derivative
Derivative (f :: RngMPolElt_FldPadExact, m :: RngIntElt, v :: RngIntElt)
Derivative (f :: RngMPolElt_FldPadExact, m :: RngIntElt, v :: RngMPolElt_FldPadExact)
Derivative (f :: RngMPolElt_FldPadExact, v :: RngIntElt)
Derivative (f :: RngMPolElt_FldPadExact, v :: RngMPolElt_FldPadExact)
-> RngMPolElt_FldPadExact
The mth or first derivative of f with respect to variable v.
Evaluate
Evaluate (f :: RngMPolElt_FldPadExact, xs :: [FldPadExactElt])
-> FldPadExactElt
Evaluates f(xs).
Hensel lifting
IsHenselLiftable (fs :: [RngMPolElt_FldPadExact], xs :: [FldPadExactElt])
-> BoolElt, []
True if xs are Hensel liftable to a system of roots of fs. If so, also returns the system of roots.
fs must be a system of n equations of rank n, and xs must be a sequence of n p-adic numbers.
Parameters
Strategy := "default": The precision strategy to use.Slopes: When given, must be a sequence ofnrationals to slope the equations by. That is, conceptually we multiply theith variable bypi^Slopes[i]andxs[i]correspondingly bypi^-Slopes[i]. When not given, the zero slope is used.Shifts: When given, must be a sequence ofnrationals to shift the equations by. That is, conceptually we multiply theith equation bypi^Shifts[i]. When not given, the best shifts are chosen.AsTuple := false: Whentrue, the solution is returned as aTup_FldPad, not as a sequence.
Internals
Approximation
WeakMonomials (f :: RngMPolElt_FldPadExact)
-> []
The monomials of f. Some of the corresponding coefficients may be zero.
WeakCoefficients (f :: RngMPolElt_FldPadExact)
-> []
The coefficients of f corresponding to WeakMonomials(f).
WeakCoefficientsAndMonomials (f :: RngMPolElt_FldPadExact)
-> [], []
The coefficients and monomials of f.