diff --git a/src/RelSeries.jl b/src/RelSeries.jl index ca6d792d58..c7dcffc799 100644 --- a/src/RelSeries.jl +++ b/src/RelSeries.jl @@ -1473,8 +1473,10 @@ object `S` will be cached so that supplying the same base ring, string and precision in future will return the same parent object and generator. If caching of the parent object is not required, `cached` can be set to `false`. """ -power_series_ring(R::Ring, prec::Int, s::VarName; cached::Bool=true, model::Symbol=:capped_relative) = - Generic.power_series_ring(R, prec, Symbol(s); cached, model) +function power_series_ring(R::Ring, prec::Int, s::VarName; cached::Bool=true, model::Symbol=:capped_relative) + @req !is_trivial(R) "Zero rings are currently not supported as coefficient ring." + return Generic.power_series_ring(R, prec, Symbol(s); cached, model) +end function AbsPowerSeriesRing(R::Ring, prec::Int) T = elem_type(R) diff --git a/src/generic/AbsMSeries.jl b/src/generic/AbsMSeries.jl index db3496fc3a..8bc630e456 100644 --- a/src/generic/AbsMSeries.jl +++ b/src/generic/AbsMSeries.jl @@ -709,6 +709,8 @@ end function power_series_ring(R::AbstractAlgebra.Ring, prec::Vector{Int}, s::Vector{Symbol}; cached::Bool=true, model=:capped_absolute) + + @req !is_trivial(R) "Zero rings are currently not supported as coefficient ring." U = elem_type(R) S, _ = AbstractAlgebra.polynomial_ring(R, s) @@ -724,6 +726,8 @@ end function power_series_ring(R::AbstractAlgebra.Ring, prec::Int, s::Vector{Symbol}; weights::Union{Vector{Int}, Nothing}=nothing, cached::Bool=true, model=:capped_absolute) + + @req !is_trivial(R) "Zero rings are currently not supported as coefficient ring." U = elem_type(R) S, _ = AbstractAlgebra.polynomial_ring(R, s) diff --git a/src/generic/RelSeries.jl b/src/generic/RelSeries.jl index 5a31e4a396..e4b656372a 100644 --- a/src/generic/RelSeries.jl +++ b/src/generic/RelSeries.jl @@ -419,6 +419,7 @@ end ############################################################################### function power_series_ring(R::AbstractAlgebra.Ring, prec::Int, s::VarName; cached::Bool=true, model::Symbol=:capped_relative) + @req !is_trivial(R) "Zero rings are currently not supported as coefficient ring." T = elem_type(R) if model == :capped_relative