Puiseux expansion
For a (possibly singular) plane curve through the origin over QQ we have
puiseux_expansion — Method
function puiseux_expansion(
f::MPolyRingElem{T},
max_ord::Int=10;
precision::Int=max_ord
) where {T <: QQFieldElem}Compute the Puiseux expansion of f up to degree max_ord and returns the output in puiseux series rings with the given precision.
For the moment we only support bivariate polynomials over QQ. Puiseux expansion may produce number fields as coefficient rings for the output. As this is not foreseeable a priori, no guarantee can be given about the parent objects for the output.
julia> R, (x, y) = QQ[:x, :y]
(Multivariate polynomial ring in 2 variables over QQ, QQMPolyRingElem[x, y])
julia> f = y^3 + x^2 + x^8
x^8 + x^2 + y^3
julia> h = Oscar.puiseux_expansion(f, 15)
1-element Vector{AbstractAlgebra.Generic.PuiseuxSeriesFieldElem{QQFieldElem}}:
-x^(2//3) + O(x^(17//3))
julia> all(is_zero(evaluate(f, [gen(parent(h)), h])) for h in h)
true