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

# coefficients(Arrangement) -- make a matrix from the coefficients of the defining equations

## Synopsis

• Function: coefficients
• Usage:
coefficients A
• Inputs:
• Optional inputs:
• Outputs:
• , whose entries are the coefficients of the defining equations

## Description

A hyperplane arrangement is defined by a list of affine-linear equations. This method creates a matrix whose rows correspond to variables in the underlying ring and whose columns correspond to the defining equations. The entries in this matrix are the coefficients of the defining equations.

If the arrangement is affine (i.e. there are constant coefficients), the last row of the output matrix is the constant coefficients.

A few reflection arrangements yield the following matrices.

 i1 : coefficients typeA 3 o1 = | 1 1 1 0 0 0 | | -1 0 0 1 1 0 | | 0 -1 0 -1 0 1 | | 0 0 -1 0 -1 -1 | 4 6 o1 : Matrix QQ <-- QQ i2 : coefficients typeB 2 o2 = | 1 1 1 0 | | 0 -1 1 1 | 2 4 o2 : Matrix QQ <-- QQ i3 : coefficients typeD 4 o3 = | 1 1 1 1 1 1 0 0 0 0 0 0 | | -1 1 0 0 0 0 1 1 1 1 0 0 | | 0 0 -1 1 0 0 -1 1 0 0 1 1 | | 0 0 0 0 -1 1 0 0 -1 1 -1 1 | 4 12 o3 : Matrix QQ <-- QQ

The coefficient ring need not be the rational numbers.

 i4 : R = ZZ/101[x,y,z]; i5 : A = arrangement("Pappus", R) o5 = {x, y, z, x - y, y - z, x - y - z, 2x + y + z, 2x + y - z, 2x - 5y + z} o5 : Hyperplane Arrangement  i6 : coefficients A o6 = | 1 0 0 1 0 1 2 2 2 | | 0 1 0 -1 1 -1 1 1 -5 | | 0 0 1 0 -1 -1 1 -1 1 | ZZ 3 ZZ 9 o6 : Matrix (---) <-- (---) 101 101 i7 : H = arrangement("Hessian") o7 = {x , x , x , x + x + x , x + x + 6419x , x + x - 6420x , x + 6419x + x , x + 6419x + 6419x , x + 6419x - 6420x , x - 6420x + x , x - 6420x + 6419x , x - 6420x - 6420x } 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 o7 : Hyperplane Arrangement  i8 : coefficients H o8 = | 1 0 0 1 1 1 1 1 1 1 1 1 | | 0 1 0 1 1 1 6419 6419 6419 -6420 -6420 -6420 | | 0 0 1 1 6419 -6420 1 6419 -6420 1 6419 -6420 | ZZ 3 ZZ 12 o8 : Matrix (-----) <-- (-----) 31627 31627

For non-central hyperplane arrangements, the last row of the coefficient matrix records the constant terms.

 i9 : B = arrangement(x*y*(x+y+1)) o9 = {y, x, x + y + 1} o9 : Hyperplane Arrangement  i10 : coefficients B o10 = | 0 1 1 | | 1 0 1 | | 0 0 0 | | 0 0 1 | ZZ 4 ZZ 3 o10 : Matrix (---) <-- (---) 101 101 i11 : C = arrangement(x*y*z*(x+y+1)*(y+z-1)) o11 = {z, y, y + z - 1, x, x + y + 1} o11 : Hyperplane Arrangement  i12 : coefficients C o12 = | 0 0 0 1 1 | | 0 1 1 0 1 | | 1 0 1 0 0 | | 0 0 -1 0 1 | ZZ 4 ZZ 5 o12 : Matrix (---) <-- (---) 101 101

The trivial arrangement has no equations, so its this method returns the zero matrix.

 i13 : R = ZZ[x,y,z]; i14 : trivial = arrangement(map(R^(numgens R),R^0,0),R) o14 = {} o14 : Hyperplane Arrangement  i15 : coefficients trivial o15 = 0 3 o15 : Matrix ZZ <-- 0 i16 : assert(coefficients trivial == 0)