Re: a fault in the Factor[] function for polynomials?
- To: mathgroup at smc.vnet.net
- Subject: [mg70413] Re: [mg70395] a fault in the Factor[] function for polynomials?
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Mon, 16 Oct 2006 02:33:58 -0400 (EDT)
- Reply-to: hanlonr at cox.net
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