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  
+
    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/

    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.