Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove deprecated functions #3366

Merged
merged 3 commits into from
Feb 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ function _construct_literature_model_over_concrete_base(model_dict::Dict{String,
explicit_model_sections["a6"] = map(a6)

# Find defining_section_parametrization
defining_section_parametrization = Dict{String, MPolyElem}()
defining_section_parametrization = Dict{String, MPolyRingElem}()
if !("a1" in vars) || (a1 != eval_poly("a1", parent(a1)))
defining_section_parametrization["a1"] = a1
end
Expand Down Expand Up @@ -328,7 +328,7 @@ function _construct_literature_model_over_concrete_base(model_dict::Dict{String,
explicit_model_sections["g"] = map(g)

# Find defining_section_parametrization
defining_section_parametrization = Dict{String, MPolyElem}()
defining_section_parametrization = Dict{String, MPolyRingElem}()
if !("f" in vars) || (f != eval_poly("f", parent(f)))
defining_section_parametrization["f"] = f
end
Expand Down
2 changes: 1 addition & 1 deletion experimental/FTheoryTools/src/TateModels/attributes.jl
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ Weierstrass model over a not fully specified base -- SU(5)xU(1) restricted Tate
# Compute parametrization of Weierstrass sections
parametrization = defining_section_parametrization(t)
param_keys = collect(keys(parametrization))
new_defining_section_parametrization = Dict{String, MPolyElem}()
new_defining_section_parametrization = Dict{String, MPolyRingElem}()
if length(param_keys) > 0
# Find ring to evaluate polynomials into
R = parent(parametrization[param_keys[1]])
Expand Down
2 changes: 1 addition & 1 deletion experimental/FTheoryTools/src/TateModels/constructors.jl
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ function global_tate_model(auxiliary_base_ring::MPolyRing, auxiliary_base_gradin
end

# Compute defining_section_parametrization
defining_section_parametrization = Dict{String, MPolyElem}()
defining_section_parametrization = Dict{String, MPolyRingElem}()
vars_S = [string(k) for k in gens(S)]
if !("a1" in vars_S) || (a1 != eval_poly("a1", parent(a1)))
defining_section_parametrization["a1"] = a1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ function weierstrass_model(auxiliary_base_ring::MPolyRing, auxiliary_base_gradin
end

# Compute defining_section_parametrization
defining_section_parametrization = Dict{String, MPolyElem}()
defining_section_parametrization = Dict{String, MPolyRingElem}()
vars_S = [string(k) for k in gens(S)]
if !("f" in vars_S) || (f != eval_poly("f", parent(f)))
defining_section_parametrization["f"] = f
Expand Down
2 changes: 1 addition & 1 deletion experimental/IntersectionTheory/src/IntersectionTheory.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ using ..Oscar

import Base: +, -, *, ^, ==, div, zero, one, parent
import ..Oscar: AffAlgHom, Ring, MPolyDecRingElem, symmetric_power, exterior_power, pullback, canonical_bundle, graph, euler_characteristic, pullback
import ..Oscar: basis, betti, chi, codomain, degree, det, dim, domain, dual, gens, hilbert_polynomial, hom, integral, rank, signature
import ..Oscar: basis, betti, codomain, degree, det, dim, domain, dual, gens, hilbert_polynomial, hom, integral, rank, signature
import ..Oscar.AbstractAlgebra: combinations
import ..Oscar.AbstractAlgebra.Generic: FunctionalMap

Expand Down
14 changes: 7 additions & 7 deletions experimental/ModStd/ModStdQt.jl
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ end
mutable struct Vals{T}
v::Vector{Vector{T}}
nd::Vector{Tuple{<:PolyRingElem{T}, <:PolyRingElem{T}}}
G::RingElem # can be Generic.Frac{<:MPolyRingElem{T}} or PolyRingElem
G::RingElem # can be Generic.FracFieldElem{<:MPolyRingElem{T}} or PolyRingElem
function Vals(v::Vector{Vector{S}}) where {S}
r = new{S}()
r.v = v
Expand Down Expand Up @@ -275,11 +275,11 @@ function Base.setindex!(v::Vals{T}, c::T, i::Int, j::Int) where {T}
v.v[i][j] = c
end

function exp_groebner_basis(I::Oscar.MPolyIdeal{<:Generic.MPoly{<:Generic.Frac{QQMPolyRingElem}}}; ord::Symbol = :degrevlex, complete_reduction::Bool = true)
function exp_groebner_basis(I::Oscar.MPolyIdeal{<:Generic.MPoly{<:Generic.FracFieldElem{QQMPolyRingElem}}}; ord::Symbol = :degrevlex, complete_reduction::Bool = true)
Oscar.exp_groebner_assure(I, ord, complete_reduction = complete_reduction)
end

function exp_groebner_assure(I::Oscar.MPolyIdeal{<:Generic.MPoly{<:Generic.Frac{QQMPolyRingElem}}}, ord::Symbol = :degrevlex; complete_reduction::Bool = true)
function exp_groebner_assure(I::Oscar.MPolyIdeal{<:Generic.MPoly{<:Generic.FracFieldElem{QQMPolyRingElem}}}, ord::Symbol = :degrevlex; complete_reduction::Bool = true)
T = QQFieldElem
if ord == :degrevlex && isdefined(I, :gb)
return I.gb
Expand Down Expand Up @@ -559,7 +559,7 @@ function _cmp(f::MPolyRingElem, g::MPolyRingElem)
end

@doc raw"""
factor_absolute(f::MPolyRingElem{Generic.Frac{QQMPolyRingElem}})
factor_absolute(f::MPolyRingElem{Generic.FracFieldElem{QQMPolyRingElem}})

For an irreducible polynomial in Q[A][X], perform an absolute
factorisation, ie. a factorisation in K[X] where K is the
Expand Down Expand Up @@ -599,7 +599,7 @@ Multivariate polynomial ring in 2 variables X[1], X[2]
over residue field of univariate polynomial ring modulo t^2 + a[1]
```
"""
function Oscar.factor_absolute(f::MPolyRingElem{Generic.Frac{QQMPolyRingElem}})
function Oscar.factor_absolute(f::MPolyRingElem{Generic.FracFieldElem{QQMPolyRingElem}})
Qtx = parent(f) # Q[t1,t2][x1,x2]
Qt = base_ring(base_ring(Qtx)) # Q[t1,t2]
Rx, x = polynomial_ring(QQ, ngens(Qtx) + ngens(Qt)) # Q[x1,x2,t1,t2]
Expand Down Expand Up @@ -639,7 +639,7 @@ function Oscar.factor_absolute(f::MPolyRingElem{Generic.Frac{QQMPolyRingElem}})
return an
end

function Oscar.is_absolutely_irreducible(f::MPolyRingElem{Generic.Frac{QQMPolyRingElem}})
function Oscar.is_absolutely_irreducible(f::MPolyRingElem{Generic.FracFieldElem{QQMPolyRingElem}})
lf = factor_absolute(f)
@assert length(lf) > 1
return length(lf) == 2 && lf[2][end] == 1 && is_one(lf[2][2])
Expand Down Expand Up @@ -852,7 +852,7 @@ function my_reduce(A, d)
end

function Oscar.lift(f::PolyRingElem, g::PolyRingElem, a::AbsSimpleNumFieldElem, b::AbsSimpleNumFieldElem, V::Vector{QQFieldElem})
S = base_ring(f) # should be a Frac{MPoly}
S = base_ring(f) # should be a FracFieldElem{MPoly}
R = base_ring(S)

d_a = reduce(lcm, map(denominator, coefficients(f)))
Expand Down
6 changes: 3 additions & 3 deletions experimental/Schemes/FunctionFields.jl
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ function move_representative(
return h_generic
end

function (KK::VarietyFunctionField)(h::AbstractAlgebra.Generic.Frac; check::Bool=true)
function (KK::VarietyFunctionField)(h::AbstractAlgebra.Generic.FracFieldElem; check::Bool=true)
return KK(numerator(h), denominator(h), check=check)
end

Expand Down Expand Up @@ -451,15 +451,15 @@ inv(f::VarietyFunctionFieldElem) = parent(f)(denominator(representative(f)),
)

AbstractAlgebra.promote_rule(::Type{T}, ::Type{S}) where {T<:VarietyFunctionFieldElem, S<:Integer} = T
AbstractAlgebra.promote_rule(::Type{T}, ::Type{S}) where {T<:VarietyFunctionFieldElem, S<:AbstractAlgebra.Generic.Frac} = T
AbstractAlgebra.promote_rule(::Type{T}, ::Type{S}) where {T<:VarietyFunctionFieldElem, S<:AbstractAlgebra.Generic.FracFieldElem} = T

AbstractAlgebra.promote_rule(::Type{T}, ::Type{T}) where {T<:VarietyFunctionFieldElem} = T

function AbstractAlgebra.promote_rule(::Type{FFET}, ::Type{U}) where {T, FFET<:VarietyFunctionFieldElem{T}, U<:RingElement}
promote_rule(T, U) == T ? FFET : Union{}
end

function AbstractAlgebra.promote_rule(::Type{FFET}, ::Type{U}) where {T, FFET<:VarietyFunctionFieldElem{AbstractAlgebra.Generic.Frac{T}}, U<:RingElement}
function AbstractAlgebra.promote_rule(::Type{FFET}, ::Type{U}) where {T, FFET<:VarietyFunctionFieldElem{AbstractAlgebra.Generic.FracFieldElem{T}}, U<:RingElement}
promote_rule(T, U) == T ? FFET : Union{}
end

Expand Down
4 changes: 2 additions & 2 deletions experimental/Schemes/Types.jl
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ end
########################################################################
# Elements of VarietyFunctionFields #
########################################################################
mutable struct VarietyFunctionFieldElem{FracType<:AbstractAlgebra.Generic.Frac,
mutable struct VarietyFunctionFieldElem{FracType<:AbstractAlgebra.Generic.FracFieldElem,
ParentType<:VarietyFunctionField
}
KK::ParentType
f::FracType

function VarietyFunctionFieldElem(
KK::VarietyFunctionField,
f::AbstractAlgebra.Generic.Frac;
f::AbstractAlgebra.Generic.FracFieldElem;
check::Bool=true
)
representative_field(KK) == parent(f) || error("element does not have the correct parent")
Expand Down
12 changes: 6 additions & 6 deletions experimental/Schemes/elliptic_surface.jl
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Elliptic surface with generic fiber -x^3 + y^2 - t^7 + 2*t^6 - t^5
"""
function elliptic_surface(generic_fiber::EllipticCurve{BaseField}, euler_characteristic::Int,
mwl_basis::Vector{<:EllipticCurvePoint}=EllipticCurvePoint[]) where {
BaseField <: Frac{<:PolyRingElem{<:FieldElem}}}
BaseField <: FracFieldElem{<:PolyRingElem{<:FieldElem}}}
@req all(parent(i)==generic_fiber for i in mwl_basis) "not a vector of points on $(generic_fiber)"
S = EllipticSurface(generic_fiber, euler_characteristic, mwl_basis)
return S
Expand Down Expand Up @@ -1154,7 +1154,7 @@ function two_neighbor_step(X::EllipticSurface, F::Vector{QQFieldElem})

# Make sure the coefficient of y² is one (or a square) so that
# completing the square works.
c = my_const(coeff(eqn1, [x2, y2], [0, 2]))::AbstractAlgebra.Generic.Frac
c = my_const(coeff(eqn1, [x2, y2], [0, 2]))::AbstractAlgebra.Generic.FracFieldElem
eqn1 = inv(unit(factor(c)))*eqn1

eqn2, phi2 = _normalize_hyperelliptic_curve(eqn1)
Expand All @@ -1166,7 +1166,7 @@ function two_neighbor_step(X::EllipticSurface, F::Vector{QQFieldElem})

# Make sure the coefficient of y² is one (or a square) so that
# completing the square works.
c = my_const(coeff(eqn1, [x2, y2], [0, 2]))::AbstractAlgebra.Generic.Frac
c = my_const(coeff(eqn1, [x2, y2], [0, 2]))::AbstractAlgebra.Generic.FracFieldElem
eqn1 = inv(unit(factor(c)))*eqn1

eqn2, phi2 = _normalize_hyperelliptic_curve(eqn1)
Expand Down Expand Up @@ -1593,11 +1593,11 @@ function _is_in_weierstrass_form(f::MPolyRingElem)
return f == (-(y^2 + a1*x*y + a3*y) + (x^3 + a2*x^2 + a4*x + a6))
end

function evaluate(f::AbstractAlgebra.Generic.Frac{<:MPolyRingElem}, a::Vector{T}) where {T<:RingElem}
function evaluate(f::AbstractAlgebra.Generic.FracFieldElem{<:MPolyRingElem}, a::Vector{T}) where {T<:RingElem}
return evaluate(numerator(f), a)//evaluate(denominator(f), a)
end

function evaluate(f::AbstractAlgebra.Generic.Frac{<:PolyRingElem}, a::RingElem)
function evaluate(f::AbstractAlgebra.Generic.FracFieldElem{<:PolyRingElem}, a::RingElem)
return evaluate(numerator(f), a)//evaluate(denominator(f), a)
end

Expand Down Expand Up @@ -1640,7 +1640,7 @@ function _elliptic_parameter_conversion(X::EllipticSurface, u::VarietyFunctionFi
@assert f == R_to_kkt_frac_XY(f_loc) && _is_in_weierstrass_form(f) "local equation is not in Weierstrass form"
a = a_invars(E)

u_loc = u[U]::AbstractAlgebra.Generic.Frac # the representative on the Weierstrass chart
u_loc = u[U]::AbstractAlgebra.Generic.FracFieldElem # the representative on the Weierstrass chart

# Set up the ambient_coordinate_ring of the new Weierstrass-chart
kkt2, t2 = polynomial_ring(kk, names[3], cached=false)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ end
# functions on the affine patches. #
########################################################################
@doc raw"""
maximal_extension(X::AbsSpec, Y::AbsSpec, f::AbstractAlgebra.Generic.Frac)
maximal_extension(X::AbsSpec, Y::AbsSpec, f::AbstractAlgebra.Generic.FracFieldElem)

Given a rational map ``ϕ : X ---> Y ⊂ Spec 𝕜[y₁,…,yₙ]`` of affine schemes
determined by ``ϕ*(yⱼ) = fⱼ = aⱼ/bⱼ``, find the maximal open subset ``U⊂ X``
Expand All @@ -113,7 +113,7 @@ to which ``ϕ`` can be extended to a regular map ``g : U → Y`` and return ``g`
function maximal_extension(
X::AbsSpec,
Y::AbsSpec,
f::Vector{AbstractAlgebra.Generic.Frac{RET}}
f::Vector{AbstractAlgebra.Generic.FracFieldElem{RET}}
) where {RET<:RingElem}
U, g = maximal_extension(X, f)
n = length(affine_patches(U))
Expand Down
18 changes: 9 additions & 9 deletions src/AlgebraicGeometry/Schemes/SpecOpen/Rings/Constructors.jl
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ end
# Maximal extensions of rational functions on affine schemes #
########################################################################
@doc raw"""
maximal_extension(X::Spec, f::AbstractAlgebra.Generic.Frac)
maximal_extension(X::Spec, f::AbstractAlgebra.Generic.FracFieldElem)

Return the maximal extension of the restriction of ``f``
to a rational function on ``X`` on a maximal domain of
Expand All @@ -106,7 +106,7 @@ the ring ``𝕜[x₁,…,xₙ]``.
"""
function maximal_extension(
X::AbsSpec{<:Ring, <:MPolyLocRing},
f::AbstractAlgebra.Generic.Frac{RET}
f::AbstractAlgebra.Generic.FracFieldElem{RET}
) where {RET<:MPolyRingElem}

a = numerator(f)
Expand All @@ -126,7 +126,7 @@ end

function maximal_extension(
X::AbsSpec{<:Ring, <:MPolyQuoLocRing},
f::AbstractAlgebra.Generic.Frac{RET}
f::AbstractAlgebra.Generic.FracFieldElem{RET}
) where {RET<:RingElem}

a = numerator(f)
Expand All @@ -141,7 +141,7 @@ end

function maximal_extension(
X::AbsSpec{<:Ring, <:MPolyQuoRing},
f::AbstractAlgebra.Generic.Frac{RET}
f::AbstractAlgebra.Generic.FracFieldElem{RET}
) where {RET<:RingElem}
a = numerator(f)
b = denominator(f)
Expand All @@ -155,7 +155,7 @@ end

function maximal_extension(
X::AbsSpec{<:Ring, <:MPolyRing},
f::AbstractAlgebra.Generic.Frac{RET}
f::AbstractAlgebra.Generic.FracFieldElem{RET}
) where {RET<:RingElem}
a = numerator(f)
b = denominator(f)
Expand All @@ -168,7 +168,7 @@ function maximal_extension(
end

@doc raw"""
maximal_extension(X::Spec, f::Vector{AbstractAlgebra.Generic.Frac})
maximal_extension(X::Spec, f::Vector{AbstractAlgebra.Generic.FracFieldElem})

Return the extension of the restriction of the ``fᵢ`` as a
set of rational functions on ``X`` as *regular* functions to a
Expand All @@ -180,7 +180,7 @@ be elements of the ring ``𝕜[x₁,…,xₙ]``.
"""
function maximal_extension(
X::AbsSpec{<:Ring, <:AbsLocalizedRing},
f::Vector{AbstractAlgebra.Generic.Frac{RET}}
f::Vector{AbstractAlgebra.Generic.FracFieldElem{RET}}
) where {RET<:RingElem}
if length(f) == 0
return SpecOpen(X), Vector{structure_sheaf_elem_type(X)}()
Expand All @@ -206,7 +206,7 @@ end

function maximal_extension(
X::AbsSpec{<:Ring, <:MPolyRing},
f::Vector{AbstractAlgebra.Generic.Frac{RET}}
f::Vector{AbstractAlgebra.Generic.FracFieldElem{RET}}
) where {RET<:RingElem}
if length(f) == 0
return SpecOpen(X), Vector{structure_sheaf_elem_type(X)}()
Expand All @@ -230,7 +230,7 @@ end

function maximal_extension(
X::AbsSpec{<:Ring, <:MPolyQuoRing},
f::Vector{AbstractAlgebra.Generic.Frac{RET}}
f::Vector{AbstractAlgebra.Generic.FracFieldElem{RET}}
) where {RET<:RingElem}
if length(f) == 0
return SpecOpen(X), Vector{structure_sheaf_elem_type(X)}()
Expand Down
2 changes: 1 addition & 1 deletion src/InvariantTheory/types.jl
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ mutable struct InvRing{FldT, GrpT, PolyRingElemT, PolyRingT, ActionT}

reynolds_operator::MapFromFunc{PolyRingT, PolyRingT}

molien_series::Generic.Frac{QQPolyRingElem}
molien_series::Generic.FracFieldElem{QQPolyRingElem}

function InvRing(K::FldT, G::GrpT, action::Vector{ActionT}) where {FldT <: Field, GrpT <: AbstractAlgebra.Group, ActionT}
n = degree(G)
Expand Down
10 changes: 5 additions & 5 deletions src/Rings/FunctionField.jl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ function Oscar.singular_coeff_ring(F::AbstractAlgebra.Generic.FracField{T}) wher
return Singular.FunctionField(singular_coeff_ring(base_ring(R)), [string(R.S)])[1]
end

function (F::Singular.N_FField)(x::AbstractAlgebra.Generic.Frac{T}) where T <: Union{QQPolyRingElem, fpPolyRingElem, FqPolyRingElem}
function (F::Singular.N_FField)(x::AbstractAlgebra.Generic.FracFieldElem{T}) where T <: Union{QQPolyRingElem, fpPolyRingElem, FqPolyRingElem}
check_char(F, parent(x))
@req Singular.transcendence_degree(F) == 1 "wrong number of generators"
a = Singular.transcendence_basis(F)[1]
Expand All @@ -29,7 +29,7 @@ function Oscar.singular_coeff_ring(F::AbstractAlgebra.Generic.FracField{T}) wher
return Singular.FunctionField(singular_coeff_ring(base_ring(R)), _variables_for_singular(symbols(R)))[1]
end

function (F::Singular.N_FField)(x::AbstractAlgebra.Generic.Frac{T}) where T <: Union{QQMPolyRingElem, fpMPolyRingElem, FqMPolyRingElem}
function (F::Singular.N_FField)(x::AbstractAlgebra.Generic.FracFieldElem{T}) where T <: Union{QQMPolyRingElem, fpMPolyRingElem, FqMPolyRingElem}
check_char(F, parent(x))
@req Singular.transcendence_degree(F) == ngens(base_ring(parent(x))) "wrong number of generators"
a = Singular.transcendence_basis(F)
Expand Down Expand Up @@ -63,7 +63,7 @@ function (Ox::PolyRing)(f::Singular.spoly)
end

# coercion
function (F::QQField)(x::AbstractAlgebra.Generic.Frac{T}) where T <: Union{QQPolyRingElem, QQMPolyRingElem}
function (F::QQField)(x::AbstractAlgebra.Generic.FracFieldElem{T}) where T <: Union{QQPolyRingElem, QQMPolyRingElem}
num = numerator(x)
cst_num = constant_coefficient(num)
denom = denominator(x)
Expand All @@ -76,7 +76,7 @@ function (F::QQField)(x::AbstractAlgebra.Generic.RationalFunctionFieldElem{QQFie
return F(x.d)
end

function (F::Nemo.fpField)(x::AbstractAlgebra.Generic.Frac{T}) where T <: Union{fpPolyRingElem, fpMPolyRingElem}
function (F::Nemo.fpField)(x::AbstractAlgebra.Generic.FracFieldElem{T}) where T <: Union{fpPolyRingElem, fpMPolyRingElem}
num = numerator(x)
cst_num = constant_coefficient(num)
denom = denominator(x)
Expand All @@ -85,7 +85,7 @@ function (F::Nemo.fpField)(x::AbstractAlgebra.Generic.Frac{T}) where T <: Union{
F(cst_num) // F(cst_denom)
end

function (F::Nemo.FqField)(x::AbstractAlgebra.Generic.Frac{T}) where T <: Union{FqPolyRingElem, FqMPolyRingElem}
function (F::Nemo.FqField)(x::AbstractAlgebra.Generic.FracFieldElem{T}) where T <: Union{FqPolyRingElem, FqMPolyRingElem}
num = numerator(x)
cst_num = constant_coefficient(num)
denom = denominator(x)
Expand Down
2 changes: 1 addition & 1 deletion src/Rings/MPolyQuo.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1269,7 +1269,7 @@ function vector_space(K::AbstractAlgebra.Field, Q::MPolyQuoRing)
end

# To fix printing of fraction fields of MPolyQuoRing
function AbstractAlgebra.expressify(a::AbstractAlgebra.Generic.Frac{T};
function AbstractAlgebra.expressify(a::AbstractAlgebra.Generic.FracFieldElem{T};
context = nothing) where {T <: MPolyQuoRingElem}
n = numerator(a, false)
d = denominator(a, false)
Expand Down
4 changes: 2 additions & 2 deletions src/Rings/localization_interface.jl
Original file line number Diff line number Diff line change
Expand Up @@ -200,11 +200,11 @@ function localization(R::Ring, U::AbsMultSet)
end

@doc raw"""
(W::AbsLocalizedRing{RingType, RingElemType, MultSetType})(f::AbstractAlgebra.Generic.Frac{RingElemType}) where {RingType, RingElemType, MultSetType}
(W::AbsLocalizedRing{RingType, RingElemType, MultSetType})(f::AbstractAlgebra.Generic.FracFieldElem{RingElemType}) where {RingType, RingElemType, MultSetType}

Converts a fraction f = a//b to an element of the localized ring W.
"""
function (W::AbsLocalizedRing{RingType, RingElemType, MultSetType})(f::AbstractAlgebra.Generic.Frac{RingElemType}) where {RingType, RingElemType, MultSetType}
function (W::AbsLocalizedRing{RingType, RingElemType, MultSetType})(f::AbstractAlgebra.Generic.FracFieldElem{RingElemType}) where {RingType, RingElemType, MultSetType}
error("conversion for fractions to elements of type $(typeof(W)) is not implemented")
end

Expand Down
Loading
Loading