Macaulay2 » Documentation
Packages » HyperplaneArrangements :: substitute(Arrangement,RingMap)
next | previous | forward | backward | up | index | toc

substitute(Arrangement,RingMap) -- change the ring of an arrangement

Synopsis

Description

i1 : R = QQ[x,y]

o1 = R

o1 : PolynomialRing
i2 : arr = arrangement{x,y,x-y}

o2 = {x, y, x - y}

o2 : Hyperplane Arrangement 
i3 : f = map(QQ[a,b], R, {a, a+b})

o3 = map (QQ[a..b], R, {a, a + b})

o3 : RingMap QQ[a..b] <-- R
i4 : sub(arr, f)

o4 = {a, a + b, -b}

o4 : Hyperplane Arrangement 

Alternatively, you can use **.

i5 : arr ** f === sub(arr, f)

o5 = true

Given a ring S, sub(arr, S) is the same as sub(arr, map(S, ring arr)).

i6 : S = QQ[x,y,z]

o6 = S

o6 : PolynomialRing
i7 : arr' = sub(arr, S)

o7 = {x, y, x - y}

o7 : Hyperplane Arrangement 
i8 : ring arr' === S

o8 = true

Note that the underlying matroid of the arrangement may change as a result of changing the ring. For example, the Fano matroid is realizable only in characteristic 2:

i9 : R = ZZ[x,y,z]

o9 = R

o9 : PolynomialRing
i10 : A = arrangement("nonFano",R)

o10 = {x, y, z, y - z, x - z, x - y, x + y - z}

o10 : Hyperplane Arrangement 
i11 : f = map(ZZ/2[x,y,z],R);

              ZZ
o11 : RingMap --[x..z] <-- R
               2
i12 : B = A**f

o12 = {x, y, z, y + z, x + z, x + y, x + y + z}

o12 : Hyperplane Arrangement 
i13 : flats(2,A)

o13 = {{5, 6}, {1, 4, 6}, {0, 3, 6}, {2, 6}, {3, 4, 5}, {2, 5}, {0, 1, 5},
      -----------------------------------------------------------------------
      {0, 2, 4}, {1, 2, 3}}

o13 : List
i14 : flats(2,B)

o14 = {{2, 5, 6}, {1, 4, 6}, {0, 3, 6}, {3, 4, 5}, {0, 1, 5}, {0, 2, 4}, {1,
      -----------------------------------------------------------------------
      2, 3}}

o14 : List

See also

Ways to use this method: