aUCBLogo Demos and Tests / det


to det
   
pr "Determinant
   
ar = {{1 0 2 -1}{-2 6 4}{5 4 3 0}{2 2 -5 6}} ; -> det=-132
   
m=count ar 
   
pr (se "Ordnung= m)
   
pr ar
   
br=(mdArray (se m-m-11)
   
for [m-1] [for [m-1] [setB i j 0] ]
   
q=1 
   
for [n m -1]
   
[   z=0
      
ifElse (readA 1 1) == [qq=1][qq=(1/(readA 1 1))^(n-2)]
      
q=q*qq ;cs
      
pr (se "from_n= "to_n= n-1)
      
pr (se "qq qq "q= q)
   
      
for [n] 
      
[   for [n]
         
[   z=z+1
            
a=(readA 1 1) * (readA i j) - (readA i 1) * (readA j)
            
(setB i-j-a)
            
pr (se "a( i-j-")= )
            
if == 2 
            
[   (pr) 
               
pr "Result: 
               
pr (se "a= "; "q= "; "Det=a*q= q*(readB i-j-1)) 
               
stop
            
] 
            
if == (n-1)^[(prpr "(nextpage)]
         
; next j
         
(pr) 
      
; next i   
      
      
for [n-1] 
      
[
      
for [n-1]
      
[(setA i j (readB i j))]
      
; next i  
   
; next n

   
to readA ia ib
      
op ri (se ia ibar
   
end
   
   
to readB ia ib
      
op ri (se ia ibbr
   
end
   
   
to ri iList mat ; read item
      
op mdItem iList mat
   
end
   
   
to setA ia ib val
      
si (se ia ibar val
   
end
   
   
to setB ia ib val
      
si (se ia ibbr val
   
end
   
   
to si iList mat val ; set item
      
mdSetItem iList mat val
   
end
end