>
>
> > We only need things
>
>> like multi-pattern unification and AC unification.
>>
>
> I do not know what exactly these are.
> I read that AC unification can be polynomial, which sounds like a
> potential performance bottleneck; do we really need it?


Given expression (like sin(2*x) + cos(2*x)) we need to match against many
possible patterns (like, every known trig identity).  It's possible to
store all of the patterns in a good data structure so that we can check
them all simultaneously (see Trie for something similar).  We need to do
this matching in a way that is aware of commutative operators (like +).
 Naive solutions to this are very slow.  There exists sophisticated
solutions.

>
>  Note that there are mature efficient projects that do this (and lots of
>> other things) already.  Elan and Stratego/XT come to mind.  They're heavy
>> dependencies though.
>>
>
> I'm not sure what the consensus on dependencies is, but I myself think
> that a dependency is okay if we can either make sure that a specific,
> tested version is used, or if we expect the APIs to be stable and the need
> to fork for bug fixes or extensions is nonexistent.


When I say heavy I mean that these are straight research projects.  They're
very good but there is virtually no distribution support here.

-- 
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-F%3D2aYDK1KF-%3D2PNwqnKXvUqiaoY88kQrWtD1h-PMhzZA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to