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

6 Further properties of arrangements, geometric lattices, and oriented matroids
 6.1 Supersolvable arrangements
 6.2 Formal arrangements
 6.3 Simplicial arrangements
 6.4 Falk's weight test
 6.5 Factored arrangements

6 Further properties of arrangements, geometric lattices, and oriented matroids

The following describes functions to analyse further properties of arrangements such as formality, supersolvability, simpliciality, factoredness, inductive factoredness ...

6.1 Supersolvable arrangements

6.1-1 LIsModularPair
‣ LIsModularPair( L, m1, m2 )( operation )

Returns: true or false

Determines if m1 and m2 form a modular pair in L.

gap> A:=AGpql(2,2,3);
<HyperplaneArrangement: 6 hyperplanes in 3-space>
gap> L:=IntersectionLattice(A);
<Geometric lattice: 6 atoms, rank 3>
gap> LGroundSet(L);
[ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ] ], 
 [ [ 1, 2 ], [ 1, 3, 6 ], [ 2, 3, 5 ], [ 1, 4, 5 ], 
   [ 2, 4, 6 ], [ 3, 4 ], [ 5, 6 ] ], 
  [ [ 1, 2, 3, 4, 5, 6 ] ] ]
gap> m1:=[1,2]; m2:= [5,6]; LIsModularPair(L,m1,m2);
false
gap> m1:=[1,2]; m2:= [2,4,6]; LIsModularPair(L,m1,m2);
true

6.1-2 LIsModularFlat
‣ LIsModularFlat( L, m )( operation )

Returns: true or false

Determines if m is a modular flat in L.

gap> A:=AGpql(2,2,3); L:=IntersectionLattice(A); LGroundSet(L);
<HyperplaneArrangement: 6 hyperplanes in 3-space>
<Geometric lattice: 6 atoms, rank 3>
[ [ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ] ], 
 [ [ 1, 2 ], [ 1, 3, 6 ], [ 2, 3, 5 ], [ 1, 4, 5 ], 
   [ 2, 4, 6 ], [ 3, 4 ], [ 5, 6 ] ], 
  [ [ 1, 2, 3, 4, 5, 6 ] ] ]
gap> m1:=[1,2]; m2:= [2,4,6]; LIsModularFlat(L,m1); LIsModularFlat(L,m2);
false
true

6.1-3 LModularFlatsRk
‣ LModularFlatsRk( L, k )( operation )

Returns: list

Determines the modular flats in L of rank k.

gap> L:=IntersectionLattice(AGpql(2,1,4));
<Geometric lattice: 16 atoms, rank 4>
gap> LModularFlatsRk(L,3);
[ [ 1, 2, 3, 5, 6, 7, 8, 11, 12 ], 
  [ 1, 2, 4, 5, 6, 9, 10, 13, 14 ], 
  [ 1, 3, 4, 7, 8, 9, 10, 15, 16 ], 
  [ 2, 3, 4, 11, 12, 13, 14, 15, 16 ] ]

6.1-4 LIsSupersolvable
‣ LIsSupersolvable( L )( property )

Returns: true or false.

Determines whether the geometric lattice L is supersolvable.

gap> L:=IntersectionLattice(AGpql(2,1,4));
<Geometric lattice: 16 atoms, rank 4>
gap> LIsSupersolvable(L);
true
gap> L:=IntersectionLattice(AGpql(2,2,4));
<Geometric lattice: 12 atoms, rank 4>
gap> LIsSupersolvable(L);
false

6.1-5 HArrIsSupersolvable
‣ HArrIsSupersolvable( A )( property )

Returns: true or false.

Determines whether the arrangement A is supersolvable.

gap> A:=AGpql(2,1,4);
<HyperplaneArrangement: 16 hyperplanes in 4-space>
gap> HArrIsSupersolvable(A);
true
gap> A:=AGpql(2,2,4); 
<HyperplaneArrangement: 12 hyperplanes in 4-space>
gap> HArrIsSupersolvable(A);
false

6.1-6 OMIsSupersolvable
‣ OMIsSupersolvable( OM )( property )

Returns: true or false.

Determines whether the oriented matroid OM is supersolvable.

gap> O:=OrientedMatroid(3,4,[1,1,1,1]);
<OrientedMatroid: 4 elements, rank 3>
gap> OMIsSupersolvable(O);
false
gap> C:=List(Combinations(Roots(AGpql(2,2,3)),3),x->pos(Determinant(x)));
[ 1, 1, 1, 1, 0, -1, -1, -1, -1, 0, 1, 0, 1, -1, 0, 1, 1, 1, -1, -1 ]
gap> O:=OrientedMatroid(3,6,C);
<OrientedMatroid: 6 elements, rank 3>
gap> OMIsSupersolvable(O);
true

