Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-24 Thread Amit Kumar
I had a look at your PR 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  
>> 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  
>>
>> >> 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 

Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-24 Thread Yathartha Joshi
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  > 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  
> >> 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. 
> >> >> 

Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-23 Thread Aaron Meurer
On Fri, Mar 23, 2018 at 6:56 AM, Yathartha Joshi  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 
>> 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 
>> >> 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 

Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-23 Thread Yathartha Joshi
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

> 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 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.

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  > 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  
> >> 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  
>
> >> >> 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) 
> >> >> >> 
> >> >> >> 
> >> >> >> 
> >> >> >> 
> 

Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-23 Thread Aaron Meurer
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  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 
>> 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 
>> >> 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 

Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-22 Thread Yathartha Joshi
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  > 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  
> >> 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+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at 

Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-22 Thread Aaron Meurer
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  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 
>> 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+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/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+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/CAKgW%3D6KJ3bbO0F6EU092KuyJvmhCuuD0-xdai%2B22beUOVv4ASw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-22 Thread Yathartha Joshi
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  > 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+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/862ac528-e77b-46e6-b751-e5ef532a2e46%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [sympy] Re: GSoC 2018: Completing Solvers

2018-03-22 Thread Aaron Meurer
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  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+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/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+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/CAKgW%3D6%2Ba2mPjMYDvTt7BysQOWXpCZC7i%3DzP%3DbQ8B8FnRc307FQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.