next | previous | forward | backward | up | index | toc

# makeEssential(CentralArrangement) -- make an essential arrangement out of an arbitrary one

## Synopsis

• Function: makeEssential
• Usage:
makeEssential A
• Inputs:
• Outputs:
• , a combinatorially equivalent essential arrangement

## Description

A central arrangement is essential if the intersection of all of the hyperplanes equals the origin. If ${\mathcal A}$ is a hyperplane arrangement in an affine space $V$ and $L$ is the intersection of all of the hyperplanes, then the image of the hyperplanes of ${\mathcal A}$ in $V/L$ gives an equivalent essential arrangement.

Since this essentialization is defined over a subring of the underlying ring of ${\mathcal A}$, it cannot be implemented directly. Instead, the method chooses a splitting of the quotient $V\to V/L$ and returns an arrangement over a polynomial ring on a subset of the original variables.

If ${\mathcal A}$ is already essential, then the method returns the same arrangement.

Deleting a hyperplane from an essential arrangement yields an essential arrangement only if the hyperplane was not a coloop.

 i1 : R = QQ[x, y, z]; i2 : A = arrangement{x, y, x-y, z} o2 = {x, y, x - y, z} o2 : Hyperplane Arrangement  i3 : makeEssential A o3 = {x, y, x - y, z} o3 : Hyperplane Arrangement  i4 : assert(A == makeEssential A) i5 : A' = deletion(A, z) o5 = {x, y, x - y} o5 : Hyperplane Arrangement  i6 : ring A' o6 = R o6 : PolynomialRing i7 : makeEssential A' o7 = {x + y, x, y} o7 : Hyperplane Arrangement  i8 : ring makeEssential A' o8 = QQ[x..y] o8 : PolynomialRing

Type-$A$ reflection arrangements are not essential.

 i9 : A = typeA 3 o9 = {x - x , x - x , x - x , x - x , x - x , x - x } 1 2 1 3 1 4 2 3 2 4 3 4 o9 : Hyperplane Arrangement  i10 : ring A o10 = QQ[x ..x ] 1 4 o10 : PolynomialRing i11 : A' = makeEssential A o11 = {x - x , x - x , x , x - x , x , x } 1 2 1 3 1 2 3 2 3 o11 : Hyperplane Arrangement  i12 : ring A' o12 = QQ[x ..x ] 1 3 o12 : PolynomialRing

Type-$B$ reflection arrangements are essential.

 i13 : B = typeB 3 o13 = {x , x - x , x + x , x - x , x + x , x , x - x , x + x , x } 1 1 2 1 2 1 3 1 3 2 2 3 2 3 3 o13 : Hyperplane Arrangement  i14 : assert(B == makeEssential B)