I've fixed polygcd and polylcm to work correctly with float coefficients. As discussed previously, I've changed simplify back to my first method, but in this version I've written functions to handle code common to gcd, lcm and pole-zero cancellation. It looks like this code also fixed the issue with the C matrix in tf2ss (I ran the example code in the issue and didn't get any assertion errors).
I've fixed polygcd and polylcm to work correctly with float coefficients. As discussed previously, I've changed simplify back to my first method, but in this version I've written functions to handle code common to gcd, lcm and pole-zero cancellation. It looks like this code also fixed the issue with the C matrix in tf2ss (I ran the example code in the issue and didn't get any assertion errors).