Difference between revisions of "Category:ApCoCoA-1:Package ZeroDim"
From ApCoCoAWiki
(9 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 33: | Line 33: | ||
</pre> | </pre> | ||
[[KaehlerDifferentialModulePP]] | [[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 40: | Line 40: | ||
</pre> | </pre> | ||
[[HilbertKDMPP]] | [[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 47: | Line 47: | ||
</pre> | </pre> | ||
[[HilbertKDMPP1]] | [[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 | ||
Line 53: | Line 53: | ||
</pre> | </pre> | ||
[[KaehlerDifferentialModuleRel]] | [[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 60: | Line 60: | ||
</pre> | </pre> | ||
[[HilbertKDMRel]] | [[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 67: | Line 67: | ||
</pre> | </pre> | ||
[[NoetherDifferent]] | [[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]]. | ||
Line 73: | Line 73: | ||
</pre> | </pre> | ||
[[NoetherDifferentRel]] | [[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). | ||
Line 79: | Line 79: | ||
</pre> | </pre> | ||
[[NoetherDifferentRel1]] | [[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). | ||
Line 85: | Line 85: | ||
</pre> | </pre> | ||
[[DedekindDifferentRel]] | [[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). | ||
Line 91: | Line 91: | ||
</pre> | </pre> | ||
[[HilbertNDDiff]] | [[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). | ||
Line 97: | Line 97: | ||
</pre> | </pre> | ||
[[KaehlerDifferentRel]] | [[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). | ||
Line 103: | Line 103: | ||
</pre> | </pre> | ||
[[FirstNonZeroKaehlerDifferent]] | [[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 110: | Line 110: | ||
</pre> | </pre> | ||
[[HilbertKDiff]] | [[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). | ||
Line 116: | Line 116: | ||
</pre> | </pre> | ||
[[HilbertFKDiff]] | [[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.