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

2 Hyperplane arrangements
 2.1 Construction of arrangements of hyperplanes
 2.2 Attributes of arrangements
 2.3 Properties of arrangements
 2.4 Attributes of geometric lattices
 2.5 Properties of geometric lattices
 2.6 Operations

2 Hyperplane arrangements

Let \(\mathbb{K}\) be a field. A hyperplane arrangment is a finite set \(\mathcal{A} = \{H_1,\ldots,H_n\}\) of hyperplanes in a finite dimensional \(\mathbb{K}\)-vector space \(V\).

2.1 Construction of arrangements of hyperplanes

2.1-1 HyperplaneArrangement
‣ HyperplaneArrangement( R )( operation )

Returns: A hyperplane arrangement

Constructs a hyperplane arrangement from a list R of vectors representing defining linear forms of hyperplanes.

Each vector \([a_1,\dots,a_\ell]\) in R corresponds to the hyperplane

\[ a_1 x_1 + \cdots + a_\ell x_\ell = 0. \]

The vectors must lie in the same vector space.

Linearly dependent defining forms are removed automatically.

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

2.2 Attributes of arrangements

2.2-1 Dimension
‣ Dimension( A )( attribute )

Returns: A non-negative integer.

Returns the dimension of the ambient vector space in which the hyperplane arrangement A is defined.

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

2.2-2 Roots
‣ Roots( A )( attribute )

Returns: A list of vectors.

Returns the list of vectors giving defining linear forms (also called roots) of the hyperplanes in the arrangement A.

gap> A:=AGpql(3,3,2); Roots(A);
<HyperplaneArrangement: 3 hyperplanes in 2-space>
[ [ 1, -E(3) ], [ 1, -E(3)^2 ], [ 1, -1 ] ]

2.2-3 HArrDefField
‣ HArrDefField( A )( attribute )

Returns: A field

Returns the field of definition of A. For further compuations, in characterisic \(0\) only cyclotomic fields are considered.

gap> A:=HyperplaneArrangement(Z(3)^0*[[1,0],[0,1],[1,1]]); HArrDefField(A);
<HyperplaneArrangement: 3 hyperplanes in 2-space>
GF(3)
gap> A:=AGpql(5,5,2); HArrDefField(A);
<HyperplaneArrangement: 5 hyperplanes in 2-space>
CF(5)

2.2-4 IntersectionLattice
‣ IntersectionLattice( A )( attribute )

Returns: An object of type IsGeomLattice.

Computes the intersection lattice of the hyperplane arrangement A.

The ground set L (see LGroundSet (2.4-1)) of the lattice is represented level-by-level. The entry L[k] contains all intersections of rank \(k\).

Each lattice element is stored as a list of indices referring to hyperplanes in Roots(A).

For example, the list [1,3] represents the intersection of the first and third hyperplane of the arrangement.

gap> A := HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,0],[1,1,1]]);
<HyperplaneArrangement: 3 hyperplanes in 3-space>
gap> L:=IntersectionLattice(A); LGroundSet(L);
<Geometric lattice: 3 atoms, rank 3>
[ [ [ 1 ], [ 2 ], [ 3 ] ], 
  [ [ 1, 2 ], [ 1, 3 ], [ 2, 3 ] ], 
  [ [ 1, 2, 3 ] ] ]

2.2-5 CharPoly
‣ CharPoly( A )( attribute )

Returns: a univariate polynomial with integral coefficients.

Returns \(\chi_{\mathcal{A}}\) the characterisitc polynomial of the arrangement A.

gap> A:=AGpql(2,2,3);
<HyperplaneArrangement: 6 hyperplanes in 3-space>
gap> CharPoly(A);
t^3-6*t^2+11*t-6

2.2-6 ExpArr
‣ ExpArr( A )( attribute )

Returns: a list of integers, or fail

Returns exponents of the arrangement \(\mathcal{A}\) if the characteristic polynomial factors over the integers.

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

2.2-7 MSetInvL
‣ MSetInvL( A )( attribute )

Returns: An object of type IsGeomLattice.

Computes multiset invariants of the intersection lattice (see IntersectionLattice (2.2-4)) of the hyperplane arrangement A.

For each level of the lattice, the function records how many intersections occur with a given number of defining hyperplanes.

