Post a reply
Note:If not registered, provide any username. For more comfort, register here.
Message body:
Enter your message here, it may contain no more than 60000 characters. 

:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:
Font size:
Font colour
BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON
Disable BBCode
Disable smilies
Do not automatically parse URLs
Confirmation of post
To prevent automated posts the board requires you to enter a confirmation code. The code is displayed in the image you should see below. If you are visually impaired or cannot otherwise read this code please contact the %sBoard Administrator%s.
Confirmation code:
Enter the code exactly as it appears. All letters are case insensitive, there is no zero.

Topic review - Roots of rational polynomials
Author Message
  Post subject:  Re: Roots of rational polynomials  Reply with quote
So far I am using this procedure. It could exist in some library already?

//rational roots of a rational polynomial
proc Qroots(poly f)
  ideal l = factorize(f,1);
  list ret;
  for (int i=1;i<=size(l);i++)
    if (deg(l[i])==1)
    { //roots are rational
      if (size(l[i])==1) { ret=ret+list(0);}
      else { ret = ret + list(-leadcoef(l[i][2])/leadcoef(l[i][1])); }
Post Posted: Mon Apr 24, 2017 9:36 am
  Post subject:  Roots of rational polynomials  Reply with quote
Consider this code:

ring A=0,x,lp;
poly f=(x-3/17)*(x+2/3);

I don't see a straightforward way to find the exact (as rational numbers) roots of f. I looked a bit at the documentation and if I use the command laguerre(f,5,1), I obtain roots up to 5 digits (decimal) precision and not really the rational roots 3/17 and -2/3. Of course I can use factorize(f) and write a code that extracts the rational roots, but I am sure (I hope) there is a cleaner way to do this. Any hints would be much appreciated. Thanks!
Post Posted: Mon Apr 24, 2017 8:49 am

It is currently Wed Jan 23, 2019 6:15 pm
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group