Improved input vector calculation and the inclusion of the controlability Gramian

The eig function in the numpy library only calculates the right hand
eigenvectors. The Scipy library provides a eig function in which you can
specify whether you want left or right handed eigenvectors. To determine
controllability you need to calculate the input pole vectors which is
dependant on the left eigenvectors.

The scipy library provides a function that solves the Lyapunov equation
of which the answer is the Controllability Gramian.