An efficient computational solution of the pole assignment problem of linear single-input systems is presented. It is based on orthogonal reduction of the closed-loop system matrix to upper (quasi-) triangular form whose 1 × 1 or 2 × 2 diagonal blocks correspond to the desired poles. The algorithm proposed is numerically stable and performs equally well with real and complex, distinct, and multiple desired poles. The number of the computational operations is less than

, the necessary array storage being

working precision words, where

is the order of the system.