Difference between revisions of "Package alggeozd"
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | This page describes the <code>alggeozd</code> package. The package contains various functions for checking algebraic and geometric properties of zero-dimensional affine K-algebra/schemes and related computations. For a complete list of functions, see [[:Category:Package alggeozd]]. | + | This page describes the <code>alggeozd</code> package. The package contains various functions for checking algebraic and geometric properties of zero-dimensional affine K-algebra/schemes and related computations. For a complete list of functions, see also [[:Category:Package alggeozd]]. |
== Alg-Geo Properties == | == Alg-Geo Properties == | ||
− | Let < | + | |
+ | Let K be a field, let I be a 0-dimensional ideal in a polynomial ring P=K[x_1,...x_n], and let R=P/I and X=Spec(P/I). | ||
+ | In this package, we checking some algebraic and geometric properties of the scheme X or of the affine K-algebra R such as: | ||
+ | locally Gorenstein, strict/arithmetically Gorenstein, complete intersection, Cayley-Bacharach property, and (i,j)-uniformity. | ||
+ | |||
+ | === Algebraic Properties === | ||
+ | |||
+ | Suppose the support of X contains s points p_1,...,p_s. For i=1,...s, the local ring of X at p_i is of the form O_i=P/q_i where q_i is a primary ideal of P. Let m_i be the maximal ideal of O_i and K_i=O_i/m_i for i=1,...,s. | ||
+ | * The local ring O_i is called a <em>Gorenstein ring</em> if the K_i-vector space (0:m_i) has dimension 1. | ||
+ | * The scheme X (or the ring R) is called a <em>locally Goreinstein ring</em> if the local ring O_i is a Gorenstein ring for every i=1,...,s. | ||
+ | The associated graded ring of R with respect to the standard grading is denoted by gr(R). Then gr(R) is a 0-dimenisonal local ring. | ||
+ | * The scheme X (or the ring R) is called a <em>strict/arithmetically Goreinstein ring</em> if gr(R) is a Goresntein ring. | ||
+ | * The local ring O_i is called a <em>complete intersection</em> if the ideal q_i is generated by a regular sequence of length n in P. | ||
+ | * The scheme X (or the ring R) is called a <em>locally complete intersection</em> if the local ring O_i is a complete intersection for every i=1,...,s. | ||
+ | * The scheme X (or the ring R) is called a <em>complete intersection</em> if gr(R) is a complete intersection ring. | ||
+ | |||
+ | === Geometric Properties === | ||
+ | |||
+ | Now we consider X as a projective subscheme of the projective n-space under the embedding X into D_+(x_0). The homogeneous coordinate ring of X is R_X and its homogeneous vanishing ideal in S=K[x_0,...,x_n] is I_X. The Hilbert function of R_X is denoted by HF_X and its regularity index is r_X. The number d_X = dim_K(R) is known as the degree of X. | ||
+ | Suppose that X has K-rational support, that is, the maximal ideal of each O_i is generated by only linear forms. Let i,j be two positive integers. Under this assumption, we have the following notion. | ||
+ | * The scheme X is called <em>(i,j)-uniform</em> if every subscheme Y of X of degree d_Y=d_X-1 satisfies HF_Y(j)=HF_X(j). | ||
+ | * The scheme X is said to have the <em>Cayley-Bacharach property</em> if it is (1,r_X-1)-uniform. | ||
+ | The Cayley-Bacharach property of X has a long and rich history and it can be generalized for an arbitrary 0-dimensional scheme X (see e.g. the paper [M. Kreuzer, L.N. Long, L. Robbiano, On the Cayley-Bacharach Property, Communications in Algebra 47 (2019), 328-354]). | ||
== Package Discription == | == Package Discription == | ||
− | The <code> | + | The <code>alggeozd</code> package provides functions for checking the introduced properties of zero-dimensional schemes. Alias of the package is <code>AGZD</code>. |
=== List of main functions === | === List of main functions === | ||
− | [[/ | + | [[/CheckingCBP/]] |
+ | <pre> | ||
+ | CheckingCBP(LX): checks the Cayley-Bacharach Property. | ||
+ | input: LX=list of primary components of a 0-dim ideal Ix | ||
+ | output: the corresponding boolean value for CBP | ||
+ | </pre> | ||
+ | [[/CheckingCBPUsingCanModule/]] | ||
+ | <pre> | ||
+ | CheckingCBPUsingCanModule(Ix): checks the CBP | ||
+ | using the canonical module. | ||
+ | input: Ix=a 0-dim ideal in P=K[x[1..N]] | ||
+ | output: the corresponding boolean value for CBP | ||
+ | </pre> | ||
+ | [[/CheckingGor/]] | ||
+ | <pre> | ||
+ | CheckingGor(Ix): checks the locally Gorenstein property. | ||
+ | input: Ix=a 0-dim ideal in K[x[1..N]] | ||
+ | output: the corresponding boolean value for Gor-property | ||
+ | </pre> | ||
+ | [[/CheckingGorWithValues/]] | ||
+ | <pre> | ||
+ | CheckingGorWithValues(Ix,Values): checks the loc. Gor. property. | ||
+ | input: Ix=a 0-dim ideal in P=K[x[1..N]] | ||
+ | Values=list of numbers with length Dim_K(P/Ix) | ||
+ | output: the corresponding boolean value for Gor-property | ||
+ | </pre> | ||
+ | [[/CheckingStrictGor/]] | ||
+ | <pre> | ||
+ | CheckingStrictGor(Ix): checks the strict/arith. Gor. property. | ||
+ | input: Ix=a 0-dim ideal in P=K[x[1..N]] | ||
+ | term ordering on P is degree-compatible | ||
+ | output: the corresponding boolean value | ||
+ | </pre> | ||
+ | [[/CheckingGorCBP/]] | ||
+ | <pre> | ||
+ | CheckingGorCBP(Ix): checks the CBP with local Gor. | ||
+ | input: Ix=a 0-dim ideal in P=K[x[1..N]] | ||
+ | output: the corresponding boolean value | ||
+ | </pre> | ||
+ | [[/CheckingGorCBPWithValues/]] | ||
+ | <pre> | ||
+ | CheckingGorCBPWithValues(Ix,Values): checks the CBP property | ||
+ | with locally Gorenstein. | ||
+ | input: Ix=a 0-dim ideal in P=K[x[1..N]] | ||
+ | Values=list of numbers with length Delta | ||
+ | output: the corresponding boolean value | ||
+ | </pre> | ||
+ | [[/CheckingSCIS/]] | ||
<pre> | <pre> | ||
− | + | CheckingSCIS(Ix): checks the strict comp. intersection property. | |
− | + | input: Ix=a 0-dim ideal in P=K[x[1..N]] | |
− | input: P=K[x[ | + | term ordering on P is degree-compatible |
− | output: | + | output: the corresponding boolean value |
+ | </pre> | ||
+ | [[/CheckingSCIS2/]] | ||
+ | <pre> | ||
+ | CheckingSCIS2(Ix): checks the strict comp. intersection property. | ||
+ | input: Ix=a 0-dim ideal in P=K[x[1..N]] | ||
+ | term ordering on P is degree-compatible (using border) | ||
+ | output: the corresponding boolean value | ||
+ | </pre> | ||
+ | [[/IsUniformity/]] | ||
+ | <pre> | ||
+ | IsUniformity(P,Points,i,j): checks the (i,j)-uniform property. | ||
+ | input: P=K[x[0..N]], Points=Set of projective points, | ||
+ | pair (i,j) of non-negative integres | ||
+ | output: the corresponding boolean value | ||
</pre> | </pre> | ||
+ | === Example for computations === | ||
+ | Now let us apply the <code>alggeozd</code> package to some concrete examples. Recall that the alias of the package is <code>AGZD</code>, and so to call a function from this package in computation one uses [[/ZD.functions-name/]]. | ||
− | + | Example 1: | |
− | + | <pre> | |
+ | Use P ::= QQ[X[1..2]]; | ||
+ | Ix := ideal(-X[1]^2 +X[1], X[2]^3 -3*X[2]^2 +2*X[2]); | ||
+ | Dim(P/Ix); | ||
+ | 0 | ||
+ | </pre> | ||
+ | Then we check the mentioned algebraic and geometric of X as follows: | ||
+ | <pre> | ||
+ | -- Checking the Cayley-Bacharach property: | ||
+ | AGZD.CheckingCBPUsingCanModule(Ix); | ||
+ | true | ||
+ | -- Checking the locally Gorenstein property: | ||
+ | AGZD.CheckingGor(Ix); | ||
+ | true | ||
+ | -- Checking the arithmetically Gorenstein property: | ||
+ | AGZD.CheckingStrictGor(Ix); | ||
+ | true | ||
+ | -- Checking the Complete Intersection: | ||
+ | AGZD.CheckingSCIS(Ix); | ||
+ | true | ||
+ | AGZD.CheckingSCIS2(Ix); | ||
+ | true | ||
+ | </pre> | ||
− | + | Example 2: The 0-dimensional ideal I is given by its primary components. | |
<pre> | <pre> | ||
− | Use P ::= QQ[X[ | + | Use P ::= QQ[X[1..2]]; |
− | + | J1 := Ideal(X[1],X[2]); | |
+ | J2 := Ideal(X[1],X[2]^2+3); | ||
+ | J3 := Ideal(X[1]-1,X[2])^2; | ||
+ | Ly := [J1,J2,J3]; | ||
+ | Iy := IntersectionList(Ly); | ||
+ | Dim(P/Iy); | ||
+ | 0 | ||
</pre> | </pre> | ||
− | + | We check the property of X as follows: | |
<pre> | <pre> | ||
+ | -- Checking the Cayley-Bacharach property: | ||
+ | AGZD.CheckingCBP(Ly); | ||
+ | true | ||
+ | AGZD.CheckingCBPUsingCanModule(Iy); | ||
+ | true | ||
+ | -- Checking the locall Gorenstein property: | ||
+ | AGZD.CheckingGor(Iy); | ||
+ | false | ||
+ | </pre> | ||
+ | -- This also shows that the scheme does not have the arithmetically Gorenstein and complete intersection properties. | ||
+ | Example 3: The scheme X is a set of 10 projective points and we check the uniformity of X at some pairs (i,j): | ||
+ | <pre> | ||
+ | Use P ::= QQ[X[0..2]]; | ||
+ | Points := [[1,1,0], [1,3,0], [1,1,1], [1,2,1], [1,3,1], [1,0,2], [1,1,2], [1,2,2], [1,3,2], [1,3,3]]; | ||
+ | AGZD.IsUniformity(P,Points,1,2); | ||
+ | true | ||
+ | AGZD.IsUniformity(P,Points,2,2); | ||
+ | true | ||
+ | AGZD.IsUniformity(P,Points,3,2); | ||
+ | false | ||
+ | </pre> | ||
+ | Thus X is (i,j)-uniform for (i,j)=(1,2) or (2,2), but not (2,3)-uniform. | ||
[[Category:Package zerodim]] | [[Category:Package zerodim]] | ||
[[Category:Package alggeozd]] | [[Category:Package alggeozd]] | ||
+ | [[Category:Package borderbasis]] | ||
[[Category:ApCoCoA Packages]] | [[Category:ApCoCoA Packages]] |
Latest revision as of 23:20, 17 November 2022
This page describes the alggeozd
package. The package contains various functions for checking algebraic and geometric properties of zero-dimensional affine K-algebra/schemes and related computations. For a complete list of functions, see also Category:Package alggeozd.
Alg-Geo Properties
Let K be a field, let I be a 0-dimensional ideal in a polynomial ring P=K[x_1,...x_n], and let R=P/I and X=Spec(P/I). In this package, we checking some algebraic and geometric properties of the scheme X or of the affine K-algebra R such as: locally Gorenstein, strict/arithmetically Gorenstein, complete intersection, Cayley-Bacharach property, and (i,j)-uniformity.
Algebraic Properties
Suppose the support of X contains s points p_1,...,p_s. For i=1,...s, the local ring of X at p_i is of the form O_i=P/q_i where q_i is a primary ideal of P. Let m_i be the maximal ideal of O_i and K_i=O_i/m_i for i=1,...,s.
- The local ring O_i is called a Gorenstein ring if the K_i-vector space (0:m_i) has dimension 1.
- The scheme X (or the ring R) is called a locally Goreinstein ring if the local ring O_i is a Gorenstein ring for every i=1,...,s.
The associated graded ring of R with respect to the standard grading is denoted by gr(R). Then gr(R) is a 0-dimenisonal local ring.
- The scheme X (or the ring R) is called a strict/arithmetically Goreinstein ring if gr(R) is a Goresntein ring.
- The local ring O_i is called a complete intersection if the ideal q_i is generated by a regular sequence of length n in P.
- The scheme X (or the ring R) is called a locally complete intersection if the local ring O_i is a complete intersection for every i=1,...,s.
- The scheme X (or the ring R) is called a complete intersection if gr(R) is a complete intersection ring.
Geometric Properties
Now we consider X as a projective subscheme of the projective n-space under the embedding X into D_+(x_0). The homogeneous coordinate ring of X is R_X and its homogeneous vanishing ideal in S=K[x_0,...,x_n] is I_X. The Hilbert function of R_X is denoted by HF_X and its regularity index is r_X. The number d_X = dim_K(R) is known as the degree of X. Suppose that X has K-rational support, that is, the maximal ideal of each O_i is generated by only linear forms. Let i,j be two positive integers. Under this assumption, we have the following notion.
- The scheme X is called (i,j)-uniform if every subscheme Y of X of degree d_Y=d_X-1 satisfies HF_Y(j)=HF_X(j).
- The scheme X is said to have the Cayley-Bacharach property if it is (1,r_X-1)-uniform.
The Cayley-Bacharach property of X has a long and rich history and it can be generalized for an arbitrary 0-dimensional scheme X (see e.g. the paper [M. Kreuzer, L.N. Long, L. Robbiano, On the Cayley-Bacharach Property, Communications in Algebra 47 (2019), 328-354]).
Package Discription
The alggeozd
package provides functions for checking the introduced properties of zero-dimensional schemes. Alias of the package is AGZD
.
List of main functions
CheckingCBP(LX): checks the Cayley-Bacharach Property. input: LX=list of primary components of a 0-dim ideal Ix output: the corresponding boolean value for CBP
CheckingCBPUsingCanModule(Ix): checks the CBP using the canonical module. input: Ix=a 0-dim ideal in P=K[x[1..N]] output: the corresponding boolean value for CBP
CheckingGor(Ix): checks the locally Gorenstein property. input: Ix=a 0-dim ideal in K[x[1..N]] output: the corresponding boolean value for Gor-property
CheckingGorWithValues(Ix,Values): checks the loc. Gor. property. input: Ix=a 0-dim ideal in P=K[x[1..N]] Values=list of numbers with length Dim_K(P/Ix) output: the corresponding boolean value for Gor-property
CheckingStrictGor(Ix): checks the strict/arith. Gor. property. input: Ix=a 0-dim ideal in P=K[x[1..N]] term ordering on P is degree-compatible output: the corresponding boolean value
CheckingGorCBP(Ix): checks the CBP with local Gor. input: Ix=a 0-dim ideal in P=K[x[1..N]] output: the corresponding boolean value
CheckingGorCBPWithValues(Ix,Values): checks the CBP property with locally Gorenstein. input: Ix=a 0-dim ideal in P=K[x[1..N]] Values=list of numbers with length Delta output: the corresponding boolean value
CheckingSCIS(Ix): checks the strict comp. intersection property. input: Ix=a 0-dim ideal in P=K[x[1..N]] term ordering on P is degree-compatible output: the corresponding boolean value
CheckingSCIS2(Ix): checks the strict comp. intersection property. input: Ix=a 0-dim ideal in P=K[x[1..N]] term ordering on P is degree-compatible (using border) output: the corresponding boolean value
IsUniformity(P,Points,i,j): checks the (i,j)-uniform property. input: P=K[x[0..N]], Points=Set of projective points, pair (i,j) of non-negative integres output: the corresponding boolean value
Example for computations
Now let us apply the alggeozd
package to some concrete examples. Recall that the alias of the package is AGZD
, and so to call a function from this package in computation one uses ZD.functions-name.
Example 1:
Use P ::= QQ[X[1..2]]; Ix := ideal(-X[1]^2 +X[1], X[2]^3 -3*X[2]^2 +2*X[2]); Dim(P/Ix); 0
Then we check the mentioned algebraic and geometric of X as follows:
-- Checking the Cayley-Bacharach property: AGZD.CheckingCBPUsingCanModule(Ix); true -- Checking the locally Gorenstein property: AGZD.CheckingGor(Ix); true -- Checking the arithmetically Gorenstein property: AGZD.CheckingStrictGor(Ix); true -- Checking the Complete Intersection: AGZD.CheckingSCIS(Ix); true AGZD.CheckingSCIS2(Ix); true
Example 2: The 0-dimensional ideal I is given by its primary components.
Use P ::= QQ[X[1..2]]; J1 := Ideal(X[1],X[2]); J2 := Ideal(X[1],X[2]^2+3); J3 := Ideal(X[1]-1,X[2])^2; Ly := [J1,J2,J3]; Iy := IntersectionList(Ly); Dim(P/Iy); 0
We check the property of X as follows:
-- Checking the Cayley-Bacharach property: AGZD.CheckingCBP(Ly); true AGZD.CheckingCBPUsingCanModule(Iy); true -- Checking the locall Gorenstein property: AGZD.CheckingGor(Iy); false
-- This also shows that the scheme does not have the arithmetically Gorenstein and complete intersection properties.
Example 3: The scheme X is a set of 10 projective points and we check the uniformity of X at some pairs (i,j):
Use P ::= QQ[X[0..2]]; Points := [[1,1,0], [1,3,0], [1,1,1], [1,2,1], [1,3,1], [1,0,2], [1,1,2], [1,2,2], [1,3,2], [1,3,3]]; AGZD.IsUniformity(P,Points,1,2); true AGZD.IsUniformity(P,Points,2,2); true AGZD.IsUniformity(P,Points,3,2); false
Thus X is (i,j)-uniform for (i,j)=(1,2) or (2,2), but not (2,3)-uniform.