**4.5. Polynomial solvers**

The characteristic equation for an *n*th order system is an *n*th order polynomial. As discussed above, the Cayley–Hamilton theorem will produce *n*-independent equations. For both partially described and fully described systems, a system of *n*th order polynomials will need to be solved for the unknown quantities. This will require a good polynomial solver or polynomial root-finding algorithm. For the problems presented in the rest of this chapter, the symbolic computer algebra software *Maple* by Maplesoft, Waterloo, Canada, was used to solve the problems although any modern numerical or symbolic software package could similarly be employed. For our simulations, the *Maple* built-in function *fsolve* was used, as well as the freely available package *DirectSearch*. The details of the *DirectSearch* package can be found in the study of Moiseev [17]. It was observed that *DirectSearch* produced many more (valid) solutions than did *fsolve* (recall that a unique solution to most of these problems does not exist and thus multiple solutions are expected). The existence of multiple solutions is desirable from an engineering design point of view in that it implies that there are many solutions possible and it is up to the designer to choose the most physically realisable one, within the problem constraints. For the Cayley–Hamilton (and determinant method presented in the rest of the chapter) to be effective, a good polynomial solver is required so that the multiple possible solutions can indeed be found.
