Let $M$ be an $R = k[x_1,\ldots,x_n]/J$-module (for example an ideal), and let $mm=ideal vars R = (x_1,\ldots,x_n)$, 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\subset{} k[w_0,\dots,w_m]$ such that $k[w_0,\dots,w_m]/J \cong{} 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[w_0,\dots,w_m]$ rather than $R[w_0,\dots,w_m]$. 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 ] 0 5 o4 = ------------------ Z Z - Z Z + Z Z 2 3 1 4 0 5 o4 : QuotientRing |
The object specialFiber is a method function with options.