6.2 Formal arrangements

6.2-1 IsFormal
‣ IsFormal( A )( property )

Returns: true or false.

Determines whether the arrangement is formal in the sense of Falk-Randell [FR87].

gap> A1 := Arr([
>     [1,0,0],
>     [0,1,0],
>     [0,0,1],
>     [1,1,1],
>     [2,1,1],
>     [2,3,1],
>     [2,3,4],
>     [3,0,5],
>     [3,4,5]
> ]);
gap> 
gap> A2 := Arr([
>     [1,0,0],
>     [0,1,0],
>     [0,0,1],
>     [1,1,1],
>     [2,1,1],
>     [2,3,1],
>     [2,3,4],
>     [1,0,3],
>     [1,2,3]
> ]);
gap> IsLEquiv(A1,A2);
true
gap> IsFormal(A1);
true
gap> IsFormal(A2);
false

6.3 Simplicial arrangements

6.3-1 HArrIsSimplicial
‣ HArrIsSimplicial( A )( property )

Returns: true or false.

Determines whether the real arrangement A is simplicial, i.e. if all chambers are simplicial.

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

6.4 Falk's weight test

The following still needs to be tested further...

6.4-1 OMBoundedCpx
‣ OMBoundedCpx( OM, g )( operation )

Returns: list of list of sign vectors.

Constructs the complex of bounded cells of the affine part of the oriented matroid OM with respect to the element g.


6.4-2 OMSupportsFalkWeights
‣ OMSupportsFalkWeights( OM, g )( operation )

Returns: list or fail

Only for oriented matroids of rank 3. Determines, whether OM supports a system of weights as described by M. Falk in [Fal95]. This implies, that the Salvetti complex (see SalvettiComplex (4.2-8)) is apsherical. The functionality of the cddinterface package is used, to determine solotions of a system of linear inequalities.

If the algorithm determines a suitable weight system for OM, each list element consists of a weight, and a corner, i.e. a pair of a 2-cell and an adjacent vertex in the bounded complex, given as sign vectors.

gap> O:=OrientedMatroid(
>       [[1,1,0],[1,-1,0],[1,0,1],[1,0,-1],[0,1,1],[0,1,-1],[0,0,1]]
> );
<OrientedMatroid: 7 elements, rank 3>
gap> OMIsSupersolvable(O);
false
gap> OMSupportsFalkWeights(O,3);
fail
gap> OMSupportsFalkWeights(O,1);
[ [ 1/2, [ [ 1, 1, 1, 1, 1, 1, 1 ], [ 1, 0, 1, 0, 1, 0, 1 ] ] ], 
  [ 0, [ [ 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 0, 0, 0 ] ] ], 
  [ 1/2, [ [ 1, 1, 1, 1, 1, 1, 1 ], [ 1, 0, 1, 1, 1, 1, 0 ] ] ], 
  [ 0, [ [ 1, 1, 1, 1, 1, 1, -1 ], [ 1, 0, 0, 1, 0, 1, -1 ] ] ], 
  [ 1/2, [ [ 1, 1, 1, 1, 1, 1, -1 ], [ 1, 1, 1, 1, 0, 0, 0 ] ] ], 
  [ 1/2, [ [ 1, 1, 1, 1, 1, 1, -1 ], [ 1, 0, 1, 1, 1, 1, 0 ] ] ], 
  [ 0, [ [ 1, -1, 1, 1, 1, 1, 1 ], [ 1, 0, 1, 0, 1, 0, 1 ] ] ], 
  [ 1/2, [ [ 1, -1, 1, 1, 1, 1, 1 ], [ 1, -1, 0, 0, 1, 1, 0 ] ] ], 
  [ 1/2, [ [ 1, -1, 1, 1, 1, 1, 1 ], [ 1, 0, 1, 1, 1, 1, 0 ] ] ], 
  [ 1/2, [ [ 1, -1, 1, 1, 1, 1, -1 ], [ 1, 0, 0, 1, 0, 1, -1 ] ] ], 
  [ 0, [ [ 1, -1, 1, 1, 1, 1, -1 ], [ 1, -1, 0, 0, 1, 1, 0 ] ] ], 
  [ 1/2, [ [ 1, -1, 1, 1, 1, 1, -1 ], [ 1, 0, 1, 1, 1, 1, 0 ] ] ] ] 