gap> A:=HyperplaneArrangement([[1,0,0,],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> MSetInvL(A);
[ [ [ 1, 4 ] ], [ [ 2, 6 ] ], [ [ 4, 1 ] ] ]

2.3 Properties of arrangements

2.3-1 IsReal
‣ IsReal( A )( property )

Returns: true or false.

Determines, if the hyperplane arrangement is defined over the reals, i.e., if the entries of the defining linear forms are real.

2.3-2 HArrIsIrreducible
‣ HArrIsIrreducible( A )( property )

Returns: true or false.

Determines, if the hyperplane arrangement is irreducible.

2.3-3 HArrIsGeneric
‣ HArrIsGeneric( A )( property )

Returns: true or false.

Determines, if the hyperplane arrangement is generic. See also LIsGeneric (2.5-3).

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> HArrIsGeneric(A);
false
gap> A := HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> HArrIsGeneric(A);
true

2.4 Attributes of geometric lattices

2.4-1 LGroundSet
‣ LGroundSet( L )( attribute )

Returns: list of lists

Returns the ground set of the geometric lattice L.

2.4-2 LAtoms
‣ LAtoms( L )( attribute )

Returns: list

Returns the set of atoms of L.

2.4-3 LRank
‣ LRank( L )( attribute )

Returns: a non-negative integer

Returns the rank of L.

2.4-4 LkFlats
‣ LkFlats( L )( attribute )

Returns: a function

Returns a function extracting the flats of rank \(k\) in L.

2.4-5 LRankFunction
‣ LRankFunction( L )( attribute )

Returns: A function

Returns the rank function of the geometric lattice L.

2.4-6 LGraph
‣ LGraph( L )( attribute )

Returns: a graph

Constructs the directed graph of the Hasse diagram of L.

2.4-7 LAutGroup
‣ LAutGroup( L )( attribute )

Returns: a group

Computes the autmorphism group of L as a subgroup of Sym(LAtoms(L)).

2.4-8 LMoebius
‣ LMoebius( L )( attribute )

Returns: function

Returns the Moebius function of L.

2.4-9 LCharPoly
‣ LCharPoly( L )( attribute )

Returns: function

Computes the characteristic polynomial of L.

2.4-10 LBases
‣ LBases( L )( attribute )

Returns: list of bases

Determines the subsets of LAtoms(L) which are bases.


2.5 Properties of geometric lattices

2.5-1 LIsIrreducible
‣ LIsIrreducible( L )( property )

Returns: true or false.

Determines, if L is irreducible.

2.5-2 LIsBoolean
‣ LIsBoolean( L )( property )

Returns: true or false.

Determines, if L is a boolean lattice.

gap> L:=IntersectionLattice(HyperplaneArrangement([[1,0],[1,1]]));
<Geometric lattice: 2 atoms, rank 2>
gap> LIsBoolean(L);
true
gap> L:=IntersectionLattice(HyperplaneArrangement([[1,0],[0,1],[1,1]]));
<Geometric lattice: 3 atoms, rank 2>
gap> LIsBoolean(L);
false

2.5-3 LIsGeneric
‣ LIsGeneric( L )( property )

Returns: true or false.

Determines, if L is generic, i.e. if L is irreducible and all proper intervals are boolean.

gap> A := HyperplaneArrangement([[1,0,0],[0,1,0],[0,0,1],[1,1,1]]);
<HyperplaneArrangement: 4 hyperplanes in 3-space>
gap> L:=IntersectionLattice(A);
<Geometric lattice: 4 atoms, rank 3>
gap> LIsGeneric(L);
true
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> L:=IntersectionLattice(A);
<Geometric lattice: 5 atoms, rank 3>
gap> LIsGeneric(L);
false

2.6 Operations

2.6-1 LIsIsomorphic
‣ LIsIsomorphic( LA, LB )( operation )

Returns: true or false

Determines if the geometric lattices LA and LB are isomorphic.

gap> A:=HyperplaneArrangement([[1,0],[0,1],[1,1]]); B:=HyperplaneArrangement([[1,0],[1,1],[1,2]]);
<HyperplaneArrangement: 3 hyperplanes in 2-space>
<HyperplaneArrangement: 3 hyperplanes in 2-space>
gap> LA:=IntersectionLattice(A); LB:=IntersectionLattice(B);
<Geometric lattice: 3 atoms, rank 2>
<Geometric lattice: 3 atoms, rank 2>
gap> LIsIsomorphic(LA,LB);
true

2.6-2 IsLEquiv
‣ IsLEquiv( A, B )( operation )

Returns: true or false

Determines if the arrangements A and B have isomorphic intersection lattices.

gap> A:=HyperplaneArrangement(([[1,0,0],[0,1,0],[0,0,1],[1,1,0],[0,1,1],[1,1,3]]);
<HyperplaneArrangement: 6 hyperplanes in 3-space>
gap> B:=AGpql(2,2,3);
<HyperplaneArrangement: 6 hyperplanes in 3-space>
gap> IsLEquiv(A,B);
false
gap> A:=HyperplaneArrangement(([[1,0,0],[0,1,0],[0,0,1],[1,1,0],[0,1,1],[1,1,1]]);
<HyperplaneArrangement: 6 hyperplanes in 3-space>
gap> IsLEquiv(A,B);
true

2.6-3 Essentialization
‣ Essentialization( A )( operation )

Returns: A hyperplane arrangement.

Computes the essentialization of the hyperplane arrangement A. An arrangement is called essential if the intersection of all its hyperplanes is the origin. If this is not the case, the function restricts the arrangement to a complementary subspace so that the resulting arrangement becomes essential.

gap> A:=HyperplaneArrangement(([[1,0,0],[0,1,0],[1,1,0]]);
<HyperplaneArrangement: 3 hyperplanes in 3-space>
gap> B:=Essentialization(A); Roots(B);
<HyperplaneArrangement: 3 hyperplanes in 2-space>
[ [ 1, 0 ], [ 0, 1 ], [ 1, 1 ] ]

2.6-4 HArrRestriction
‣ HArrRestriction( A, i )( operation )

Returns: A hyperplane arrangement.

Computes the restriction of the arrangement A to the i-th hyperplane of Roots(A).

2.6-5 HArrRestriction
‣ HArrRestriction( A, S )( operation )

Returns: A hyperplane arrangement.

Computes the restriction of the arrangement A to the subspace orthogonal to the vectors in S.

2.6-6 HArrAddition
‣ HArrAddition( A, h )( operation )

Returns: A hyperplane arrangement.

Computes the addition of the arrangement A with respect to hyperplane h.

2.6-7 HArrDeletion
‣ HArrDeletion( A, i )( operation )

Returns: A hyperplane arrangement.

Computes the deletion of the arrangement A with respect to i-th hyperplane of Roots(A).

 [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