Research Article

On Projective Modules and Computation of Dimension of a Module over Laurent Polynomial Ring

Algorithm 1

Let
    𝐴 = 𝑅 [ π‘₯ 1 Β± 1 , π‘₯ 2 Β± 1 , … , π‘₯ 𝑛 Β± 1 ] β‰… 𝑅 [ π‘₯ 1 , 𝑦 1 , π‘₯ 2 , 𝑦 2 , … , π‘₯ 𝑛 , 𝑦 𝑛 ] ( π‘₯ 1 𝑦 1 βˆ’ 1 , π‘₯ 2 𝑦 2 βˆ’ 1 , … , π‘₯ 𝑛 𝑦 𝑛 βˆ’ 1 ) .
Objective: Computation of the projective dimension of a module.
Input: A finitely generated 𝐴 -module 𝑀 = < 𝑓 1 , 𝑓 2 , … , 𝑓 π‘š > βŠ‚ 𝐴 𝑑 and
a positive integer 𝑙 .
Output: A projective dimension of 𝑀 and a list of matrices 𝛼 1 , 𝛼 2 , … , 𝛼 𝑙
with 𝛼 𝑖 ∈ M a t ( 𝑙 𝑖 βˆ’ 1 Γ— 𝑙 𝑖 , 𝐴 ) , where 𝑖 = 1 , 2 , … , 𝑙 , such that
    β„˜ ∢ 0 0 π‘₯ 0 2 1 𝑒 2 𝑃 l 𝛼 𝑙 βˆ’ β†’ 𝑃 𝛼 𝑙 βˆ’ 1 𝑙 βˆ’ 1 βˆ’ βˆ’ β†’ 0 π‘₯ 0 2 1 𝑒 2 𝑃 1 𝛼 1 βˆ’ β†’ 𝑃 0 𝛼 0 βˆ’ β†’ 𝑃 0 / 𝑀 β†’ 0
is a free resolution of 𝑃 0 / 𝑀 . If p d ( 𝑀 ) = 0 , then 𝑀 is projective. The
algorithm returns 𝑀 βŠ• 𝐴 π‘Ÿ β‰… 𝐴 𝑙 .
START:
initialize 𝑖 = 1 ;
if ( 𝛼 1 does not split)
  𝛼 1 = m a t r i x ( 𝑓 1 , 𝑓 2 , … , 𝑓 π‘š ) ∈ M a t ( 𝑙 Γ— π‘š , 𝐴 ) and
  p d ( 𝑀 ) = 1 ;
else
 Let 𝛽 1 be the split of 𝛼 1 . Then p d ( 𝑀 ) = 0 and
  𝑃 1 βŠ• 𝑀 β‰… 𝑃 0 β‰… k e r ( 𝛽 1 ) βŠ• 𝑃 1 ;
end if
if ( 𝑖 = 𝑙 )
 return p d ( 𝑀 ) ;
else
while ( 𝑖 < 𝑙 ) do
  𝑖 + + ;
  𝛼 𝑖 = s y z ( 𝛼 𝑖 βˆ’ 1 ) ;
end loop
end if
if ( 𝛼 𝑙 does not split)
  p d ( 𝑀 ) = 𝑙 ;
else
 Let 𝛽 𝑙 be the split of 𝛼 𝑙 . Then p d ( 𝑀 ) = 𝑙 βˆ’ 1 ;
end if
 return p d ( 𝑀 ) ;
STOP.