OK, thank you. I'll put together a couple of PRs when I have a moment.

Jack

On Wednesday, November 18, 2015 at 4:17:26 AM UTC, Jason Moore wrote:
>
> subs is slower and replace/xreplace should be used in places that need 
> exact matches of sub-expressions or nodes.
>
> There could be pitfalls if the code relies on the features of subs.
>
> Replacing the dummy symbols in linsolve sounds like a job for xreplace, 
> not subs.
>
> I'm not sure why the matrix class doesn't have an xreplace method. My 
> guess is we'd accept a pull request that adds one.
>
>
> Jason
> moorepants.info
> +01 530-601-9791
>
> On Tue, Nov 17, 2015 at 7:50 PM, Jack Kemp <jack.k...@gmail.com 
> <javascript:>> wrote:
>
>> On profiling my code I found it spent a lot of time in subs, particularly 
>> the subs call at the end of linsolve where it substitutes in your given 
>> free variables for the dummy parameters from gauss_jordan_solve. If I 
>> replace subs with xreplace I get a 10x speedup in the substitution process 
>> (250x without fastcache!).
>>
>> Are there any possible pitfalls in doing this? My understanding is the 
>> advantage of subs over xreplace is that it is mathematically aware, so 
>> (x**4).subs(x**2, y) will yield y**2 for example, while the same would not 
>> work for xreplace. But if one is always replacing just a free symbol, such 
>> as replacing the dummy symbol in linsolve, surely the two are equivalent? 
>> If so, should linsolve just use xreplace?
>>
>> On the subject, why does the matrix class not have an xreplace method 
>> which applies xreplace to its elements, like it has for subs?
>>
>> -- 
>> 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 sympy+un...@googlegroups.com <javascript:>.
>> To post to this group, send email to sy...@googlegroups.com <javascript:>
>> .
>> 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/da51f89a-b686-459d-a590-37049e42335d%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/sympy/da51f89a-b686-459d-a590-37049e42335d%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> 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 sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
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/c97625ca-c3d3-4a6c-96f3-59d81af43f9e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to