pub fn find_all_approximate_complex_roots<P>(
ZZX: P,
poly: &El<P>,
) -> Result<Vec<(El<Complex64>, f64)>, PrecisionError>where
P: RingStore,
P::Type: PolyRing + DivisibilityRing,
<<P::Type as RingExtension>::BaseRing as RingStore>::Type: IntegerRing,
unstable-enable
only.Expand description
Finds an approximation to all complex roots of the given integer polynomial.
This function does not try to be as efficient as possible, but instead tries to avoid (or at least detect) as many numerical problems as possible. However, the task of finding all roots has quite bad numerical stability, especially if some of the roots are close together. Hence, this is likely to fail for polynomials with large degrees (say > 100) or very large coefficients.
The first component of each returned tuple is an approximation to a root of the polynomial, and the second component is an upper bound to the distance to exact root.
ยงAvailability
This API is marked as unstable and is only available when the unstable-enable
crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.