Almost all the code has been written by this Jim Fox. Therefore, there are likely to be bugs. Please report them to the above email address.
There are also limitations. For example, lroots and broots can factor the following polynomial,
>> x=unfactor([1e-50, 1, 1e50],1);
>> z=lroots(x)
z =
1.000000000000000e+000
9.999999999999999e-051
1.000000000000000e+050
However, the FFT can not handle this large a dynamic range - ifft(fft(x)) underflows. This causes all 3 phase unwrappers to fail because they assume fft(x) is accurate, and they use it to correct the phase unwrapping. Unwrapz actually computes the phase correctly but then destroys it when it tries to adjust it to match angle(fft(x)) modulo pi.