We develop two fast algorithms for Hessenberg reduction of a structured
matrix A=D+UVH where D is a real or unitary n×n diagonal
matrix and U,V∈Cn×k. The proposed algorithm for the
real case exploits a two--stage approach by first reducing the matrix to a
generalized Hessenberg form and then completing the reduction by annihilation
of the unwanted sub-diagonals. It is shown that the novel method requires
O(n2k) arithmetic operations and it is significantly faster than other
reduction algorithms for rank structured matrices. The method is then extended
to the unitary plus low rank case by using a block analogue of the CMV form of
unitary matrices. It is shown that a block Lanczos-type procedure for the block
tridiagonalization of ℜ(D) induces a structured reduction on A in a block
staircase CMV--type shape. Then, we present a numerically stable method for
performing this reduction using unitary transformations and we show how to
generalize the sub-diagonal elimination to this shape, while still being able
to provide a condensed representation for the reduced matrix. In this way the
complexity still remains linear in k and, moreover, the resulting algorithm
can be adapted to deal efficiently with block companion matrices.Comment: 25 page