algebraic substitution
How can I imitate the algsubs function of Maple? A little example:
p = x^18
algsubs(x^2=x+1,p)
The reult in Maple is:
x^9+9x^8+36x^7+84x^6+126x^5+126x^4+84x^3+36x^2+9x+1.
How can I imitate the algsubs function of Maple? A little example:
p = x^18
algsubs(x^2=x+1,p)
The reult in Maple is:
x^9+9x^8+36x^7+84x^6+126x^5+126x^4+84x^3+36x^2+9x+1.
It seems that there are not the same function in sagemath but we can use " ratsubst " function of maxima
sage : maxima('p:x^18')
sage : maxima('ratsubst(a+1,x^2,p)')
var('y')
P = x^18
eqn = x^2 == y + 1
soln = solve(eqn,x)
P = P.subs(x=soln[0].rhs())
P.expand().subs(y=x)
It works only for even powers.
For example, if P = x^17 = x^16*x=(x^2)^4*x=(x+1)^4*x. But it is impossible with this method.
Out of curiosity, what do you want when you have `x^{17}`? Something with a square root? And if so, which square root?
Asked: 11 years ago
Seen: 1,486 times
Last updated: Feb 07 '14
What is the mathematical meaning of this function ? If you want `x^2` to be equal to `x+1`, then the optimal result would be a polynomial of degree 1, namely `2584*x + 1597`.