# arrangement -- create a hyperplane arrangement

## Synopsis

• Usage:
arrangement(L,R) or arrangement(M) or arrangement(M,R) or
arrangement Q
• Inputs:
• L, a list of affine-linear equations in the ring R
• R, a polynomial ring or linear quotient of a polynomial ring
• M, a matrix whose columns represent linear forms defining hyperplanes
• Q, a product of linear forms
• Outputs:
• , the hyperplane arrangement determined by L and R

## Description

A hyperplane is an affine-linear subspace of codimension one. An arrangement is a finite set of hyperplanes. If each hyperplane contains the origin, the arrangement is a central arrangement.

Probably the best-known hyperplane arrangement is the braid arrangement consisting of all the diagonal hyperplanes. In 4-space, it is constructed as follows:

 i1 : S = ZZ[w,x,y,z]; i2 : A3 = arrangement {w-x,w-y,w-z,x-y,x-z,y-z} o2 = {w - x, w - y, w - z, x - y, x - z, y - z} o2 : Hyperplane Arrangement  i3 : describe A3 o3 = {w - x, w - y, w - z, x - y, x - z, y - z}
If we project along onto a subspace, then we obtain an essential arrangement:
 i4 : R = S/ideal(w+x+y+z) o4 = R o4 : QuotientRing i5 : A3' = arrangement({w-x,w-y,w-z,x-y,x-z,y-z},R) o5 = {- 2x - y - z, - x - 2y - z, - x - y - 2z, x - y, x - z, y - z} o5 : Hyperplane Arrangement  i6 : describe A3' o6 = {- 2x - y - z, - x - 2y - z, - x - y - 2z, x - y, x - z, y - z}
The trivial arrangement has no equations.
 i7 : trivial = arrangement({},S) o7 = {} o7 : Hyperplane Arrangement  i8 : describe trivial o8 = {} i9 : ring trivial o9 = S o9 : PolynomialRing
 i10 : use S; i11 : arrangement (x^2*y^2*(x^2-y^2)*(x^2-z^2)) o11 = {y, y, x, x, x - z, x + z, x - y, x + y} o11 : Hyperplane Arrangement 

## Caveat

If the elements of L are not ring elements in R, then the induced identity map is used to map them from ring L#0 into R.

If arrangement Q is used, the order of the factors is determined internally.

## Ways to use arrangement :

• "arrangement(Arrangement,Ring)"
• "arrangement(List)"
• "arrangement(List,Ring)"
• "arrangement(Matrix)"
• "arrangement(Matrix,Ring)"
• "arrangement(RingElement)"
• arrangement(Flat) (missing documentation)
• arrangement(String) (missing documentation)
• arrangement(String,PolynomialRing) -- look up a built-in hyperplane arrangement
• arrangement(String,Ring) (missing documentation)

## For the programmer

The object arrangement is .