Multivariate polynomials
Contents
- Creation of rings
- Basic operations on rings
- Creation of polynomials
- Basic operations on polynomials
- Approximation
- Printing
- Hensel lifting
Creation of rings
PolynomialRing (F :: FldPadExact, n :: RngIntElt)
-> RngMPol_FldPadExact
A polynomial ring of rank n over F.
Basic operations on rings
BaseRing (R :: RngMPol_FldPadExact)
-> FldPadExact
The coefficient ring of R.
Rank (R :: RngMPol_FldPadExact)
-> RngIntElt
The rank of R.
AssignNames (~R :: RngMPol_FldPadExact, names :: [MonStgElt])
Assigns names to the generators of R.
Name (R :: RngMPol_FldPadExact, i :: RngIntElt)
'.' (R :: RngMPol_FldPadExact, i :: RngIntElt)
-> RngMPolElt_FldPadExact
The ith generator of R.
GeneratorsSequence (R :: RngMPol_FldPadExact)
-> []
The indeterminates generating R.
'eq' (R :: RngMPol_FldPadExact, S :: RngMPol_FldPadExact)
-> BoolElt
Equality. True if and only if R and S were generated by the same call to PolynomialRing.
Creation of polynomials
IsCoercible (R :: RngMPol_FldPadExact, X)
-> BoolElt, Any
True if X is coercible into R. If so, also returns the coerced element. If not, returns a string explaining why.
Succeeds if either:
Xis an element ofRXis aRngMPolEltand its coefficients are coercible into the base ring ofRXis a tuple<cs, es>wherecsis a sequence of coefficients coercible into the base ring ofRandesis a corresponding sequence of exponent vectors.Xis a tuple<init, mkupdate>or<init, mkupdate, data>whereinitis an initial approximation (aRngMPolElt) andmkupdateis a function making an update function.
CanChangeRing (f :: RngMPolElt_FldPadExact, K :: FldPadExact)
CanChangeRing (f :: RngMPolElt, K :: FldPadExact)
-> BoolElt, RngMPolElt_FldPadExact
True if f can be coerced to a polynomial over K. If so, also returns the coerced polynomial. If not, returns a string explaining why.
Basic operations on polynomials
BaseRing (f :: RngMPolElt_FldPadExact)
-> FldPadExact
The base ring of f.
DotProduct (fs :: [RngMPolElt_FldPadExact], xs :: [FldPadExactElt])
-> RngMPolElt_FldPadExact
Equivalent to &+[fs[i]*xs[i] : i in [1..n]] where n = #fs = #xs.
IsIntegral (f :: RngMPolElt_FldPadExact)
-> BoolElt
True iff all coefficients of f have valuation at least 0.
ShiftArgument (f :: RngMPolElt_FldPadExact, xs :: [FldPadExactElt])
-> RngMPolElt_FldPadExact
The polynomial f(X1+xs[1],X2+xs[2]...).
'*' (f :: RngMPolElt_FldPadExact, x :: FldPadExactElt)
-> RngMPolElt_FldPadExact
Multiplication of f by a scalar x.
ShiftValuation (f :: RngMPolElt_FldPadExact, n)
-> RngMPolElt_FldPadExact
Shifts the valuation of the eth coefficient of f by n(e) where n is a valuation for f.
ShiftSlope (f :: RngMPolElt_FldPadExact, ns :: [])
-> RngMPolElt_FldPadExact
Shifts the valuation of the eth coefficient of f by ns.e.
'&+' (fs :: [RngMPolElt_FldPadExact])
-> RngMPolElt_FldPadExact
Sum.
Approximation
Intrinsics to do with the current approximation of an exact p-adic polynomial.
_ExactpAdics_PrecisionRequired (R :: RngMPol_FldPadExact, xf :: RngMPolElt, apr)
-> RngIntElt
The (relative) precision required in the base ring to approximate f to absolue precision apr.
_ExactpAdics_WeakValuationOfApproximation (R :: RngMPol_FldPadExact, xf :: RngMPolElt)
-> Val_RngMPolElt_FldPad
The weak valuation of xf.
_ExactpAdics_AbsolutePrecisionOfApproximation (R :: RngMPol_FldPadExact, xf :: RngMPolElt)
-> Val_RngMPolElt_FldPad
The weak valuation of xf.
IncreaseAbsolutePrecision_Lazy (R :: RngMPol_FldPadExact, pr :: RngIntElt)
-> ExactpAdics_Gettr
Increases the precision of the approximation to R to at least pr.
Approximation_Lazy (R :: RngMPol_FldPadExact, pr :: RngIntElt)
-> ExactpAdics_Gettr
An approximation to R whose base field has default precision pr.
MinValuation (f :: RngMPolElt_FldPadExact)
-> RngIntElt
The smallest valuation of the coefficients of f.
Parameters
Strategy
IsWeaklyZero (f :: RngMPolElt_FldPadExact)
-> BoolElt
True if f is weakly zero.
Parameters
Strategy
Printing
Format (f :: RngMPolElt_FldPadExact)
-> MonStgElt
A string representation of f.
Parameters
APr: Output to this absolute precision.
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.