Difference between revisions of "Category:ApCoCoA-1:Package ZeroDim"
From ApCoCoAWiki
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | This package contains some functions in <code>ApCoCoA-1</code> for zero-dimensional schemes and related computations. | ||
+ | Predefined alias for this package: | ||
+ | <par//> | ||
+ | <code>Alias ZD := $apcocoa/ZeroDim </code> | ||
− | + | Basically, we do computations in a polynomial ring P=K[x_0,...,x_n], where x_0,...,x_n are indeterminates, K is a computable field such as the field of rational numbers QQ, or the finite field ZZ/(p) where p is a prime. | |
− | |||
− | |||
− | |||
− | |||
== List of main functions == | == List of main functions == | ||
Line 17: | Line 17: | ||
output: list of polynomials | output: list of polynomials | ||
</pre> | </pre> | ||
− | [[ | + | [[KaehlerDifferentialModule]] |
<pre> | <pre> | ||
KaehlerDifferentialModule(I,M): computes a homogeneous system of a submodule | KaehlerDifferentialModule(I,M): computes a homogeneous system of a submodule | ||
Line 25: | Line 25: | ||
output: list of lists (tuples). | output: list of lists (tuples). | ||
</pre> | </pre> | ||
− | [[ | + | [[HilbertKDM]] |
<pre> | <pre> | ||
HilbertKDM(I,M): computes the Hilbert function of the Kaehler differential module of R/K. | HilbertKDM(I,M): computes the Hilbert function of the Kaehler differential module of R/K. | ||
Line 32: | Line 32: | ||
ouput: the values of the Hilbert function of \Omega^M(R/K). | ouput: the values of the Hilbert function of \Omega^M(R/K). | ||
</pre> | </pre> | ||
− | [[ | + | [[KaehlerDifferentialModulePP]] |
− | <pre> | + | <pre> |
KaehlerDifferentialModulePP(PP,M): computes a homogeneous system of a submodule U of P^{C^M_N} such that \Omega^M(R/K)=P^{C^M_N}/U. | KaehlerDifferentialModulePP(PP,M): computes a homogeneous system of a submodule U of P^{C^M_N} such that \Omega^M(R/K)=P^{C^M_N}/U. | ||
input: PP = list of points in P^n_K | input: PP = list of points in P^n_K | ||
Line 39: | Line 39: | ||
ouput: list of lists (tuples). | ouput: list of lists (tuples). | ||
</pre> | </pre> | ||
− | [[ | + | [[HilbertKDMPP]] |
− | <pre> | + | <pre> |
HilbertKDMPP(PP,M): computes the Hilbert function of the Kaehler differential module of R/K. | HilbertKDMPP(PP,M): computes the Hilbert function of the Kaehler differential module of R/K. | ||
input: PP = list of points in P^n_K | input: PP = list of points in P^n_K | ||
Line 46: | Line 46: | ||
ouput: the values of the Hilbert function of \Omega^M(R/K). | ouput: the values of the Hilbert function of \Omega^M(R/K). | ||
</pre> | </pre> | ||
− | [[ | + | [[HilbertKDMPP1]] |
− | <pre> | + | <pre> |
HilbertKDMPP1(PP): computes the Hilbert function of the Kaehler differential module of n+1 form of R/K. | HilbertKDMPP1(PP): computes the Hilbert function of the Kaehler differential module of n+1 form of R/K. | ||
input: PP = list of points in P^n_K | input: PP = list of points in P^n_K | ||
ouput: the values of the Hilbert function of \Omega^(n+1)(R/K). | ouput: the values of the Hilbert function of \Omega^(n+1)(R/K). | ||
</pre> | </pre> | ||
− | [[ | + | [[KaehlerDifferentialModuleRel]] |
− | <pre> | + | <pre> |
KaehlerDifferentialModuleRel(PP,M): computes a submodule U1 of P^{C^M_N} such that \Omega^M(R/K[x_0])=P^{C^M_N}/U1 | KaehlerDifferentialModuleRel(PP,M): computes a submodule U1 of P^{C^M_N} such that \Omega^M(R/K[x_0])=P^{C^M_N}/U1 | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0). | input: PP = list of points in P^n_K which does not intersect Z(x_0). | ||
Line 59: | Line 59: | ||
ouput: list of lists (tuples). | ouput: list of lists (tuples). | ||
</pre> | </pre> | ||
− | [[ | + | [[HilbertKDMRel]] |
− | <pre> | + | <pre> |
HilbertKDMRel(PP,M): computes the Hilbert function of the Kaehler differential module of R/K[x_0]. | HilbertKDMRel(PP,M): computes the Hilbert function of the Kaehler differential module of R/K[x_0]. | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0), | input: PP = list of points in P^n_K which does not intersect Z(x_0), | ||
Line 66: | Line 66: | ||
ouput: the values of the Hilbert function of \Omega^M(R/K[x_0]). | ouput: the values of the Hilbert function of \Omega^M(R/K[x_0]). | ||
</pre> | </pre> | ||
− | [[ | + | [[NoetherDifferent]] |
− | <pre> | + | <pre> |
NoetherDifferent(PI): computes a minimal homogeneous system of generators of the Noether different V_N(R/K). | NoetherDifferent(PI): computes a minimal homogeneous system of generators of the Noether different V_N(R/K). | ||
input: PI is a homogeneous ideal in the polynomial ring K[x[0...n]]. | input: PI is a homogeneous ideal in the polynomial ring K[x[0...n]]. | ||
output: list of polynomials. | output: list of polynomials. | ||
</pre> | </pre> | ||
− | [[ | + | [[NoetherDifferentRel]] |
− | <pre> | + | <pre> |
NoetherDifferentRel(PP): computes a minimal homogeneous system of generators of the Noether different V_N(R/K[x_0]). | NoetherDifferentRel(PP): computes a minimal homogeneous system of generators of the Noether different V_N(R/K[x_0]). | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0). | input: PP = list of points in P^n_K which does not intersect Z(x_0). | ||
output: list of polynomials. | output: list of polynomials. | ||
</pre> | </pre> | ||
− | [[ | + | [[NoetherDifferentRel1]] |
− | <pre> | + | <pre> |
NoetherDifferentRel1(IP): computes a minimal homogeneous system of generators of the Noether different V_N(R/K[x_0]). | NoetherDifferentRel1(IP): computes a minimal homogeneous system of generators of the Noether different V_N(R/K[x_0]). | ||
input: IP = the homogeneous saturated ideal of a 0-dimensional subscheme of P^n_K which does not intersect Z(x_0). | input: IP = the homogeneous saturated ideal of a 0-dimensional subscheme of P^n_K which does not intersect Z(x_0). | ||
output: list of polynomials. | output: list of polynomials. | ||
</pre> | </pre> | ||
− | [[ | + | [[DedekindDifferentRel]] |
− | <pre> | + | <pre> |
DedekindDifferentRel(PP): computes a minimal homogeneous system of generators of the Dedekind different V_D(R/K[x_0]). | DedekindDifferentRel(PP): computes a minimal homogeneous system of generators of the Dedekind different V_D(R/K[x_0]). | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0). | input: PP = list of points in P^n_K which does not intersect Z(x_0). | ||
output: list of polynomials. | output: list of polynomials. | ||
</pre> | </pre> | ||
− | [[ | + | [[HilbertNDDiff]] |
− | <pre> | + | <pre> |
HilbertNDDiff(PP): computes the Hilbert function of the Dedekind different. | HilbertNDDiff(PP): computes the Hilbert function of the Dedekind different. | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0). | input: PP = list of points in P^n_K which does not intersect Z(x_0). | ||
output: the values of the Hilbert function of V_D(R/K[x_0]). | output: the values of the Hilbert function of V_D(R/K[x_0]). | ||
</pre> | </pre> | ||
− | [[ | + | [[KaehlerDifferentRel]] |
− | <pre> | + | <pre> |
KaehlerDifferentRel(PP): computes a minimal homogeneous system of generators of the Kaehler different V_K(R/K[x_0]). | KaehlerDifferentRel(PP): computes a minimal homogeneous system of generators of the Kaehler different V_K(R/K[x_0]). | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0). | input: PP = list of points in P^n_K which does not intersect Z(x_0). | ||
output: list of polynomials. | output: list of polynomials. | ||
</pre> | </pre> | ||
− | [[ | + | [[FirstNonZeroKaehlerDifferent]] |
− | <pre> | + | <pre> |
FirstNonZeroKaehlerDifferent(PP): computes a minimal homogeneous system of generators | FirstNonZeroKaehlerDifferent(PP): computes a minimal homogeneous system of generators | ||
of the first non-zero Kaehler different V^(1)(R/K). | of the first non-zero Kaehler different V^(1)(R/K). | ||
Line 109: | Line 109: | ||
output: list of polynomials. | output: list of polynomials. | ||
</pre> | </pre> | ||
− | [[ | + | [[HilbertKDiff]] |
− | <pre> | + | <pre> |
HilbertKDiff(PP): computes the Hilbert function of the Kaehler different. | HilbertKDiff(PP): computes the Hilbert function of the Kaehler different. | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0). | input: PP = list of points in P^n_K which does not intersect Z(x_0). | ||
output: the values of the Hilbert function of V_K(R/K[x_0]). | output: the values of the Hilbert function of V_K(R/K[x_0]). | ||
</pre> | </pre> | ||
− | [[ | + | [[HilbertFKDiff]] |
− | <pre> | + | <pre> |
HilbertFKDiff(PP): computes the Hilbert function of the first non-zero Kaehler different V^(1)(R/K[x_0]). | HilbertFKDiff(PP): computes the Hilbert function of the first non-zero Kaehler different V^(1)(R/K[x_0]). | ||
input: PP = list of points in P^n_K which does not intersect Z(x_0). | input: PP = list of points in P^n_K which does not intersect Z(x_0). | ||
Line 156: | Line 156: | ||
H(t)=5 for t >= 4 | H(t)=5 for t >= 4 | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | [[Category:Package zerodim]] | ||
+ | [[Category:Package alggeozd]] | ||
+ | [[Category:ApCoCoA-1:Packages ZeroDim]] |
Latest revision as of 01:23, 18 November 2022
This package contains some functions in ApCoCoA-1
for zero-dimensional schemes and related computations.
Predefined alias for this package:
Alias ZD := $apcocoa/ZeroDim
Basically, we do computations in a polynomial ring P=K[x_0,...,x_n], where x_0,...,x_n are indeterminates, K is a computable field such as the field of rational numbers QQ, or the finite field ZZ/(p) where p is a prime.
List of main functions
CanonicalIdeal(PP) computes a homogeneous system of generators of the canonical ideal corresponding to the socle of the order ideal OI. Here OI is the order ideal of the homogeneous vanishing ideal of a set of points in P^n_K which does not intersect Z(x_0). input: PP = list of points as described above. output: list of polynomials
KaehlerDifferentialModule(I,M): computes a homogeneous system of a submodule U of P^{C^M_N} such that \Omega^M(R/K)=P^{C^M_N}/U, where N=n+1, C^M_N=N!/(M!(N-M)!), R:=P/I. input: I = list of a set of generators of a non-zero homogeneous ideal of P, M = the number of form of Kaehler diffenrential module. output: list of lists (tuples).
HilbertKDM(I,M): computes the Hilbert function of the Kaehler differential module of R/K. input: I = list of a set of generators of a non-zero homogeneous ideal of P. M = the number of the form of Kaehler diffenrential module. ouput: the values of the Hilbert function of \Omega^M(R/K).
KaehlerDifferentialModulePP(PP,M): computes a homogeneous system of a submodule U of P^{C^M_N} such that \Omega^M(R/K)=P^{C^M_N}/U. input: PP = list of points in P^n_K M = the number of the form of Kaehler diffenrential module. ouput: list of lists (tuples).
HilbertKDMPP(PP,M): computes the Hilbert function of the Kaehler differential module of R/K. input: PP = list of points in P^n_K M = the number of the form of Kaehler diffenrential module. ouput: the values of the Hilbert function of \Omega^M(R/K).
HilbertKDMPP1(PP): computes the Hilbert function of the Kaehler differential module of n+1 form of R/K. input: PP = list of points in P^n_K ouput: the values of the Hilbert function of \Omega^(n+1)(R/K).
KaehlerDifferentialModuleRel(PP,M): computes a submodule U1 of P^{C^M_N} such that \Omega^M(R/K[x_0])=P^{C^M_N}/U1 input: PP = list of points in P^n_K which does not intersect Z(x_0). M = the number of the form of Kaehler diffenrential module. ouput: list of lists (tuples).
HilbertKDMRel(PP,M): computes the Hilbert function of the Kaehler differential module of R/K[x_0]. input: PP = list of points in P^n_K which does not intersect Z(x_0), M = the number of the form of Kaehler diffenrential module. ouput: the values of the Hilbert function of \Omega^M(R/K[x_0]).
NoetherDifferent(PI): computes a minimal homogeneous system of generators of the Noether different V_N(R/K). input: PI is a homogeneous ideal in the polynomial ring K[x[0...n]]. output: list of polynomials.
NoetherDifferentRel(PP): computes a minimal homogeneous system of generators of the Noether different V_N(R/K[x_0]). input: PP = list of points in P^n_K which does not intersect Z(x_0). output: list of polynomials.
NoetherDifferentRel1(IP): computes a minimal homogeneous system of generators of the Noether different V_N(R/K[x_0]). input: IP = the homogeneous saturated ideal of a 0-dimensional subscheme of P^n_K which does not intersect Z(x_0). output: list of polynomials.
DedekindDifferentRel(PP): computes a minimal homogeneous system of generators of the Dedekind different V_D(R/K[x_0]). input: PP = list of points in P^n_K which does not intersect Z(x_0). output: list of polynomials.
HilbertNDDiff(PP): computes the Hilbert function of the Dedekind different. input: PP = list of points in P^n_K which does not intersect Z(x_0). output: the values of the Hilbert function of V_D(R/K[x_0]).
KaehlerDifferentRel(PP): computes a minimal homogeneous system of generators of the Kaehler different V_K(R/K[x_0]). input: PP = list of points in P^n_K which does not intersect Z(x_0). output: list of polynomials.
FirstNonZeroKaehlerDifferent(PP): computes a minimal homogeneous system of generators of the first non-zero Kaehler different V^(1)(R/K). input: PP = list of points in P^n_K which does not intersect Z(x_0). output: list of polynomials.
HilbertKDiff(PP): computes the Hilbert function of the Kaehler different. input: PP = list of points in P^n_K which does not intersect Z(x_0). output: the values of the Hilbert function of V_K(R/K[x_0]).
HilbertFKDiff(PP): computes the Hilbert function of the first non-zero Kaehler different V^(1)(R/K[x_0]). input: PP = list of points in P^n_K which does not intersect Z(x_0). output: the values of the Hilbert function of V^(1)(R/K[x_0]).
Example for Computations
Use R::=QQ[x[0..3]]; PP:=[[1,0,0,0],[1,1,0,0], [1,0,1,0],[1,0,0,1],[1,1,1,0]]; ZD.CanonicalIdeal(PP); Result: [-x[0]^3 + x[0]^2x[1] + x[0]^2x[2] - x[0]x[1]x[2] + 2x[0]^2x[3], x[0]^2 - 2x[0]x[1] - 2x[0]x[2] + 4x[1]x[2] - x[0]x[3]] ZD.KaehlerDifferentialModulePP(PP,1); Result: Module([[0, 0, x[3], x[2]], [0, x[3], 0, x[1]], [x[3], 0, 0, x[0] - 2x[3]], [x[2], 0, x[0] - 2x[2], 0], [x[1], x[0] - 2x[1], 0, 0], [0, 2x[1]x[2] - x[2]^2, x[1]^2 - 2x[1]x[2], 0], [x[2]x[3], 0, 0, 0], [x[1]x[3], 0, 0, 0], [x[0]x[3] - x[3]^2, 0, 0, 0], [x[0]x[2] - x[2]^2, 0, 0, 0], [x[0]x[1] - x[1]^2, 0, 0, 0], [x[1]^2x[2] - x[1]x[2]^2, 0, 0, 0], [0, x[2]x[3], 0, 0], [0, x[1]x[3], 0, 0], [0, x[0]x[3] - x[3]^2, 0, 0], [0, x[0]x[2] - x[2]^2, 0, 0], [0, x[0]x[1] - x[1]^2, 0, 0], [0, x[1]^2x[2] - x[1]x[2]^2, 0, 0], [0, 0, x[2]x[3], 0], [0, 0, x[1]x[3], 0], [0, 0, x[0]x[3] - x[3]^2, 0], [0, 0, x[0]x[2] - x[2]^2, 0], [0, 0, x[0]x[1] - x[1]^2, 0], [0, 0, x[1]^2x[2] - x[1]x[2]^2, 0], [0, 0, 0, x[2]x[3]], [0, 0, 0, x[1]x[3]], [0, 0, 0, x[0]x[3] - x[3]^2], [0, 0, 0, x[0]x[2] - x[2]^2], [0, 0, 0, x[0]x[1] - x[1]^2], [0, 0, 0, x[1]^2x[2] - x[1]x[2]^2]]) ZD.HilbertKDMPP(PP,1); Result: H(0) = 4 H(1) = 11 H(2) = 7 H(t) = 5 for t >= 3 ZD.NoetherDifferentRel(PP); Result: [x[3]^2, x[1]x[2]^2 - 1/2x[2]^3, x[1]^3 - x[2]^3, x[0]^3 - 2x[2]^3] ZD.HilbertNDDiff(PP); Result: H(0)=0 H(1)=0 H(2)=1 H(3)=4 H(t)=5 for t >= 4
This category currently contains no pages or media.