Placing zeroes and the Kronecker canonical form

Given a linear time-invariant control system, it is well known that the transmission zeroes are the generalized eigenvalues of a matrix pencil. Adding outputs to place additional zeroes is equivalent to appending rows to this pencil to place new generalized eigenvalues. Adding inputs is likewise equivalent to appending columns. Since both problems are dual to each other, in this paper we only show how to choose the new rows to place the new zeroes in any desired locations. The process involves the extraction of the individual right Kronecker blocks of the pencil, accomplished entirely with unitary transformations. In particular, when adding one new output, i.e., appending a single row, the maximum number of new zeroes that can be placed is exactly the largest right Kronecker index.