Difference between revisions of "Category:ApCoCoA-1:Package ZeroDim"
From ApCoCoAWiki
Line 8: | Line 8: | ||
== List of main functions == | == List of main functions == | ||
+ | [[/CanonicalIdeal/]] | ||
<pre> | <pre> | ||
− | + | CanonicalIdeal(PP) computes a homogeneous system of generators of the canonical ideal corresponding | |
to the socle of the order ideal OI. | to the socle of the order ideal OI. | ||
Here OI is the order ideal of the homogeneous vanishing ideal of | Here OI is the order ideal of the homogeneous vanishing ideal of | ||
Line 15: | Line 16: | ||
input: PP = list of points as described above. | input: PP = list of points as described above. | ||
output: list of polynomials | output: list of polynomials | ||
+ | </pre> | ||
+ | [[/KaehlerDifferentialModule/]] | ||
+ | <pre> | ||
KaehlerDifferentialModule(I,M): computes a homogeneous system of a submodule | 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. | 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. | ||
Line 20: | Line 24: | ||
M = the number of form of Kaehler diffenrential module. | M = the number of form of Kaehler diffenrential module. | ||
output: list of lists (tuples). | output: list of lists (tuples). | ||
+ | </pre> | ||
+ | [[/HilbertKDM/]] | ||
+ | <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. | ||
input: I = list of a set of generators of a non-zero homogeneous ideal of P. | 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. | M = the number of the form of Kaehler diffenrential module. | ||
− | 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> | ||
+ | [[/KaehlerDifferentialModulePP/]] | ||
+ | <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 | ||
M = the number of the form of Kaehler diffenrential module. | M = the number of the form of Kaehler diffenrential module. | ||
ouput: list of lists (tuples). | ouput: list of lists (tuples). | ||
+ | </pre> | ||
+ | [[/HilbertKDMPP/]] | ||
+ | <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 | ||
M = the number of the form of Kaehler diffenrential module. | M = the number of the form of Kaehler diffenrential module. | ||
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> | ||
+ | [[/HilbertKDMPP1/]] | ||
+ | <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> | ||
+ | [[/KaehlerDifferentialModuleRel/]] | ||
+ | <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). | ||
M = the number of the form of Kaehler diffenrential module. | M = the number of the form of Kaehler diffenrential module. | ||
ouput: list of lists (tuples). | ouput: list of lists (tuples). | ||
+ | </pre> | ||
+ | [[/HilbertKDMRel/]] | ||
+ | <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), | ||
M = the number of the form of Kaehler diffenrential module. | M = the number of the form of Kaehler diffenrential module. | ||
− | 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> | ||
+ | [[/NoetherDifferent/]] | ||
+ | <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> | ||
+ | [[/NoetherDifferentRel/]] | ||
+ | <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> | ||
+ | [[/NoetherDifferentRel1/]] | ||
+ | <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> | ||
+ | [[/DedekindDifferentRel/]] | ||
+ | <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> | ||
+ | [[/HilbertNDDiff/]] | ||
+ | <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> | ||
+ | [[/KaehlerDifferentRel/]] | ||
+ | <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> | ||
+ | [[/FirstNonZeroKaehlerDifferent/]] | ||
+ | <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). | ||
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> | ||
+ | [[/HilbertKDiff/]] | ||
+ | <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> | ||
+ | [[/HilbertFKDiff/]] | ||
+ | <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). |
Revision as of 23:05, 17 November 2022
This package contains some functions for zero-dimensional scheme related computations.
Predefined alias for this package: Alias ZD := $apcocoa/ZeroDim
In this package, we do computations in a polynomial ring P=K[x[0..n]], where x[0],...,x[n] are indeterminates, K is a 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/
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/
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.