      subroutine matout(n,lm,a,iout)                                       
      implicit real*8(a-h,o-z)
      dimension a(lm,n),b(10)
c
c Procedura drukuje dolny trojkat kwadratowej symetrycznej macierzy A 
c stronami po 8 kolumn.
c
c A - drukowana macierz.
c N - faktyczny wymiar macierzy (liczba drukowanych wierszy i kolumn).
c LM - wymiar macierzy A w segmencie wywolujacym procedure.
c IOUT - numer urzadzenia wyjscia.
      do 1 i=1,n,8                                                      
      nlim=min0(i+7,n)                                                  
      write (iout,1000) (k,k=i,nlim)                                    
      write (iout,1020)                                                 
 1000 format (/9x,8(i7,7x))                                             
 1020 format (/1x,120(1h-)/)                                            
      do 2 j=i,n                                                        
      jlim=min0(j,nlim)                                                 
      jlim1=jlim-i+1                                                    
      do 3 k=i,jlim                                                     
    3 b(k-i+1)=a(j,k)                                   
      write (iout,1010) j,(b(k),k=1,jlim1)                              
    2 continue                                                          
    1 continue                                                          
 1010 format (i5,3x,8(1pe11.4,3x))                                      
      return                                                            
      end
