Category:ApCoCoA-1:Package ZeroDim

From ApCoCoAWiki


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.