# specialFiber -- Special fiber of a blowup

## Synopsis

• Usage:
specialFiber M
specialFiber(M,f)
• Inputs:
• M, , or an ideal
• f, , an optional element, which is a non-zerodivisor such that M[f-1] is a free module when M is a module, an element in M when M is an ideal
• Optional inputs:
• Outputs:

## Description

Let M be an R = k[x1,...,xn]/J-module (for example an ideal), and let mm=ideal vars R = (x1,...,xn), and suppose that M is a homomorphic image of the free module F with m+1 generators. Let T be the Rees algebra of M. The call specialFiber(M) returns the ideal J⊂ k[w0,…,wm] such that k[w0,…,wm]/J ≅ T/mm*T; that is, specialFiber(M) = reesIdeal(M)+mm*Sym(F). This routine differs from specialFiberIdeal in that the ambient ring of the output ideal is k[w0,…,wm] rather than R[w0,…,wm]. The coefficient ring k used is always the ultimate coefficient ring of R.

The name derives from the fact that Proj(T/mm*T) is the special fiber of the blowup of Spec R along the subscheme defined by I.

With the default Trim => true, the computation begins by computing minimal generators, which may result in a change of generators of M

 ```i1 : R=QQ[a..h] o1 = R o1 : PolynomialRing``` ```i2 : M=matrix{{a,b,c,d},{e,f,g,h}} o2 = | a b c d | | e f g h | 2 4 o2 : Matrix R <--- R``` ```i3 : analyticSpread minors(2,M) o3 = 5``` ```i4 : specialFiber minors(2,M) QQ[Z , Z , Z , Z , Z , Z ] 0 1 2 3 4 5 o4 = -------------------------- Z Z - Z Z + Z Z 2 3 1 4 0 5 o4 : QuotientRing```