6.5 Factored arrangements

6.5-1 HArrIsFactored
‣ HArrIsFactored( A )( attribute )

Returns: A list or fail

Determines if A is factored and if so returns some factorization.

gap> A:=AGpql(2,1,3);
<HyperplaneArrangement: 9 hyperplanes in 3-space>
gap> HArrIsFactored(A);
[ [ 1 ], [ 2, 4, 5 ], [ 3, 6, 7, 8, 9 ] ]
gap> A:=AGpql(2,2,4);
<HyperplaneArrangement: 12 hyperplanes in 4-space>
gap> HArrIsFactored(A);
fail

6.5-2 HArrFactorizations
‣ HArrFactorizations( A )( operation )

Returns: A list

Computes a list of all factorizations of A as partitions of [1..|A|].

gap> A:=AGpql(2,1,3);
<HyperplaneArrangement: 9 hyperplanes in 3-space>
gap> HArrFactorizations(A);
[ [ [ 1 ], [ 2, 4, 5 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 1 ], [ 2, 4, 5, 8, 9 ], [ 3, 6, 7 ] ], 
  [ [ 2 ], [ 1, 4, 5 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 2 ], [ 1, 4, 5, 6, 7 ], [ 3, 8, 9 ] ], 
  [ [ 3 ], [ 1, 6, 7 ], [ 2, 4, 5, 8, 9 ] ], 
  [ [ 3 ], [ 1, 4, 5, 6, 7 ], [ 2, 8, 9 ] ], 
  [ [ 4 ], [ 1, 2, 5 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 5 ], [ 1, 2, 4 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 6 ], [ 1, 3, 7 ], [ 2, 4, 5, 8, 9 ] ], 
  [ [ 7 ], [ 1, 3, 6 ], [ 2, 4, 5, 8, 9 ] ], 
  [ [ 8 ], [ 1, 4, 5, 6, 7 ], [ 2, 3, 9 ] ], 
  [ [ 9 ], [ 1, 4, 5, 6, 7 ], [ 2, 3, 8 ] ] ]

6.5-3 HArrIsInductivelyFactored
‣ HArrIsInductivelyFactored( A )( attribute )

Returns: A list or fail

Determines if A is inductively factored and if so returns some inductive factorization.

gap> A:=AGpql(2,1,4);
<HyperplaneArrangement: 16 hyperplanes in 4-space>
gap> HArrIsInductivelyFactored(A);
[ [ [ 1 ], [ 2, 5, 6 ], [ 3, 7, 8, 11, 12 ], [ 4, 9, 10, 13, 14, 15, 16 ] ], true ]
gap> A:=AGpql(2,2,4);
<HyperplaneArrangement: 12 hyperplanes in 4-space>
gap> HArrIsInductivelyFactored(A);
false

6.5-4 HArrInductiveFactorizations
‣ HArrInductiveFactorizations( A )( operation )

Returns: A list

Computes a list of all inductive factorizations of A as partitions of [1..|A|].

gap> A:=AGpql(2,1,3);
<HyperplaneArrangement: 9 hyperplanes in 3-space>
gap> HArrInductiveFactorizations(A);
[ [ [ 1 ], [ 2, 4, 5 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 1 ], [ 2, 4, 5, 8, 9 ], [ 3, 6, 7 ] ], 
  [ [ 2 ], [ 1, 4, 5 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 2 ], [ 1, 4, 5, 6, 7 ], [ 3, 8, 9 ] ], 
  [ [ 3 ], [ 1, 6, 7 ], [ 2, 4, 5, 8, 9 ] ], 
  [ [ 3 ], [ 1, 4, 5, 6, 7 ], [ 2, 8, 9 ] ], 
  [ [ 4 ], [ 1, 2, 5 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 5 ], [ 1, 2, 4 ], [ 3, 6, 7, 8, 9 ] ], 
  [ [ 6 ], [ 1, 3, 7 ], [ 2, 4, 5, 8, 9 ] ], 
  [ [ 7 ], [ 1, 3, 6 ], [ 2, 4, 5, 8, 9 ] ], 
  [ [ 8 ], [ 1, 4, 5, 6, 7 ], [ 2, 3, 9 ] ], 
  [ [ 9 ], [ 1, 4, 5, 6, 7 ], [ 2, 3, 8 ] ] ]
 [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