Thanks, I've commented there.

On Sat, 27 Oct 2018 at 20:40, Chris Smith <smi...@gmail.com> wrote:
>
> See this issue for previous discussion.
>
> On Saturday, October 27, 2018 at 12:44:09 PM UTC-5, Oscar wrote:
>>
>> Hi all,
>>
>> I find the behaviour of operations involving Eq strange. I would
>> really like to be able to use Eqs for algebra but they don't seem to
>> do anything useful. Is this behaviour intentional or is it something
>> that could be improved?
>>
>> Setup:
>> >>> from sympy import *
>> >>> x = Symbol('x')
>> >>> y = Symbol('y')
>> >>> eq = Eq(x, y)
>> >>> eq
>> Eq(x, y)
>> >>> pprint(eq)
>> x = y
>>
>> I don't understand what any of these mean:
>> >>> pprint(2*eq)
>> 2⋅(x = y)
>> >>> pprint((2*eq).expand())
>> 2⋅(x = y)
>> >>> exp(eq)
>> exp(Eq(x, y))
>> >>> pprint(abs(eq))
>> │x = y│
>> >>> eq - 1
>> -1 + Eq(x, y)
>> >>> pprint(eq - 1)
>> -1 + (x = y)
>>
>> Integration works but differentiation doesn't:
>> >>> pprint(integrate(eq, x))
>> ⌠        ⌠
>> ⎮ x dx = ⎮ y dx
>> ⌡        ⌡
>> >>> pprint(integrate(eq, x).doit())
>>  2
>> x
>> ── = x⋅y
>> 2
>> >>> diff(eq, x)
>> Derivative(Eq(x, y), x)
>> >>> pprint(diff(eq, x))
>> ∂
>> ──(x = y)
>> ∂x
>> >>> pprint(diff(eq, x).doit())
>> ∂
>> ──(x = y)
>> ∂x
>>
>> Functions of Eq raise errors:
>> >>> sin(eq)
>> ...
>> TypeError: cannot determine truth value of Relational
>>
>> It looks as if I can chain equations and inequalities but does it
>> actually mean what it looks like mathematically?
>> >>> eq < 3
>> Eq(x, y) < 3
>> >>> pprint(eq < 3)
>> x = y < 3
>>
>> Apart from the inequality example at the end I would like it if all of
>> the above operations acted on both lhs and rhs separately as in the
>> case of integration e.g.:
>>
>> >>> eq
>> x = y
>> >>> 2*eq
>> 2*x = 2*y
>> >>> sin(eq)
>> sin(x) = sin(y)
>>
>> The other thing that I don't understand although it is clearly
>> documented is this:
>> >>> Eq(1, 1)
>> True
>> >>> Eq(1, 0)
>> False
>>
>> These True/False values are annoying if you are building up Eqs
>> programatically e.g. to pass to solve:
>> >>> solve([Eq(1, 1), Eq(x, y), Eq(x, 1)], [x, y])
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File "/Users/enojb/current/sympy/sympy/sympy/solvers/solvers.py",
>> line 980, in solve
>>     return reduce_inequalities(f, symbols=symbols)
>>   File "/Users/enojb/current/sympy/sympy/sympy/solvers/inequalities.py",
>> line 987, in reduce_inequalities
>>     rv = _reduce_inequalities(inequalities, symbols)
>>   File "/Users/enojb/current/sympy/sympy/sympy/solvers/inequalities.py",
>> line 907, in _reduce_inequalities
>>     '''))
>> NotImplementedError:
>> inequality has more than one symbol of interest.
>>
>> You can solve this last problem with evaluate=False but I really don't
>> understand why any evaluation is desirable here. I think that solve
>> has probably gotten confused here for the same reason that any other
>> code would: the True/False objects don't have any of the same
>> attributes that an Eq would have:
>>
>> >>> Eq(0, 1).lhs
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>> AttributeError: 'BooleanFalse' object has no attribute 'lhs'
>>
>>
>> --
>> Oscar
>
> --
> 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 https://groups.google.com/group/sympy.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/420d940b-663f-4af7-b4eb-59a048d0bdb3%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 https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAHVvXxSKpPy3rGkATFNcb_gc1YbFGA65PQ6FT3Sgb-%3Dw7kfhNA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to