# flattenRing(...,Result=>...) -- optionally specify which output(s) to return (see Description for details)

## Description

The flattenRing documentation goes into much greater detail about the Result option. This node has some examples only.

 i1 : k = toField (QQ[x]/(x^2+x+1)); i2 : R = k[y]/(x-y+2); i3 : flattenRing(R, Result => 1) o3 = R o3 : QuotientRing i4 : flattenRing(R, Result => 2) o4 = (R, map (R, R, {x + 2, x})) o4 : Sequence i5 : flattenRing(R, Result => 3) o5 = (R, map (R, R, {x + 2, x}), map (R, R, {x + 2, x})) o5 : Sequence i6 : flattenRing(R, Result => (Nothing, RingMap)) o6 = (, map (k[y], R, {x + 2, x})) o6 : Sequence i7 : flattenRing(R, Result => (Ring, Nothing, RingMap)) o7 = (R, , map (R, R, {x + 2, x})) o7 : Sequence i8 : flattenRing(R, Result => (Nothing, )) o8 = (, map (k[y], R, {x + 2, x})) o8 : Sequence i9 : flattenRing(R, Result => ( , Nothing, ) ) o9 = (R, , map (R, R, {x + 2, x})) o9 : Sequence i10 : I = ideal(x*y+y^2-5); o10 : Ideal of R i11 : flattenRing(I, Result => 1) o11 = ideal (- y + x + 2, 4x - 3) o11 : Ideal of k[y] i12 : flattenRing(I, Result => 3) o12 = (ideal (- y + x + 2, 4x - 3), map (k[y], R, {x + 2, x}), map (R, k[y], ----------------------------------------------------------------------- {x + 2, x})) o12 : Sequence i13 : flattenRing(I, Result => (Ring, Nothing, RingMap)) k[y] k[y] o13 = (---------------------, , map (R, ---------------------, {x + 2, x})) (- y + x + 2, 4x - 3) (- y + x + 2, 4x - 3) o13 : Sequence i14 : flattenRing(I, Result => (Ideal, Nothing, RingMap)) o14 = (ideal (- y + x + 2, 4x - 3), , map (R, k[y], {x + 2, x})) o14 : Sequence i15 : flattenRing(I, Result => (Ring, RingMap)) k[y] k[y] o15 = (---------------------, map (---------------------, R, {0, 0})) (- y + x + 2, 4x - 3) (- y + x + 2, 4x - 3) o15 : Sequence i16 : flattenRing(I, Result => Ideal) o16 = ideal (- y + x + 2, 4x - 3) o16 : Ideal of k[y]

## Further information

• Default value: (Thing,RingMap)
• Function: flattenRing -- write a ring as a (quotient of a) polynomial ring
• Option key: Result -- an optional argument