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.  
This package contains some functions for zero-dimensional scheme related computations.
 
Predefined alias for this package: <code>Alias ZD := $apcocoa/ZeroDim </code>
 
 
 
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 ==
 
== 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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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

    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.