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

# ring(Arrangement) -- get the underlying ring of a hyperplane arrangement

## Synopsis

• Function: ring
• Usage:
ring A
• Inputs:
• Outputs:
• a ring, that contains the defining equations of the arrangement

## Description

A hyperplane arrangement is defined by a list of affine-linear equations in a ring, either a polynomial ring or the quotient of polynomial ring by linear equations. This methods returns this ring.

Probably the best-known hyperplane arrangement is the braid arrangement consisting of all the diagonal hyperplanes. We illustrate two constructions of this hyperplane arrangement in $4$-space, using different polynomial rings.

 i1 : S = ZZ[w,x,y,z]; i2 : A = arrangement(matrix{{1,1,1,0,0,0},{-1,0,0,1,1,0},{0,-1,0,-1,0,1},{0,0,-1,0,-1,-1}}, S) o2 = {w - x, w - y, w - z, x - y, x - z, y - z} o2 : Hyperplane Arrangement  i3 : ring A o3 = S o3 : PolynomialRing i4 : assert(ring A === S) i5 : S' = ZZ/101[w,x,y,z]; i6 : A' = typeA(3, S') o6 = {w - x, w - y, w - z, x - y, x - z, y - z} o6 : Hyperplane Arrangement  i7 : ring A' o7 = S' o7 : PolynomialRing i8 : assert(ring A' === S') i9 : assert(A' =!= A)

Projecting onto an appropriate linear subspace, we obtain an essential arrangement, meaning that the rank of the arrangement is equal to the dimension of its ambient vector space. (See also makeEssential.)

 i10 : R = S'/(w+x+y+z) o10 = R o10 : QuotientRing i11 : A'' = sub(A, R) -- this changes the coordinate ring of the arrangement o11 = {- 2x - y - z, - x - 2y - z, - x - y - 2z, x - y, x - z, y - z} o11 : Hyperplane Arrangement  i12 : ring A'' o12 = R o12 : QuotientRing i13 : assert(rank A'' == dim ring A'')

The trivial arrangement has no equations, so it is necessary to specify a coordinate ring.

 i14 : trivial = arrangement({}, S) o14 = {} o14 : Hyperplane Arrangement  i15 : assert(ring trivial === S) i16 : trivial' = arrangement({},R) o16 = {} o16 : Hyperplane Arrangement  i17 : assert(ring trivial' === R)