ImageSet.put_values() :
PR #11343
-
After the discussion Harsh told that it is better to use like
imageset.lamda(values_for_lambda_var)
directly, also don’t make lambda variables public , it should be local and before doingimageset.lamda(values_for_lambda_var)
this one need to check whether values are in ` base_set` or not. -
You can see the previous code here : gist
-
I updated the docs stating how to put certain values in ImageSet lambda variables.(reverted my changes and edited the ImageSet docs in the PR.)
Continue nonlinsolve :
PR #11111
- How Intersections and Complements are handled :
see these examples:
In [ ]: intr = Intersection(FiniteSet(x), Interval(1,10))
In [ ]: comp = Complement(FiniteSet(x), Interval(1,10))
In [ ]: intr
Out[ ]: [1, 10] ∩ {x}
In [ ]: comp
Out[ ]: {x} \ [1, 10]
In [ ]: type( Intersection(comp, Interval(1,11)))
Out[ ]: sympy.sets.sets.Complement
In [ ]: type(Complement(intr, Interval(1,2)))
Out[ ]: sympy.sets.sets.Complement
So first handling the Complements and then intersection will be checked in solveset soln.
-
nonlinsolve
can handle simple trigonometric system of equations but when complex equations is used then it will returnConditionSet
sincesolveset
trig solver is not smart enough right now. -
Trying to break the code into the functions to make the code better.
Continue Simplified Trig soln
PR #11188
- I was getting problem in ImageSet union when you run test. Sometimes it pass all the cases but not always. I found the problem (most probably because order of args in union.reduce is not always same for all the python version I am using FiniteSet so I hope it is good way to handle this.) Now it passes all the checks all time.
Meanwhile :
- I found that
Mod
is not defined for complex numbers. e.g.
In [1]: g = Mod(-log(3), 2*I*pi)
In [2]: g
Out[2]: Mod(-log(3), 2⋅ⅈ⋅π)
In [3]: simplify(g)
Out[3]: Mod(-log(3), 2⋅ⅈ⋅π)
In [4]: simplify(g)
Out[4]: Mod(-log(3), 2⋅ⅈ⋅π)
In [5]: g2 = Mod(-log(3), 2*pi)
In [6]: simplify(g2)
Out[6]: -log(3) + 2⋅π
In [7]: simplify(Mod(I,I))
Out[7]: 0
In [8]: simplify(Mod(2*I,I))
Out[8]: 0
In [9]: simplify(Mod(2*I,3*I))
Out[9]: 5⋅ⅈ
In [10]: simplify(Mod(2*I,1+3*I))
Out[10]: Mod(2⋅ⅈ, 1 + 3⋅ⅈ)
Need to implement Mod
for complex number as well. There is concept og Gaussian Integers
Some resources I found is this : link1, link2, link3 link4
-
One can see the issue 11391 for detail discussion.
-
Tried to fix the bug of
is_zero_dimensional
in this PR #11371.
continue..
Follow @shekharrajak