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

Sb/print local rings #2806

Merged
merged 2 commits into from
Sep 17, 2023
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
15 changes: 8 additions & 7 deletions docs/src/CommutativeAlgebra/affine_algebras.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,8 @@ ideal(x - y, z^4)

julia> base_ring(a)
Quotient
of multivariate polynomial ring in 3 variables over QQ
of multivariate polynomial ring in 3 variables x, y, z
over rational field
by ideal(-x^2 + y, -x^3 + z)

julia> gens(a)
Expand Down Expand Up @@ -378,7 +379,7 @@ julia> V2 = [p2(w-y), p2(x), p2(z)];
julia> proj = hom(D2, C2, V2)
Ring homomorphism
from graded multivariate polynomial ring in 3 variables over QQ
to quotient of multivariate polynomial ring by ideal with 3 generators
to quotient of multivariate polynomial ring by ideal(-x*z + y^2, -w*z + x*y, -w*y + x^2)
defined by
a -> w - y
b -> x
Expand Down Expand Up @@ -437,7 +438,7 @@ julia> V = [p(2*a + b^6), p(7*b - a^2), p(c^2)];
julia> F = hom(D, C, V)
Ring homomorphism
from multivariate polynomial ring in 3 variables over QQ
to quotient of multivariate polynomial ring by ideal with 1 generator
to quotient of multivariate polynomial ring by ideal(-b^3 + c)
defined by
x -> 2*a + c^2
y -> -a^2 + 7*b
Expand Down Expand Up @@ -519,17 +520,17 @@ julia> L[1]

julia> L[2]
Ring homomorphism
from quotient of multivariate polynomial ring by ideal with 2 generators
to quotient of multivariate polynomial ring by ideal with 2 generators
from quotient of multivariate polynomial ring by ideal(x*y, x*z)
to quotient of multivariate polynomial ring by ideal(2*x^2 + x*y, 10*x^2 + 5*x*y + x*z)
defined by
x -> x
y -> 2*x + y
z -> 10*x + 5*y + z

julia> L[3]
Ring homomorphism
from quotient of multivariate polynomial ring by ideal with 2 generators
to quotient of multivariate polynomial ring by ideal with 2 generators
from quotient of multivariate polynomial ring by ideal(2*x^2 + x*y, 10*x^2 + 5*x*y + x*z)
to quotient of multivariate polynomial ring by ideal(x*y, x*z)
defined by
x -> x
y -> -2*x + y
Expand Down
8 changes: 6 additions & 2 deletions docs/src/CommutativeAlgebra/localizations.md
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,8 @@ x/y

julia> parent(f)
Localization
of multivariate polynomial ring in 3 variables over QQ
of multivariate polynomial ring in 3 variables x, y, z
over rational field
at complement of prime ideal(x)

julia> g = iota(y)/iota(z)
Expand Down Expand Up @@ -348,7 +349,10 @@ x

julia> parent(f)
Localization
of quotient of multivariate polynomial ring by ideal with 2 generators
of quotient
of multivariate polynomial ring in 2 variables x, y
over number field of degree 2 over QQ
by ideal(2*x^2 - y^3, 2*x^2 - y^5)
at complement of prime ideal(y - 1, x - a)

julia> g = f/phi(y)
Expand Down
4 changes: 2 additions & 2 deletions experimental/PlaneCurve/src/PlaneCurve.jl
Original file line number Diff line number Diff line change
Expand Up @@ -469,8 +469,8 @@ julia> C = AffinePlaneCurve(y^2+x-x^3)
Affine plane curve defined by -x^3 + x + y^2

