Hi, On 11 November 2014 01:13, Aaron Meurer <asmeu...@gmail.com> wrote: > Q is just a namespace for the assumptions, like Q.positive or Q.real. > > refine() simplifies things based on assumptions.
I think we shouldn't use "refine()" and "simplifies" together as this only can increase confusion. Simplification implies that there is an optimisation procedure applied. refine() just transforms an expression given some facts about it. Mateusz This example returns x - y, > because sqrt((x - y)**2) is equal to x - y if x - y is positive (but not in > general). > > What kinds of simplifications are you expecting to get out of your > constraints? > > Aaron Meurer > > > On Mon, Nov 10, 2014 at 5:42 PM, Andrew Spielberg <aespielb...@gmail.com> > wrote: >> >> Hi Aaron, >> >> Thanks for the speedy reply. I'm not sure I fully understand what this >> example does, or how. Could you perhaps elaborate? What is Q? What is the >> difference between refine and simplify? >> >> I should note that the entirety of my constraints will be linear, so if >> the current functionality can do that, that's enough. >> >> -Andy S. >> >> On Mon, Nov 10, 2014 at 5:06 PM, Aaron Meurer <asmeu...@gmail.com> wrote: >>> >>> There is a framework to do this with refine, like refine(sqrt((x - >>> y)**2), Q.positive(x - y)), but not much is implemented yet, so the >>> simplifications possible are quite limited (in fact, there's not much more >>> than the one that I just showed that is implemented). >>> >>> Aaron Meurer >>> >>> On Mon, Nov 10, 2014 at 3:58 PM, Andrew Spielberg <aespielb...@gmail.com> >>> wrote: >>>> >>>> Hi all, >>>> >>>> When creating variables, I know you can provide certain constraints on >>>> the domain of that variable. For instance, one could say that a certain >>>> variable, x, is positive, real, rational, etc. These constraints affect >>>> the >>>> way the simplify function behaves. >>>> >>>> I am wondering, without creating auxiliary variables, can add other >>>> constraints? For example, if I have a variable x that always must be >>>> greater than another variable y, can I specify: >>>> >>>> x > y >>>> >>>> in some way, and have the simplifier intelligently know how to handle >>>> it? I know I could change my representation to be a = (x - y) and do >>>> everything in terms of my variable a, and set a positive, but this is less >>>> than ideal and will not work in a lot of my cases. >>>> >>>> If there is no way to set these assumptions, is there some other >>>> recommended way to do intelligent simplification in some way? >>>> >>>> -Andy S. >>>> >>>> -- >>>> 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/80f87d8d-1504-40f6-b6d4-efb08cdcc824%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 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/CAKgW%3D6L3OorvtGQaXp7RUg2RGtVweSgUk2XNQ_tDs%2BqYB5-iMg%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 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/CAM6e1JdxBKnfSxEMPxJnUqkd7XwOdkU4fddaqPRQmqGAaMZO-A%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 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/CAKgW%3D6%2Bn0vvxOd3H%2B-4rRdQOh4Std7uCfjzFudvbs9gQzOM5yQ%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 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/CAGBZUCY_dQUZ095a2Gw8bXZZ3y%3D4co2vMvijApVCivw5yNNiAw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.