# 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 -0500
**

Seen: **489 times**

Last updated: **Feb 07 '14**

Auto-substitute complex term to ease numeric evaluation

Changing notation in differential forms

How to substitute realpart and imagpart after conversion to rectform?

Substituting derivative in equation

substitute expression instead of formal function symbol

Substitute square in polynomial

Defining and manipulating vector equations with cross and dot products

Is applying a ring homomorphism faster than symbolic substitution?

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