1 | initial version |

Looking at the source code, the problem seems to be that the `subs`

method requires to be able to count the number of generators of the parent of `poly`

(i.e. Symmetric Functions over Rational Field in the elementary basis), which is infinite.

Since this parent does not provide any `ngens`

method (that is supposed to count the number of generators), the `subs`

method just returns `poly`

unmodified.

So, you have to write your own. I am not completely sure, but i can suggest the following approach: you can have a look at the `map_item`

method of `poly`

. Since you basically want to replace e[1,1] by e[0] (=1), you can do:

```
sage: def substitution(item, coeff):
....: if item == Partition([1, 1]):
....: return (Partition([0]), coeff)
....: else:
....: return (item, coeff)
sage: poly.map_item(substitution)
e[] - 2*e[2]
```

2 | No.2 Revision |

Looking at the source code, the problem seems to be that the `subs`

method requires to be able to count the number of generators of the parent of `poly`

(i.e. Symmetric Functions over Rational Field in the elementary basis), which is infinite.

Since this parent does not provide any `ngens`

method (that is supposed to count the number of generators), the `subs`

method just returns `poly`

unmodified.

So, you have to write your own. I am not completely sure, but i can suggest the following approach: you can have a look at the `map_item`

method of `poly`

. Since you basically want to replace ~~e[1,1] ~~`e[1,1]`

by ~~e[0] ~~`e[0]`

(=1), you can do:

```
sage: def substitution(item, coeff):
....: if item == Partition([1, 1]):
....: return (Partition([0]), coeff)
....: else:
....: return (item, coeff)
sage: poly.map_item(substitution)
e[] - 2*e[2]
```

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.