In linear algebra and ring theory, the Howell normal form is a generalization of the row echelon form of a matrix over 
  
    
      
        
          
            Z
          
          
            N
          
        
      
    
    {\displaystyle \mathbb {Z} _{N}}
  
, the ring of integers modulo N. The row spans of two matrices agree if, and only if, their Howell normal forms agree. The Howell normal form generalizes the Hermite normal form, which is defined for matrices over 
  
    
      
        
          Z
        
      
    
    {\displaystyle \mathbb {Z} }
  
.
 A matrix 
  
    
      
        A
        ∈
        
          
            Z
          
          
            N
          
          
            n
            ×
            m
          
        
      
    
    {\displaystyle A\in \mathbb {Z} _{N}^{n\times m}}
  
 over 
  
    
      
        
          
            Z
          
          
            N
          
        
      
    
    {\displaystyle \mathbb {Z} _{N}}
  
 is called to be in row echelon form if it has the following properties:
 With elementary transforms, each matrix in the row echelon form can be reduced in a way that the following properties will hold:
 If 
  
    
      
        A
      
    
    {\displaystyle A}
  
 adheres to both above properties, it is said to be in reduced row echelon form.
 If 
  
    
      
        A
      
    
    {\displaystyle A}
  
 adheres to the following additional property, it is said to be in Howell normal form (
  
    
      
        S
        (
        A
        )
      
    
    {\displaystyle S(A)}
  
 denotes the row span of 
  
    
      
        A
      
    
    {\displaystyle A}
  
):
 For every matrix 
  
    
      
        A
      
    
    {\displaystyle A}
  
 over 
  
    
      
        
          
            Z
          
          
            N
          
        
      
    
    {\displaystyle \mathbb {Z} _{N}}
  
, there is a unique matrix 
  
    
      
        H
      
    
    {\displaystyle H}
  
 in the Howell normal form, such that 
  
    
      
        S
        (
        A
        )
        =
        S
        (
        H
        )
      
    
    {\displaystyle S(A)=S(H)}
  
. The matrix 
  
    
      
        H
      
    
    {\displaystyle H}
  
 can be obtained from matrix 
  
    
      
        A
      
    
    {\displaystyle A}
  
 via a sequence of elementary transforms. 
 From this follows that for two matrices 
  
    
      
        A
        ,
        B
        ∈
        
          
            Z
          
          
            N
          
          
            n
            ×
            m
          
        
      
    
    {\displaystyle A,B\in \mathbb {Z} _{N}^{n\times m}}
  
 over 
  
    
      
        
          
            Z
          
          
            N
          
        
      
    
    {\displaystyle \mathbb {Z} _{N}}
  
, their row spans are equal if and only if their Howell normal forms are equal. 
 For example, the matrices
 have the same Howell normal form over 
  
    
      
        
          
            Z
          
          
            12
          
        
      
    
    {\displaystyle \mathbb {Z} _{12}}
  
:
 Note that 
  
    
      
        A
      
    
    {\displaystyle A}
  
 and 
  
    
      
        B
      
    
    {\displaystyle B}
  
 are two distinct matrices in the row echelon form, which would mean that their span is the same if they're treated as matrices over some field. Moreover, they're in the Hermite normal form, meaning that their row span is also the same if they're considered over 
  
    
      
        
          Z
        
      
    
    {\displaystyle \mathbb {Z} }
  
, the ring of integers. 
 However, 
  
    
      
        
          
            Z
          
          
            12
          
        
      
    
    {\displaystyle \mathbb {Z} _{12}}
  
 is not a field and over general rings it is sometimes possible to nullify a row's pivot by multiplying the row with a scalar without nullifying the whole row. In this particular case, 
 It implies 
  
    
      
        
          
            [
            
              
                
                  0
                
                
                  3
                
                
                  0
                
              
            
            ]
          
        
        ∈
        S
        (
        A
        )
      
    
    {\displaystyle {\begin{bmatrix}0&3&0\end{bmatrix}}\in S(A)}
  
,  which wouldn't be true over any field or over integers.