julia> Oscar.ring(C)
(Quotient of multivariate polynomial ring by ideal with 1 generator, Map from
Multivariate polynomial ring in 2 variables over QQ to Quotient of multivariate polynomial ring by ideal with 1 generator defined by a julia-function with inverse)
(Quotient of multivariate polynomial ring by ideal(-x^3 + x + y^2), Map from
Multivariate polynomial ring in 2 variables over QQ to Quotient of multivariate polynomial ring by ideal(-x^3 + x + y^2) defined by a julia-function with inverse)
```
"""
function ring(C::PlaneCurve)
Expand Down
16 changes: 8 additions & 8 deletions experimental/Schemes/BlowupMorphism.jl
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ ideal(x, y, z)
julia> bl = blow_up(A3, I)
Blow up
of scheme over QQ covered with 1 patch
1b: [x, y, z] spec of multivariate polynomial ring
1b: [x, y, z] affine 3-space
in sheaf of ideals with restriction
1b: ideal(x, y, z)
with domain
scheme over QQ covered with 3 patches
1a: [(s1//s0), (s2//s0), x] spec of quotient of multivariate polynomial ring
2a: [(s0//s1), (s2//s1), y] spec of quotient of multivariate polynomial ring
3a: [(s0//s2), (s1//s2), z] spec of quotient of multivariate polynomial ring
1a: [(s1//s0), (s2//s0), x] V(0, 0, 0)
2a: [(s0//s1), (s2//s1), y] V(0, 0, 0)
3a: [(s0//s2), (s1//s2), z] V(0, 0, 0)
afkafkafk13 marked this conversation as resolved.
Show resolved Hide resolved
and exceptional divisor
effective cartier divisor defined by
sheaf of ideals with restrictions
Expand All @@ -55,9 +55,9 @@ and exceptional divisor
julia> E = exceptional_divisor(bl)
Effective cartier divisor
on scheme over QQ covered with 3 patches
1: [(s1//s0), (s2//s0), x] spec of quotient of multivariate polynomial ring
2: [(s0//s1), (s2//s1), y] spec of quotient of multivariate polynomial ring
3: [(s0//s2), (s1//s2), z] spec of quotient of multivariate polynomial ring
1: [(s1//s0), (s2//s0), x] V(0, 0, 0)
2: [(s0//s1), (s2//s1), y] V(0, 0, 0)
3: [(s0//s2), (s1//s2), z] V(0, 0, 0)
defined by
sheaf of ideals with restrictions
1: ideal(x)
Expand All @@ -67,7 +67,7 @@ defined by
julia> Z = center(bl)
Sheaf of ideals
on scheme over QQ covered with 1 patch
1: [x, y, z] spec of multivariate polynomial ring
1: [x, y, z] affine 3-space
with restriction
1: ideal(x, y, z)
```
Expand Down
12 changes: 6 additions & 6 deletions experimental/Schemes/CartierDivisor.jl
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ julia> II = IdealSheaf(Y, I);
julia> E = effective_cartier_divisor(II)
Effective cartier divisor
on scheme over QQ covered with 3 patches
1: [(y//x), (z//x)] spec of multivariate polynomial ring
2: [(x//y), (z//y)] spec of multivariate polynomial ring
3: [(x//z), (y//z)] spec of multivariate polynomial ring
1: [(y//x), (z//x)] affine 2-space
2: [(x//y), (z//y)] affine 2-space
3: [(x//z), (y//z)] affine 2-space
defined by
sheaf of ideals with restrictions
1: ideal(-(y//x)^2*(z//x) + 1)
Expand Down Expand Up @@ -222,9 +222,9 @@ julia> II = IdealSheaf(Y, I);
julia> effective_cartier_divisor(II)
Effective cartier divisor
on scheme over QQ covered with 3 patches
1: [(y//x), (z//x)] spec of multivariate polynomial ring
2: [(x//y), (z//y)] spec of multivariate polynomial ring
3: [(x//z), (y//z)] spec of multivariate polynomial ring
1: [(y//x), (z//x)] affine 2-space
2: [(x//y), (z//y)] affine 2-space
3: [(x//z), (y//z)] affine 2-space
defined by
sheaf of ideals with restrictions
1: ideal(-(y//x)^2*(z//x) + 1)
Expand Down
16 changes: 8 additions & 8 deletions experimental/Schemes/CoherentSheaves.jl
Original file line number Diff line number Diff line change
Expand Up @@ -717,10 +717,10 @@ with homogeneous coordinates [s0, s1, s2, s3]
julia> twisting_sheaf(P, 4)
Coherent sheaf of modules
on scheme over QQ covered with 4 patches
1: [(s1//s0), (s2//s0), (s3//s0)] spec of multivariate polynomial ring
2: [(s0//s1), (s2//s1), (s3//s1)] spec of multivariate polynomial ring
3: [(s0//s2), (s1//s2), (s3//s2)] spec of multivariate polynomial ring
4: [(s0//s3), (s1//s3), (s2//s3)] spec of multivariate polynomial ring
1: [(s1//s0), (s2//s0), (s3//s0)] affine 3-space
2: [(s0//s1), (s2//s1), (s3//s1)] affine 3-space
3: [(s0//s2), (s1//s2), (s3//s2)] affine 3-space
4: [(s0//s3), (s1//s3), (s2//s3)] affine 3-space
with restrictions
1: free module of rank 1 over Multivariate polynomial ring in 3 variables over QQ
2: free module of rank 1 over Multivariate polynomial ring in 3 variables over QQ
Expand Down Expand Up @@ -778,10 +778,10 @@ with homogeneous coordinates [s0, s1, s2, s3]
julia> tautological_bundle(P)
Coherent sheaf of modules
on scheme over QQ covered with 4 patches
1: [(s1//s0), (s2//s0), (s3//s0)] spec of multivariate polynomial ring
2: [(s0//s1), (s2//s1), (s3//s1)] spec of multivariate polynomial ring
3: [(s0//s2), (s1//s2), (s3//s2)] spec of multivariate polynomial ring
4: [(s0//s3), (s1//s3), (s2//s3)] spec of multivariate polynomial ring
1: [(s1//s0), (s2//s0), (s3//s0)] affine 3-space
2: [(s0//s1), (s2//s1), (s3//s1)] affine 3-space
3: [(s0//s2), (s1//s2), (s3//s2)] affine 3-space
4: [(s0//s3), (s1//s3), (s2//s3)] affine 3-space
with restrictions
1: free module of rank 1 over Multivariate polynomial ring in 3 variables over QQ
2: free module of rank 1 over Multivariate polynomial ring in 3 variables over QQ
Expand Down
18 changes: 9 additions & 9 deletions experimental/Schemes/FunctionFields.jl
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ Scheme
over rational field
with default covering
described by patches
1: spec of quotient of multivariate polynomial ring
2: spec of quotient of multivariate polynomial ring
3: spec of quotient of multivariate polynomial ring
1: V(-(y//x)^2*(z//x) + 1)
2: V((x//y)^3 - (z//y))
3: V((x//z)^3 - (y//z)^2)
in the coordinate(s)
1: [(y//x), (z//x)]
2: [(x//y), (z//y)]
Expand All @@ -60,18 +60,18 @@ with default covering
julia> K = function_field(Ycov)
Field of rational functions
on scheme over QQ covered with 3 patches
1: [(y//x), (z//x)] spec of quotient of multivariate polynomial ring
2: [(x//y), (z//y)] spec of quotient of multivariate polynomial ring
3: [(x//z), (y//z)] spec of quotient of multivariate polynomial ring
1: [(y//x), (z//x)] V(-(y//x)^2*(z//x) + 1)
2: [(x//y), (z//y)] V((x//y)^3 - (z//y))
3: [(x//z), (y//z)] V((x//z)^3 - (y//z)^2)
represented by
patch 1: fraction field of multivariate polynomial ring

julia> one(K)
Rational function
on scheme over QQ covered with 3 patches
1: [(y//x), (z//x)] spec of quotient of multivariate polynomial ring
2: [(x//y), (z//y)] spec of quotient of multivariate polynomial ring
3: [(x//z), (y//z)] spec of quotient of multivariate polynomial ring
1: [(y//x), (z//x)] V(-(y//x)^2*(z//x) + 1)
2: [(x//y), (z//y)] V((x//y)^3 - (z//y))
3: [(x//z), (y//z)] V((x//z)^3 - (y//z)^2)
represented by
patch 1: 1
```
Expand Down
6 changes: 3 additions & 3 deletions experimental/Schemes/IdealSheaves.jl
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ with homogeneous coordinates [x, y, z]
julia> IdealSheaf(Y, I)
Sheaf of ideals
on scheme over QQ covered with 3 patches
1: [(y//x), (z//x)] spec of multivariate polynomial ring
2: [(x//y), (z//y)] spec of multivariate polynomial ring
3: [(x//z), (y//z)] spec of multivariate polynomial ring
1: [(y//x), (z//x)] affine 2-space
2: [(x//y), (z//y)] affine 2-space
3: [(x//z), (y//z)] affine 2-space
with restrictions
1: ideal(-(y//x)^2*(z//x) + 1)
2: ideal((x//y)^3 - (z//y))
Expand Down
14 changes: 7 additions & 7 deletions experimental/Schemes/MorphismFromRationalFunctions.jl
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Scheme
over rational field
with default covering
described by patches
1: spec of multivariate polynomial ring
2: spec of multivariate polynomial ring
1: affine 1-space
2: affine 1-space
in the coordinate(s)
1: [(t//s)]
2: [(s//t)]
Expand All @@ -23,9 +23,9 @@ Scheme
over rational field
with default covering
described by patches
1: spec of multivariate polynomial ring
2: spec of multivariate polynomial ring
3: spec of multivariate polynomial ring
1: affine 2-space
2: affine 2-space
3: affine 2-space
in the coordinate(s)
1: [(y//x), (z//x)]
2: [(x//y), (z//y)]
Expand All @@ -50,8 +50,8 @@ julia> realizations = Oscar.realize_on_patch(Phi, U);

julia> realizations[3]
Morphism
from [(t//s)] spec of localized ring
to [(x//z), (y//z)] spec of multivariate polynomial ring
from [(t//s)] AA^1 \ V()
to [(x//z), (y//z)] affine 2-space
afkafkafk13 marked this conversation as resolved.
Show resolved Hide resolved
given by the pullback function
(x//z) -> (t//s)^2
(y//z) -> (t//s)
Expand Down
12 changes: 6 additions & 6 deletions experimental/Schemes/Sheaves.jl
Original file line number Diff line number Diff line change
Expand Up @@ -430,9 +430,9 @@ Scheme
over rational field
with default covering
described by patches
1: spec of quotient of multivariate polynomial ring
2: spec of quotient of multivariate polynomial ring
3: spec of quotient of multivariate polynomial ring
1: V(-(y//x)^2*(z//x) + 1)
2: V((x//y)^3 - (z//y))
3: V((x//z)^3 - (y//z)^2)
in the coordinate(s)
1: [(y//x), (z//x)]
2: [(x//y), (z//y)]
Expand All @@ -441,9 +441,9 @@ with default covering
julia> OO(Ycov)
Structure sheaf of rings of regular functions
on scheme over QQ covered with 3 patches
1: [(y//x), (z//x)] spec of quotient of multivariate polynomial ring
2: [(x//y), (z//y)] spec of quotient of multivariate polynomial ring
3: [(x//z), (y//z)] spec of quotient of multivariate polynomial ring
1: [(y//x), (z//x)] V(-(y//x)^2*(z//x) + 1)
2: [(x//y), (z//y)] V((x//y)^3 - (z//y))
3: [(x//z), (y//z)] V((x//z)^3 - (y//z)^2)
```
"""
@attr StructureSheafOfRings function OO(X::AbsCoveredScheme)
Expand Down
15 changes: 9 additions & 6 deletions experimental/Schemes/duValSing.jl
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,14 @@ julia> I = ideal(R,[w,x^2+y^3+z^4])
ideal(w, x^2 + y^3 + z^4)

julia> Rq,_ = quo(R,I)
(Quotient of multivariate polynomial ring by ideal with 2 generators, Map from
(Quotient of multivariate polynomial ring by ideal(w, x^2 + y^3 + z^4), Map from
Multivariate polynomial ring in 4 variables over QQ to Rq defined by a julia-function with inverse)

julia> X = Spec(Rq)
Spectrum
of quotient
of multivariate polynomial ring in 4 variables over QQ
of multivariate polynomial ring in 4 variables x, y, z, w
over rational field
by ideal(w, x^2 + y^3 + z^4)

julia> has_du_val_singularities(X)
Expand Down Expand Up @@ -74,7 +75,7 @@ julia> I = ideal(R,[w,x^2+y^3+z^4])
ideal(w, x^2 + y^3 + z^4)

julia> Rq,_ = quo(R,I)
(Quotient of multivariate polynomial ring by ideal with 2 generators, Map from
(Quotient of multivariate polynomial ring by ideal(w, x^2 + y^3 + z^4), Map from
Multivariate polynomial ring in 4 variables over QQ to Rq defined by a julia-function with inverse)

julia> J = ideal(R,[x,y,z,w])
Expand All @@ -83,7 +84,8 @@ ideal(x, y, z, w)
julia> X = Spec(Rq)
Spectrum
of quotient
of multivariate polynomial ring in 4 variables over QQ
of multivariate polynomial ring in 4 variables x, y, z, w
over rational field
by ideal(w, x^2 + y^3 + z^4)

julia> is_du_val_singularity(X,J)
Expand Down Expand Up @@ -148,7 +150,7 @@ julia> I = ideal(R,[w,x^2+y^3+z^4])
ideal(w, x^2 + y^3 + z^4)

julia> Rq,_ = quo(R,I)
(Quotient of multivariate polynomial ring by ideal with 2 generators, Map from
(Quotient of multivariate polynomial ring by ideal(w, x^2 + y^3 + z^4), Map from
Multivariate polynomial ring in 4 variables over QQ to Rq defined by a julia-function with inverse)

julia> J = ideal(R,[x,y,z,w])
Expand All @@ -157,7 +159,8 @@ ideal(x, y, z, w)
julia> X = Spec(Rq)
Spectrum
of quotient
of multivariate polynomial ring in 4 variables over QQ
of multivariate polynomial ring in 4 variables x, y, z, w
over rational field
by ideal(w, x^2 + y^3 + z^4)

julia> decide_du_val_singularity(X,J)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,8 @@ which the scheme theoretic intersection remembers. Therefore they are different.
julia> Z = intersect(X, Y) # a non reduced scheme
Spectrum
of quotient
of multivariate polynomial ring in 2 variables over QQ
of multivariate polynomial ring in 2 variables x, y
over rational field
by ideal(x^2 - y, y)

julia> Zred == Z
Expand Down
Loading
Loading