Skip to content

Commit

Permalink
Remove deprecated functions (#3366)
Browse files Browse the repository at this point in the history
* Remove deprecated use of `Frac`

* Remove deprecated use of `chi`

* Remove deprecated use of `MPolyElem`
  • Loading branch information
joschmitt authored and benlorenz committed Feb 18, 2024
1 parent 09f72f1 commit edbf62a
Show file tree
Hide file tree
Showing 20 changed files with 59 additions and 59 deletions.
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

0 comments on commit edbf62a

Please sign in to comment.