# 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+9

x^8+36x^7+84x^6+126x^5+126x^4+84x^3+36x^2+9x+1.

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+9

x^8+36x^7+84x^6+126x^5+126x^4+84x^3+36x^2+9x+1.

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)')
```

-1

```
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)
```

Asked: **
2014-02-06 04:38:29 -0600
**

Seen: **440 times**

Last updated: **Feb 07 '14**

How to dynamically substitute a variable in a callable function?

Substitution using Dictionary with Matrix as Value

How to substitute a function within derivatives?

Is applying a ring homomorphism faster than symbolic substitution?

substitute expression instead of formal function symbol

complete expansion of polynomial substitution

automatic substitution within functions?

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.

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`.