This is documentation for Mathematica 3, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.1)
 Documentation / Mathematica / Add-ons / Standard Packages / NumberTheory  /

NumberTheory`Recognize`

This package defines the function Recognize for determining a polynomial with integer coefficients, given an approximate real zero of the polynomial and the degree of the polynomial. The resulting polynomial is normally not unique.


Determining a polynomial from a solution.

  • This loads the package.
  • In[1]:= << NumberTheory`Recognize`

  • This finds a linear polynomial in t with solution 1.7.
  • In[2]:= Recognize[1.7, 1, t]

    Out[2]=

  • NSolve gives the numerical solutions of a cubic equation.
  • In[3]:= NSolve[3 x^3 - 2 x + 5 == 0]

    Out[3]=

  • Here is the first solution.
  • In[4]:= sol = First[x /. %]

    Out[4]=

  • This result is proportional to the original polynomial used in NSolve.
  • In[5]:= Recognize[sol, 3, t]

    Out[5]=

  • Here is a quadratic polynomial for which sol is an approximate solution.
  • In[6]:= Recognize[sol, 2, t]

    Out[6]=

  • This result is a polynomial of degree 5.
  • In[7]:= Recognize[N[Sqrt[3^(2/5)]], 5, t]

    Out[7]=

  • If the penalty is large enough, a lower-order polynomial may be returned.
  • In[8]:= Recognize[N[Sqrt[3^(2/5)]], 5, t, 10]

    Out[8]=