I had a look at your PR 13045 <https://github.com/sympy/sympy/pull/13045> & 
made some comments.



On Saturday, March 24, 2018 at 7:11:39 PM UTC, Yathartha Joshi wrote:
>
> Sorry for my late response (I was busy traveling). I see what you are 
> trying to suggest of implementing for imageset, but I am still not sure 
> about it whether it will be a good idea or not.
> I will open an issue-cum-discussion for discussing the API.
>
> Thanks!
> Yathartha
> On Saturday, March 24, 2018 at 7:14:54 AM UTC+5:30, Aaron Meurer wrote:
>>
>> On Fri, Mar 23, 2018 at 6:56 AM, Yathartha Joshi <yatha...@gmail.com> 
>> wrote: 
>> > I am not sure of IndexSet usage but the reason I thought of it was that 
>> > whenever we need to represent arbitrary set we have a notion of 
>> indexing so 
>> > that is why I thought of having IndexSet. 
>> > 
>> https://math.stackexchange.com/questions/485244/indexed-families-and-arbitrary-sets-notation
>>  
>> > http://www.math.umaine.edu/~farlow/sec22.pdf 
>>
>> You do need indexing to represent U A_i in general, but my point is 
>> that ImageSet as you've defined it shouldn't be necessary. 
>>
>> To represent something like U [2*n, 2*n + 1] would require something 
>> like BigUnion(Interval(2*n, 2*n + 1), n, Integers). The indexing is 
>> done by the symbol that's used to define the set. We could also make 
>> some way to create an arbitrary set parameterized by a variable, like 
>> A_k so that U_{k \in I} A_k can be represented (do we currently have 
>> any kind of arbitrary set object?). 
>>
>> > 
>> >> And you still haven't answered where infinite unions are needed for 
>> >> solveset. 
>> > 
>> > I thought of using BigUnion where there is a union of more than one 
>> > imagesets, (like in case of trigonometric equations) 
>> > 
>> >>>> solveset(sin(x), x, S.Reals) 
>> > Union(ImageSet(Lambda(_n, 2*_n*pi), S.Integers), ImageSet(Lambda(_n, 
>> 2*_n*pi 
>> > + pi), S.Integers)) 
>> > # (sin(2*x) + sin(4*x) + sin(6*x)) will have lots of union of imagesets 
>> > BigUnion could give `ImageSet(Lambda(_n, _n*pi), S.Integers)`, 
>> (although 
>> > _union of imageset is under development, BigUnion can act as helper) 
>>
>> I'm still not following why it is needed, since this is still a union 
>> of a finite number of sets (even though the sets themselves are 
>> infinite).  But maybe I'm missing something. 
>>
>> However, I suppose it could be useful for inequalities, and possibly 
>> solutions in the complex domain or in higher dimensions. For instance, 
>> sin(x) >= 0 has a solution set U_{n integer} [2*n*pi, (2*n + 1)*pi]. 
>>
>> > 
>> > I guess this is an idea that is in an initial stage (and that is why I 
>> can't 
>> > imagine it in larger scale), and if you suggest that it won't be 
>> feasible I 
>> > would rather remove it from the proposal. 
>>
>> I think it is feasible. BigUnion is probably quite straightforward to 
>> implement, once we agree on an API. 
>>
>> Aaron Meurer 
>>
>> > 
>> > Thanks 
>> > Yathartha 
>> > On Friday, March 23, 2018 at 11:56:03 AM UTC+5:30, Aaron Meurer wrote: 
>> >> 
>> >> I'm not seeing an instance where IndexSet is useful. For finite 
>> >> collections of sets, it is redundant, as Union and Intersection can 
>> >> already take a finite number of arguments. For infinite collections, 
>> >> whatever symbol you index over would already exist in the collection 
>> >> itself (for instance, n in Interval(2*n, 2*n + 1)) 
>> >> 
>> >> And you still haven't answered where infinite unions are needed for 
>> >> solveset. 
>> >> 
>> >> Aaron Meurer 
>> >> 
>> >> On Fri, Mar 23, 2018 at 12:14 AM, Yathartha Joshi <yatha...@gmail.com> 
>>
>> >> wrote: 
>> >> > What I understood about BigUnion and BigIntersection from here. 
>> BigUnion 
>> >> > for 
>> >> > set of finitesets will work similar to union but for set of 
>> imagesets 
>> >> > (infinite sets) we will be returning a unified solution. 
>> >> > 
>> >> > say for eg: [2*n , 2*n - 1 for n in Integers] passing it to Bigunion 
>> >> > will 
>> >> > yield something like [n for n in Integers] and BigIntersection would 
>> >> > yield 
>> >> > EmptySet. 
>> >> > 
>> >> > See 
>> https://github.com/sympy/sympy/issues/9815#issuecomment-373978030 
>> >> > 
>> >> > In solveset when union of imagesets are returned we can apply big 
>> union 
>> >> > to 
>> >> > get the unified result (probably could help the _union of imagesets 
>> once 
>> >> > its 
>> >> > implemented). 
>> >> > 
>> >> > IndexSet will be implemented to get access to set of sets through 
>> >> > indexing, 
>> >> > a number of sets will be passed as parameters and an instance of 
>> >> > IndexSet 
>> >> > will be returned with indices mapped to each of the sets in the 
>> sets. 
>> >> > This 
>> >> > way we can get access to a set of sets. 
>> >> > 
>> >> >>>> X = IndexSet(FiniteSet(1, 2, ,3), FiniteSet(4, 5)); X 
>> >> >>>> X[0] 
>> >> > FiniteSet(1, 2 ,3) 
>> >> >>>>X[1] 
>> >> > FiniteSet(4, 5) 
>> >> > 
>> >> > 
>> >> > On Friday, March 23, 2018 at 5:44:13 AM UTC+5:30, Aaron Meurer 
>> wrote: 
>> >> >> 
>> >> >> Regarding BigUnion, what is the point of having it and IndexSet 
>> that 
>> >> >> can only represent a finite number of sets? Union can already do 
>> this 
>> >> >> without the indirection. I'm also unclear where this will be needed 
>> >> >> for solveset. 
>> >> >> 
>> >> >> Aaron Meurer 
>> >> >> 
>> >> >> On Thu, Mar 22, 2018 at 4:38 PM, Yathartha Joshi <
>> yatha...@gmail.com> 
>> >> >> wrote: 
>> >> >> > Sorry I just gave the access to amit kumar, I have changed it, 
>> please 
>> >> >> > have a 
>> >> >> > look. 
>> >> >> > 
>> >> >> > Thanks! 
>> >> >> > 
>> >> >> > 
>> >> >> > On Friday, March 23, 2018 at 1:54:31 AM UTC+5:30, Aaron Meurer 
>> wrote: 
>> >> >> >> 
>> >> >> >> When I click on that link it says I don't have access. 
>> >> >> >> 
>> >> >> >> I recommend starting your proposal on 
>> >> >> >> https://summerofcode.withgoogle.com and linking the draft 
>> proposal 
>> >> >> >> there. That will make it easier to find in the future. 
>> >> >> >> 
>> >> >> >> Aaron Meurer 
>> >> >> >> 
>> >> >> >> On Thu, Mar 22, 2018 at 4:01 PM, Yathartha Joshi 
>> >> >> >> <yatha...@gmail.com> 
>> >> >> >> wrote: 
>> >> >> >> > I have created a proposal here. It would be great if you could 
>> >> >> >> > review 
>> >> >> >> > it 
>> >> >> >> > and 
>> >> >> >> > suggest any changes. 
>> >> >> >> > 
>> >> >> >> > Thanks in advance. 
>> >> >> >> > Yathartha 
>> >> >> >> > 
>> >> >> >> > On Thursday, March 22, 2018 at 11:08:27 PM UTC+5:30, Yathartha 
>> >> >> >> > Joshi 
>> >> >> >> > wrote: 
>> >> >> >> >> 
>> >> >> >> >> 
>> >> >> >> >> On Thursday, March 22, 2018 at 2:26:18 PM UTC+5:30, Amit 
>> Kumar 
>> >> >> >> >> wrote: 
>> >> >> >> >>> 
>> >> >> >> >>> Hey Yathartha, 
>> >> >> >> >>> 
>> >> >> >> >>> That sounds good. 
>> >> >> >> >>> 
>> >> >> >> >>> Cheers! 
>> >> >> >> >>> Amit 
>> >> >> >> >> 
>> >> >> >> >> 
>> >> >> >> >> Okay! Thanks. 
>> >> >> >> >> 
>> >> >> >> >> Also, I was thinking was making absolute value expressions to 
>> >> >> >> >> work 
>> >> >> >> >> in 
>> >> >> >> >> complex domain. I found a few equations that have complex 
>> >> >> >> >> solutions: 
>> >> >> >> >> 
>> >> >> >> >> 
>> >> >> >> >> 
>> >> >> >> >> 
>> http://www.wolframalpha.com/input/?i=solve(abs(x-2)+%2Babs(x)+-+7,+x) 
>> >> >> >> >> http://www.wolframalpha.com/input/?i=solve(abs(x-2)+-2+,+x) 
>> >> >> >> >> 
>> >> >> >> >> 
>> >> >> >> >> 
>> >> >> >> >> 
>> >> >> >> >> 
>> http://www.wolframalpha.com/input/?i=solve(abs(x-2)+%2Babs(x+%2B4)+-+16,+x) 
>> >> >> >> >> 
>> >> >> >> >> I was trying to figure out a possible way to solve this, but 
>> I am 
>> >> >> >> >> facing 
>> >> >> >> >> difficulty in getting to the solution. I tried asking the 
>> >> >> >> >> question 
>> >> >> >> >> here, and 
>> >> >> >> >> got the only possible way. Can you provide me with some 
>> >> >> >> >> suggestions 
>> >> >> >> >> regarding this? Is there a specific reason as to why solveset 
>> >> >> >> >> (and 
>> >> >> >> >> even 
>> >> >> >> >> solve) is not made to solve in complex domain. 
>> >> >> >> >> 
>> >> >> >> > -- 
>> >> >> >> > 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+un...@googlegroups.com. 
>> >> >> >> > To post to this group, send email to sy...@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/aecef52c-4e2e-40b0-9b1c-3cf7c022374c%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+un...@googlegroups.com. 
>> >> >> > To post to this group, send email to sy...@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/862ac528-e77b-46e6-b751-e5ef532a2e46%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+un...@googlegroups.com. 
>> >> > To post to this group, send email to sy...@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/34765644-ae2a-4332-9a17-52e54c056f9c%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+un...@googlegroups.com. 
>> > To post to this group, send email to sy...@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/5f6aa7cc-6d9e-4ef6-8190-5f9581d858bc%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/02ad972e-b4a2-48c1-b883-df6d81df7757%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to