Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

5 Free arrangements
 5.1 Module of logarithmic vector fields aka derivation modules of arrangements
 5.2 Freeness properties

5 Free arrangements

The following describes functions to analyse freeness properties of arrangements such as inductive freeness due to H. Terao [Ter80] and divisionell freeness due to T. Abe [Abe16].

5.1 Module of logarithmic vector fields aka derivation modules of arrangements

The functions in this section all use the singular package to call functions from Singular [DGPS24] for commutative algebra calculations.

5.1-1 DerModule
‣ DerModule( A[, mult] )( operation )

Returns: Derivation module

Computes the (multi) derivation module of the arrangement A (with multiplicities given as a list by mult).

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> D:=DerModule(A);
<Derivation module
  over PolynomialRing( Rationals, ["x_1", "x_2", "x_3"] )
  with 4 generators>
gap> D:=DerModule(A,[2,1,3,4]);
<Derivation module
  over PolynomialRing( Rationals, ["x_1", "x_2", "x_3"] )
  with 4 generators>

5.1-2 DerModGenerators
‣ DerModGenerators( D )( attribute )

Returns: list

Returns the (minimal) generators of the module D.

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> D:=DerModule(A);
<Derivation module
  over PolynomialRing( Rationals, ["x_1", "x_2", "x_3"] )
  with 4 generators>
gap> DerModGenerators(D);
[ [ x_1, x_2, x_3 ], 
  [ 0, -x_2*x_3, x_2*x_3 ], 
  [ 0, x_2*x_3, x_1*x_3+x_3^2 ], 
  [ 0, x_1*x_2+x_2^2+x_2*x_3, 0 ] ]

5.1-3 DerModPRing
‣ DerModPRing( D )( attribute )

Returns: Polynomial ring

Returns the defining polynomial ring of D.

gap> D:=DerModule(AGpql(3,3,2)); DerModPRing(D);
<field in characteristic 0>[x_1,x_2]

5.1-4 DerModDegreeSequence
‣ DerModDegreeSequence( D )( attribute )

Returns: list

Returns the sequence of degrees of (minimal) generators of the graded module D.

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,0],[1,1,1]]);
<HyperplaneArrangement: 5 hyperplanes in 3-space>
gap> DerModDegreeSequence(DerModule(A));
[ 1, 2, 2 ]

5.1-5 DerModProjDim
‣ DerModProjDim( D )( attribute )

Returns: A non-negative integer

Computes the projective dimension of the module D.

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> D:=DerModule(A);
<Derivation module
  over PolynomialRing( Rationals, ["x_1", "x_2", "x_3"] )
  with 4 generators>
gap> DerModProjDim(D);
1

5.1-6 DerModIsFree
‣ DerModIsFree( D )( attribute )

Returns: true or false

Determines, if D is a free module over DerModPRing(D).

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,0],[1,1,1]]);
<HyperplaneArrangement: 5 hyperplanes in 3-space>
gap> D:=DerModule(A); DerModIsFree(D);
true
gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> D:=DerModule(A); DerModIsFree(D);
false

5.1-7 HArrIsFree
‣ HArrIsFree( A )( attribute )

Returns: true or false

Determines, if A is free, i.e. if the derivation module is a free module over the coordinate ring of the ambient space.

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,0],[1,1,1]]);
<HyperplaneArrangement: 5 hyperplanes in 3-space>
gap> HArrIsFree(A);
true
gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> HArrIsFree(A);
false

5.2 Freeness properties

5.2-1 IsInductivelyFree
‣ IsInductivelyFree( A )( property )

Returns: true or false.

Determines whether the arrangement A is inductively free.

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,0],[1,1,1]]);
<HyperplaneArrangement: 5 hyperplanes in 3-space>
gap> IsInductivelyFree(A);
true

5.2-2 IsDivisionallyFree
‣ IsDivisionallyFree( A )( property )

Returns: true or false.

Determines whether the arrangement A is divisionally free.

gap> A:=HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,0],[1,1,1]]);
<HyperplaneArrangement: 5 hyperplanes in 3-space>
gap> IsDivisionallyFree(A);
true
gap> A:=AGpql(3,3,3);
<HyperplaneArrangement: 9 hyperplanes in 3-space>
gap> IsDivisionallyFree(A);
false
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Bib Ind

generated by GAPDoc2HTML