A Simple Algorithm for Constructing all Real Hessenberg Unitary Matrices
  Unitary matrices which are zero below the secondary diagonal (Hessenberg unitary matrices) have many uses in analysis. Given a set of needed conditions on a unitary matrix, this algorithm will give the sparsest unitary matrix. We give an algorithm for constructing all real Hessenberg unitary matrices. The $n\times n$ unitary matrices given by the algorithm have $n-1$ variables which can be chosen to give additional properties needed for a particular application. 
Janet C. Tremain
math.FA