You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
That is right for the same reason that (x + 1).is_polynomial(y) -> True: because the expression is perceived as being independent of the "symbol" provided. This can be seen by considering a case known to be false:
/!\ Things become significantly more complicated when we allow non-symbols generators to stay in place while doing operations on expressions in terms of generators (e.g. solving, integrating, etc...). The problem is that you have to start being more precise and more careful when determining how you can treat an expression. e.g. Although (x**2 + x + 1).has(x + 1) is True this doesn't mean that you can separate the expressions into parts that have and don't have 1 + x because they are dependent on each other, both x**2 and 1 + x sharing symbol x. This is where the generator idea is more helpful: it will not identify x as a generator in f(x), nor will it identify x + 1 as one in x**2 + x + 1.
And if routines need to check generators at the outset to make sure they are the right type, then those routines might as well make life easier by just replacing them with a Symbol right from the start.
Well you can't define a polynomial in terms of its output symbol i guess
like
x = x*(x+2)
Note this is not a incremenation
you are treating this as a function
That is right for the same reason that
(x + 1).is_polynomial(y) -> True
: because the expression is perceived as being independent of the "symbol" provided. This can be seen by considering a case known to be false:This is addressed by #22539
The text was updated successfully, but these errors were encountered: