# isLinearType -- Determine whether module has linear type

## Synopsis

• Usage:
isLinearType M
isLinearType(M,f)
• Inputs:
• M, , or an ideal
• f, , any non-zero divisor modulo the ideal or module. Optional
• Outputs:
• , true if M is of linear type, false otherwise

## Description

A module or ideal M is said to be “of linear type” if the natural map from the symmetric algebra of M to the Rees algebra of M is an isomorphism. It is known, for example, that any complete intersection ideal is of linear type.

This routine computes the reesIdeal of M. Giving the element f computes the reesIdeal in a different manner, which is sometimes faster, sometimes slower.

 ```i1 : S = QQ[x_0..x_4] o1 = S o1 : PolynomialRing``` ```i2 : i = monomialCurveIdeal(S,{2,3,5,6}) 2 3 2 2 2 2 o2 = ideal (x x - x x , x - x x , x x - x x , x - x x , x x - x x , x x 2 3 1 4 2 0 4 1 2 0 3 3 2 4 1 3 0 4 0 3 ------------------------------------------------------------------------ 2 2 3 2 - x x , x x - x x x , x - x x ) 1 4 1 3 0 2 4 1 0 4 o2 : Ideal of S``` ```i3 : isLinearType i o3 = false``` ```i4 : isLinearType(i, i_0) o4 = false``` ```i5 : I = reesIdeal i 2 o5 = ideal (x w - x w + x w , x w - x w + x w , x w + x w - x w , 2 0 3 1 4 2 0 0 1 1 2 2 4 2 1 3 3 4 ------------------------------------------------------------------------ 2 2 x x w + x w - x w , x w + x w - x w , x w + x w - x w , x x w - 0 4 2 1 5 3 6 3 2 0 3 2 4 1 2 0 5 2 6 1 4 1 ------------------------------------------------------------------------ 2 2 x x w - x w + x w , x x w - x x w - x w + x w , x w - x w - x w 2 4 2 1 4 3 5 0 4 1 1 3 2 0 4 2 5 3 0 4 1 2 3 ------------------------------------------------------------------------ 2 2 2 + x w , x x w - x w + x w , x w - x x w - x w + x w , x x w - w - 4 4 1 3 0 2 4 4 5 1 0 1 3 2 0 4 4 6 1 4 2 5 ------------------------------------------------------------------------ 2 2 x w w + w w , x x w w - x w w + w - w w , x x w w - x x w + w w - 4 1 6 4 6 3 4 0 2 4 1 4 4 3 5 1 4 0 2 3 4 2 4 5 ------------------------------------------------------------------------ w w ) 3 6 o5 : Ideal of S[w , w , w , w , w , w , w ] 0 1 2 3 4 5 6``` ```i6 : select(I_*, f -> first degree f > 1) 2 2 2 o6 = {x x w - w - x w w + w w , x x w w - x w w + w - w w , x x w w - 1 4 2 5 4 1 6 4 6 3 4 0 2 4 1 4 4 3 5 1 4 0 2 ------------------------------------------------------------------------ 2 x x w + w w - w w } 3 4 2 4 5 3 6 o6 : List```
 ```i7 : S = ZZ/101[x,y,z] o7 = S o7 : PolynomialRing``` ```i8 : for p from 1 to 5 do print isLinearType (ideal vars S)^p true false false false false```