On Fri, Apr 3, 2009 at 8:41 AM, Colin Gillespie <c.gilles...@ncl.ac.uk> wrote:
>
> Dear All,
>
> Quick question. I have a polynomial:
>
> p =Poly(2*x*y+y, x, y)
>
> and I want to substitute in y = y+5 and x= x+1 How would I do this?
>
> I've tried things like:
>
> p.subs((y, y+5), (x, x+1))
>
> but this doesn't work.

Here is what I would do:


In [1]: p =Poly(2*x*y+y, x, y)

In [2]: p.as
p.as_base_exp        p.as_independent     p.as_primitive
p.as_basic           p.as_integer         p.as_real_imag
p.as_coeff_exponent  p.as_leading_term    p.as_reduced
p.as_coeff_factors   p.as_monic           p.as_squarefree
p.as_coeff_terms     p.as_numer_denom     p.as_uv_dict
p.as_coefficient     p.as_poly            p.assumptions0
p.as_dict            p.as_powers_dict

In [2]: p.as_basic()
Out[2]: y + 2⋅x⋅y

In [3]: p.as_basic().subs({y: y+5, x: x+1})
Out[3]: 5 + y + 2⋅(1 + x)⋅(5 + y)

In [4]: Poly(p.as_basic().subs({y: y+5, x: x+1}))
---------------------------------------------------------------------------
SymbolsError                              Traceback (most recent call last)

/home/ondrej/repos/sympy/<ipython console> in <module>()

/home/ondrej/repos/sympy/sympy/polys/polynomial.pyc in __new__(cls,
poly, *symbols, **flags)
    298                     return poly
    299             else:
--> 300                 raise SymbolsError("No symbols were given")
    301
    302         stamp = frozenset(symbols)

SymbolsError: No symbols were given

In [5]: Poly(p.as_basic().subs({y: y+5, x: x+1}), x, y)
Out[5]: Poly(2*x*y + 10*x + 3*y + 15, x, y)

In [6]:

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com
To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to