Difference between revisions of "Category:ApCoCoA-1:Package ZeroDim"

From ApCoCoAWiki
 
(13 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 ==
  
 +
[[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).
Line 107: 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.