Well,  I think it can be useful, especially since the commutative
property is lost if you do

>>> s = Symbol(dummy.name, *dummy.assumptions0)

But of course, it should not go in if I am the only one who is going to
use it.  I see your point about the need for a cleanup in the core :-P

Øyvind

ma., 05.04.2010 kl. 00.06 +0200, skrev Vinzent Steinberg:
> 2010/3/31 Øyvind Jensen <jensen.oyv...@gmail.com>:
> > In situations where it is natural to generate dummy symbols with
> > Symbol.as_dummy(), the reverse process may also be useful.
> >
> > Uncommented two tests for this.
> > ---
> >  sympy/core/symbol.py            |   11 +++++++++++
> >  sympy/core/tests/test_symbol.py |    4 ++--
> >  2 files changed, 13 insertions(+), 2 deletions(-)
> >
> > diff --git a/sympy/core/symbol.py b/sympy/core/symbol.py
> > index e405fbb..641bba8 100644
> > --- a/sympy/core/symbol.py
> > +++ b/sympy/core/symbol.py
> > @@ -104,6 +104,17 @@ def __new__(cls, name, commutative=True, 
> > **assumptions):
> >         obj.dummy_index = Dummy.dummycount
> >         return obj
> >
> > +    def as_nondummy(self):
> > +        """
> > +        Returns the corresponding non-dummy symbol
> > +
> > +        >>> from sympy import Symbol
> > +        >>> x1 = Symbol('x', dummy = True)
> > +        >>> x1.as_nondummy() == Symbol('x')
> > +        True
> > +        """
> > +        return Symbol(self.name, self.is_commutative, **self.assumptions0)
> > +
> >     def _hashable_content(self):
> >         return Symbol._hashable_content(self) + (self.dummy_index,)
> >
> > diff --git a/sympy/core/tests/test_symbol.py 
> > b/sympy/core/tests/test_symbol.py
> > index 5fb82ff..f0e8b6e 100644
> > --- a/sympy/core/tests/test_symbol.py
> > +++ b/sympy/core/tests/test_symbol.py
> > @@ -23,13 +23,13 @@ def test_as_dummy_nondummy():
> >     x1 = x.as_dummy()
> >     assert x1 != x
> >     assert x1 != x.as_dummy()
> > -    # assert x == x1.as_nondummy()
> > +    assert x == x1.as_nondummy()
> >
> >     x = Symbol('x', commutative = False)
> >     x1 = x.as_dummy()
> >     assert x1 != x
> >     assert x1.is_commutative == False
> > -    # assert x == x1.as_nondummy()
> > +    assert x == x1.as_nondummy()
> >
> >  def test_lt_gt():
> >     x, y = Symbol('x'), Symbol('y')
> > --
> > 1.6.5
> 
> I don't think this is useful, so I would rather not add it, but I
> don't mind much.
> 
> Vinzent
> 

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

Reply via email to