Hi Jeremy, thanks for sharing your link and thanks for compiling the documentation. And indeed it helped, with the information I could easily fix it:
rd@h370:~/tmp.nobackup$ cat test-sympy.py import sympy x, y, z = sympy.symbols('x y z') sympy.init_printing(use_unicode=True) print(sympy.solvers.inequalities.reduce_rational_inequalities([[x + 2 > 0]], x)) print(sympy.solvers.inequalities.reduce_rational_inequalities([[x + 2 > 0,x < 5]], x)) rd@h370:~/tmp.nobackup$ python3 test-sympy.py (-2 < x) & (x < oo) (-2 < x) & (x < 5) rd@h370:~/tmp.nobackup$ I read through your page and posted some feedback at https://github.com/sympy/sympy/pull/23768 My real problem is somewhat more complex though: I want to find out if f_vec+a*x_vec+b*y_vec+n*s_vec=sh_vec+c*xsh_vec+d*ysh_vec has a solution with 0<=a,b,c,d<=1 All quantities with _vec are 3 dimensional vectors. I want to to find out if for a given set of vectors a solution exists or not. Extending my testcase in this direction does not work though: rd@h370:~/tmp.nobackup$ cat test-sympy.py import sympy x, y, z = sympy.symbols('x y z') sympy.init_printing(use_unicode=True) print(sympy.solvers.inequalities.reduce_rational_inequalities([[x + 2 > 0]], x)) print(sympy.solvers.inequalities.reduce_rational_inequalities([[x*5 + y*2 = 10,x <= 1, x >= 0, y <= 1, y >= 0]], x)) rd@h370:~/tmp.nobackup$ python3 test-sympy.py File "/home/rd/tmp.nobackup/test-sympy.py", line 9 print(sympy.solvers.inequalities.reduce_rational_inequalities([[x*5 + y*2 = 10,x <= 1, x >= 0, y <= 1, y >= 0]], x)) ^ SyntaxError: invalid syntax rd@h370:~/tmp.nobackup$ I suspect that reduce_rational_inequalities is the wrong approach here, but what would the the right functions to use? Any hint is welcome :-) Many thanks Rainer PS: Also thanks for hint towards less-verbose function calls. I typically write it verbose, since I am not writing Python code too frequently, and for me the verbose version is something like a documentation, since I see where the functions come from. Am Samstag, 6. August 2022, 17:19:45 CEST schrieb Jeremy Monat: > Hi Ranier, > > Here's a way to do it: > >>> import sympy > >>> x, y, z = sympy.symbols('x y z') > >>> sympy.solvers.inequalities.reduce_inequalities([x + 2 > 0, x < 5], x) > > (-2 < x) & (x < 5) > > reduce_inequalities is the top-level inequality reducer, which will call > other lower-level functions (such as reduce_rational_inequalities) as > needed. reduce_inequalities takes a simple list, rather than a nested list, > of inequalities. > > I'm actually drafting a guide page on this topic now; glad to know it's of > interest! You can access the draft > <https://output.circle-artifacts.com/output/job/a1f8297d-6be8-4627-9f47-a969 > 709f9293/artifacts/0/doc/_build/html/guides/solving/solve-system-of-inequali > ties-algebraically.html>, and I'd appreciate any feedback (either here or on > the pull request <https://github.com/sympy/sympy/pull/23768> on GitHub). > > Best, > Jeremy > > P.S. If you like, you can use less-verbose function calls by importing > > reduce_inequalities and symbols from SymPy: > >>> from sympy import reduce_inequalities, symbols > >>> x, y, z = symbols('x y z') > >>> reduce_inequalities([x + 2 > 0, x < 5], x) > > (-2 < x) & (x < 5) > > On Sat, Aug 6, 2022 at 3:31 AM 'Rainer Dorsch' via sympy < > > sympy@googlegroups.com> wrote: > > Hi, > > > > I just started with sympy, and try to understand how to tell sympy, what I > > want. I tried > > print(sympy.solvers.inequalities.reduce_rational_inequalities([[x + 2 > > > 0],[x > > < 5]], x)) > > and expected > > (-2 < x) & (x < 5) > > but got > > (-oo < x) & (x < oo) > > Can anybody tell how I can tell sympy that x should satisfy both > > inequalities > > the same time? > > For me it seems sympy rather interprets the set of equations rather as an > > "or" > > and not an "and" > > > > Here is the full example > > > > rd@h370:~/tmp.nobackup$ cat test-sympy.py > > import sympy > > > > x, y, z = sympy.symbols('x y z') > > sympy.init_printing(use_unicode=True) > > > > print(sympy.solvers.inequalities.reduce_rational_inequalities([[x + 2 > > > 0]], > > x)) > > > > > > print(sympy.solvers.inequalities.reduce_rational_inequalities([[x + 2 > > > 0],[x > > < 5]], x)) > > rd@h370:~/tmp.nobackup$ python3 test-sympy.py > > (-2 < x) & (x < oo) > > (-oo < x) & (x < oo) > > rd@h370:~/tmp.nobackup$ > > > > > > Any hint is welcome. > > > > Thanks > > Rainer > > > > > > -- > > Rainer Dorsch > > http://bokomoko.de/ > > > > > > -- > > 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 view this discussion on the web visit > > https://groups.google.com/d/msgid/sympy/4120287.OZXsGyJSKq%40h370. -- Rainer Dorsch http://bokomoko.de/ -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sympy/4506944.rMRylAWVxT%40h370.