(* ========================================================================= *) (* Fundamental theorem of algebra. *) (* ========================================================================= *) needs "Complex/complex_transc.ml";; needs "Complex/cpoly.ml";; prioritize_complex();; (* ------------------------------------------------------------------------- *) (* A cute trick to reduce magnitude of unimodular number. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Hence we can always reduce modulus of 1 + b z^n if nonzero *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Basic lemmas about polynomials. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Offsetting the variable in a polynomial gives another of same degree. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Bolzano-Weierstrass type property for closed disc in complex plane. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Polynomial is continuous. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Hence a polynomial attains minimum on a closed disc in the complex plane. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Nonzero polynomial in z goes to infinity as z does. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Hence polynomial's modulus attains its minimum somewhere. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Constant function (non-syntactic characterization). *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Decomposition of polynomial, skipping zero coefficients after the first. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Fundamental theorem. *) (* ------------------------------------------------------------------------- *) (* ------------------------------------------------------------------------- *) (* Alternative version with a syntactic notion of constant polynomial. *) (* ------------------------------------------------------------------------- *)