Continue - Diophantine in Solveset :
PR 11234
-
For general Pythagorean diop_type (Diophantine eq type), it seems diophantine always returns parameterized solution so I did some changes in the PR. commit
-
You can refer this comment.
Continue Simplified Trig soln
PR #11188
- After some changes, the PR is ready for review.
Continue nonlinsolve :
PR #11111
-
Added some XFAIL test-cases of system of Trigonometric equations.
solveset
trig solver (solve_trig
) is not smart enough(solveset
returnsConditionSet
, where soln can be simply inverse trig functions using_invert
or inverse Trigonometric functions). Sosolveset
returnsConditionSet
that meanssubstitution
is not getting soln. -
It is better to replace trigonometric functions or other
Function
with symbols
(e.g. sin(x)
–> u
, sin(y)
–> v
, f(x)
–> f_x
, g(x)
–> g_x
)
and then solve for the symbols. After getting solution from nonlinsolve
user can invert or do solveset
(e.g. solveset(Eq(sin(x), soln_u), x, domain) to get value of x
).
- Ready for review.
Meanwhile :
-
We already know that solveset need improved
invert_real
,invert_complex
andImageset
Intersections. -
previous work is in this PR 10971. Trying to improve them.
Some cases is here :
# In 2, 4, 5 intersection is not needed.
In [1]: img = ImageSet(Lambda(n, x/n), S.Complexes)
In [2]: Intersection(img, S.Complexes)
Out[2]:
⎧x ⎫
ℂ ∩ ⎨─ | n ∊ ℂ⎬
⎩n ⎭
In [3]: img = ImageSet(Lambda(n, x/n), S.Integers)
In [4]: Intersection(img, S.Complexes)
Out[4]:
⎧x ⎫
⎨─ | n ∊ ℤ⎬ ∩ ℂ
⎩n ⎭
In [5]: Intersection(ImageSet(Lambda(n, 2*n*I*pi), S.Integers), S.Complexes)
Out[5]: {2⋅ⅈ⋅π⋅n | n ∊ ℤ} ∩ ℂ
# ImageSet Intersection is not implemented when inverter returns multiple values.
# here ans should be {0, 1}
In [6]: img1 = ImageSet(Lambda(n, n**2), S.Integers)
In [7]: Intersection(img1, Interval(0,2))
Out[7]:
⎧ 2 ⎫
[0, 2] ∩ ⎨n | n ∊ ℤ⎬
⎩ ⎭
continue..
Follow @shekharrajak