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].
The functions in this section all use the singular package to call functions from Singular [DGPS24] for commutative algebra calculations.
‣ 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>
‣ 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 ] ]
‣ 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]
‣ 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 ]
‣ 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
‣ 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
‣ 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
‣ 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
‣ 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
generated by GAPDoc2HTML