Skip to main content
added 326 characters in body
Source Link
Smilia
  • 613
  • 5
  • 15

Consider a polynomial $p(x,y)$ and we want to simplify $p(x,y_0)$ where $y_0$ is a root of some other polynomial $q(y)$.

In Maple I would use something like:

simplify(algsubs(q(y0)=0),p(x,y_0))

But using the following syntax in Mathematica doesn't work:

pxy /. {q(y0)=0}

Here is my precise example:

pxy0=-(x^14*(1 - 2*y0)^6) + 32*(1 - 3*y0)^6*(-1 + y0)^8*
  (1 + 2*y0 - 4*y0^2 + 2*y0^3) + 4*x^12*(1 - 2*y0)^4*
  (4 - 33*y0 + 92*y0^2 - 99*y0^3 + 36*y0^4) + 
 4*x^8*(1 - 6*y0 + 11*y0^2 - 6*y0^3)^2*(37 - 391*y0 + 1699*y0^2 - 3910*y0^3 + 
   4964*y0^4 - 3238*y0^5 + 840*y0^6) - 32*x^2*(-1 + y0)^6*(-1 + 3*y0)^5*
  (5 - 31*y0 + 73*y0^2 - 65*y0^3 - 7*y0^4 + 44*y0^5 - 26*y0^6 + 6*y0^7) + 
 8*x^6*(-1 + y0)^4*(-1 + 3*y0)^3*(-29 + 306*y0 - 1409*y0^2 + 3828*y0^3 - 
   6720*y0^4 + 7432*y0^5 - 4572*y0^6 + 1152*y0^7) + 
 8*x^4*(1 - 4*y0 + 3*y0^2)^4*(31 - 276*y0 + 1020*y0^2 - 2172*y0^3 + 
   3226*y0^4 - 3696*y0^5 + 3032*y0^6 - 1452*y0^7 + 288*y0^8) + 
 2*x^10*(1 - 2*y0)^2*(37 - 586*y0 + 3933*y0^2 - 14594*y0^3 + 32722*y0^4 - 
   45380*y0^5 + 38016*y0^6 - 17604*y0^7 + 3456*y0^8)

But the following expression still contains power of $y_0$ more than 3:

pxy0 /. {y0^3->2 y0^2-y0-1/2} //Expand // Simplify

EDIT for the first comment:

This command does not make the job:

(243 - 13*x^2 - 564*y0 - 1588*y0^2 + 7550*y0^3 - 9284*y0^4 + 2040*y0^5 + 5232*y0^6 - 5408*y0^7 + 2240*y0^8 - 384*y0^9)
Simplify[%, {y0^3==2*y0^2-y0-x^2 (1-2 y0)/2-1/2}]

Consider a polynomial $p(x,y)$ and we want to simplify $p(x,y_0)$ where $y_0$ is a root of some other polynomial $q(y)$.

In Maple I would use something like:

simplify(algsubs(q(y0)=0),p(x,y_0))

But using the following syntax in Mathematica doesn't work:

pxy /. {q(y0)=0}

Here is my precise example:

pxy0=-(x^14*(1 - 2*y0)^6) + 32*(1 - 3*y0)^6*(-1 + y0)^8*
  (1 + 2*y0 - 4*y0^2 + 2*y0^3) + 4*x^12*(1 - 2*y0)^4*
  (4 - 33*y0 + 92*y0^2 - 99*y0^3 + 36*y0^4) + 
 4*x^8*(1 - 6*y0 + 11*y0^2 - 6*y0^3)^2*(37 - 391*y0 + 1699*y0^2 - 3910*y0^3 + 
   4964*y0^4 - 3238*y0^5 + 840*y0^6) - 32*x^2*(-1 + y0)^6*(-1 + 3*y0)^5*
  (5 - 31*y0 + 73*y0^2 - 65*y0^3 - 7*y0^4 + 44*y0^5 - 26*y0^6 + 6*y0^7) + 
 8*x^6*(-1 + y0)^4*(-1 + 3*y0)^3*(-29 + 306*y0 - 1409*y0^2 + 3828*y0^3 - 
   6720*y0^4 + 7432*y0^5 - 4572*y0^6 + 1152*y0^7) + 
 8*x^4*(1 - 4*y0 + 3*y0^2)^4*(31 - 276*y0 + 1020*y0^2 - 2172*y0^3 + 
   3226*y0^4 - 3696*y0^5 + 3032*y0^6 - 1452*y0^7 + 288*y0^8) + 
 2*x^10*(1 - 2*y0)^2*(37 - 586*y0 + 3933*y0^2 - 14594*y0^3 + 32722*y0^4 - 
   45380*y0^5 + 38016*y0^6 - 17604*y0^7 + 3456*y0^8)

But the following expression still contains power of $y_0$ more than 3:

pxy0 /. {y0^3->2 y0^2-y0-1/2} //Expand // Simplify

