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 |