MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: a fault in the Factor[] function for polynomials?


They are equivalent representations. As stated in the documentation, Factor factors the polynomial over the integers.

poly1=(x^4 + 2*Sqrt[3]x^2 - 1)(x^4 - 2*Sqrt[3]x^2 - 1);

poly2=Expand[poly1]

x^8 - 14*x^4 + 1

poly3=Factor[poly2]

(x^4 - 4*x^2 + 1)*(x^4 + 4*x^2 + 1)

You can change the default behavior:

poly4=Factor[poly2,Extension->Sqrt[3]]

(-x^2 + Sqrt[3] - 2)*(-x^2 + Sqrt[3] + 2)*(x^2 + Sqrt[3] - 2)*(x^2 + Sqrt[3] + 2)

poly5=(poly4/.Times[a_,b_,c_,d_]:>
        Times[Expand[a*b],Expand[c*d]])

(x^4 - 2*Sqrt[3]*x^2 - 1)*(x^4 + 2*Sqrt[3]*x^2 - 1)

poly1===poly5

True

poly1==poly2==poly3==poly4==poly5//Simplify

True

Equal@@(Solve[#==0,x]& /@ {poly1,poly2,poly3,poly4,poly5})

True


Bob Hanlon


---- Roger Bagula <rlbagula at sbcglobal.net> wrote: 
> Expand[(x^4 + 2*Sqrt[3]x^2 - 1)(x^4 - 2*Sqrt[3]x^2 - 1)]
> 1 - 14x^4 + x^8
> Factor[%]
> (1 - 4x^2 + x^4)(1 + 4x^2 + x^4)
> 

--

Bob Hanlon
hanlonr at cox.net



  • Prev by Date: Re: Convert expression to polynomial
  • Next by Date: Re: a fault in the Factor[] function for polynomials?
  • Previous by thread: Re: a fault in the Factor[] function for polynomials?
  • Next by thread: Re: a fault in the Factor[] function for polynomials?