Consider a polynomial $p(x,y)$ and we want to simplify $p(x,y_0)$ where $y_0$ is a root of some other polynomial $q(y)$.

In Maple I would use something like:

simplify(algsubs(q(y0)=0),p(x,y_0))

But using the following syntax in Mathematica doesn't work:

pxy /. {q(y0)=0}

Here is my precise example:

pxy0=-(x^14*(1 - 2*y0)^6) + 32*(1 - 3*y0)^6*(-1 + y0)^8*
  (1 + 2*y0 - 4*y0^2 + 2*y0^3) + 4*x^12*(1 - 2*y0)^4*
  (4 - 33*y0 + 92*y0^2 - 99*y0^3 + 36*y0^4) + 
 4*x^8*(1 - 6*y0 + 11*y0^2 - 6*y0^3)^2*(37 - 391*y0 + 1699*y0^2 - 3910*y0^3 + 
   4964*y0^4 - 3238*y0^5 + 840*y0^6) - 32*x^2*(-1 + y0)^6*(-1 + 3*y0)^5*
  (5 - 31*y0 + 73*y0^2 - 65*y0^3 - 7*y0^4 + 44*y0^5 - 26*y0^6 + 6*y0^7) + 
 8*x^6*(-1 + y0)^4*(-1 + 3*y0)^3*(-29 + 306*y0 - 1409*y0^2 + 3828*y0^3 - 
   6720*y0^4 + 7432*y0^5 - 4572*y0^6 + 1152*y0^7) + 
 8*x^4*(1 - 4*y0 + 3*y0^2)^4*(31 - 276*y0 + 1020*y0^2 - 2172*y0^3 + 
   3226*y0^4 - 3696*y0^5 + 3032*y0^6 - 1452*y0^7 + 288*y0^8) + 
 2*x^10*(1 - 2*y0)^2*(37 - 586*y0 + 3933*y0^2 - 14594*y0^3 + 32722*y0^4 - 
   45380*y0^5 + 38016*y0^6 - 17604*y0^7 + 3456*y0^8)

But the following expression still contains power of $y_0$ more than 3:

pxy0 /. {y0^3->2 y0^2-y0-1/2} //Expand // Simplify

EDIT for the first comment:

This command does not make the job:

(243 - 13*x^2 - 564*y0 - 1588*y0^2 + 7550*y0^3 - 9284*y0^4 + 2040*y0^5 + 5232*y0^6 - 5408*y0^7 + 2240*y0^8 - 384*y0^9)
Simplify[%, {y0^3==2*y0^2-y0-x^2 (1-2 y0)/2-1/2}]
Source Link
Smilia
  • 613
  • 5
  • 15

Algebraic substitution for polynomial simplification

Consider a polynomial $p(x,y)$ and we want to simplify $p(x,y_0)$ where $y_0$ is a root of some other polynomial $q(y)$.

In Maple I would use something like:

simplify(algsubs(q(y0)=0),p(x,y_0))

But using the following syntax in Mathematica doesn't work:

pxy /. {q(y0)=0}

Here is my precise example:

pxy0=-(x^14*(1 - 2*y0)^6) + 32*(1 - 3*y0)^6*(-1 + y0)^8*
  (1 + 2*y0 - 4*y0^2 + 2*y0^3) + 4*x^12*(1 - 2*y0)^4*
  (4 - 33*y0 + 92*y0^2 - 99*y0^3 + 36*y0^4) + 
 4*x^8*(1 - 6*y0 + 11*y0^2 - 6*y0^3)^2*(37 - 391*y0 + 1699*y0^2 - 3910*y0^3 + 
   4964*y0^4 - 3238*y0^5 + 840*y0^6) - 32*x^2*(-1 + y0)^6*(-1 + 3*y0)^5*
  (5 - 31*y0 + 73*y0^2 - 65*y0^3 - 7*y0^4 + 44*y0^5 - 26*y0^6 + 6*y0^7) + 
 8*x^6*(-1 + y0)^4*(-1 + 3*y0)^3*(-29 + 306*y0 - 1409*y0^2 + 3828*y0^3 - 
   6720*y0^4 + 7432*y0^5 - 4572*y0^6 + 1152*y0^7) + 
 8*x^4*(1 - 4*y0 + 3*y0^2)^4*(31 - 276*y0 + 1020*y0^2 - 2172*y0^3 + 
   3226*y0^4 - 3696*y0^5 + 3032*y0^6 - 1452*y0^7 + 288*y0^8) + 
 2*x^10*(1 - 2*y0)^2*(37 - 586*y0 + 3933*y0^2 - 14594*y0^3 + 32722*y0^4 - 
   45380*y0^5 + 38016*y0^6 - 17604*y0^7 + 3456*y0^8)

But the following expression still contains power of $y_0$ more than 3:

pxy0 /. {y0^3->2 y0^2-y0-1/2} //Expand // Simplify