Sets is a good play module for this purpose.  Union and Intersection
simplify pairwise much like Add and Mul would.  I like the pairwise methods
we have but the strategy to orchestrate them could use some cleaning up.
 Might be a good place to build intuition.

See https://github.com/sympy/sympy/pull/2979


On Fri, Apr 11, 2014 at 8:27 AM, Aaron Meurer <[email protected]> wrote:

> This has always been the original motivation for multiple dispatch, at
> least in my mind. You can't make objects that do their own thing in
> Add or Mul or whatever. There are a dozen example of this throughout
> SymPy, and a dozen more in user code. There are many hacky ways around
> it, but none are satisfactory.
>
> The problem is, how do you dispatch Add(*args). Any argument of the
> Add might want to do anything with any other argument. You don't want
> to require that arguments be next to each other, because then
> something as simple as Add(yourobject, 0, yourobject) wouldn't do the
> right thing. You can do the n**2 passes, but does it remain efficient
> at that point?
>
> I think we should just start to play with this, especially now that we
> have a decent implementation of multiple dispatch. I'd personally
> rather play with this with a module that I can understand (so, e.g.,
> matrix expressions rather than tensores), but anything is better than
> nothing.
>
> Aaron Meurer
>
> On Fri, Apr 11, 2014 at 5:17 AM, F. B. <[email protected]> wrote:
> >
> >
> > On Friday, April 11, 2014 1:29:11 AM UTC+2, Aaron Meurer wrote:
> >>
> >> There are probably little ways around these things, but nothing clean
> >> without dispatching in the core.
> >
> >
> > Another point in favor of multiple dispatching.
> >
> > By the way, tensor expressions should just become ordinary expression
> with
> > the addition of an index management mechanism, as well as other features
> > such as components data association.
> >
> > Of course some precautions should be taken, for example all indices have
> to
> > be contracted if you take the exponential of a tensor expression (I am
> > wondering, did anyone ever define a unique and consistent way to
> generalize
> > the matrix exponential to tensors of any rank?).
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sympy" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to [email protected].
> > To post to this group, send email to [email protected].
> > Visit this group at http://groups.google.com/group/sympy.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/sympy/b7592a77-00ef-4c82-a94b-f0e904581c63%40googlegroups.com
> .
> >
> > For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/CAKgW%3D6L%2B0wx_h1YFT83swB90WwYq_fL3W6q-61frXxr-rUo0YQ%40mail.gmail.com
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAJ8oX-Fh-a3sJ9NFRG%3DNt1bxcbkqcTLzcOPTMjGU4Hy%2BxEmdAg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to