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.