I think with TransformationSet we can do quite a bit. That handles
sets like {f(x) | x in A}. I think what is missing is the basic set
builder {x | P(x)}, where P(x) is a boolean predicate.
> Real issue here - how to represent some solutions (e.g. sin(x)==0).In sets we would represent this with
In [1]: imageset(k, pi*k, S.Integers)
Out[1]: {π⋅k | k ∊ ℤ}
It sounds like maybe solve should return a Set.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6KJVcvAhtX0iXPN%3DRy9DVrt642KmXLkAxLSxMDpNy5jiA%40mail.gmail.com.
--
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 http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CADN8iuq9aVesJzFFE0wpG9_eJd6C7RW-7Lb%2BRZ3OHA4AXP1yXA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6JtpThrtt7TVqJ162gNO0qepP_hf%3DKcARRaGdCEST%3Dkww%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6Kw671B%2B4XKcyV%2BeMLY3gffy%3DGqiAKrqVwjOEswXnRS6A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
I'm not sure if the input_set API is as friendly as it could be. Mostusers are going to want to just toss in relations with the rest of the
equations, especially if they can be expressed using the assumptions
or using inequalities, like
solve([sin(x) - 1, x > 0])
or
solve([x**2 + y**2 - z**2, Q.integer(x), Q.integer(y), Q.integer(z)])
Maybe we should just make the API like this. If you want to represent
a complicated set, you can input some kind of Contains object (does
this exist yet?). That would also make it clearer what variables
correspond to what axes in higher dimensional sets.
--
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 http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CADN8iupYZiJoBNQxCiAtg0Y-bXF1fNs2PbQtdh9qvYd765L7Sw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6L5k4Lvep%3DjVvLPbU6JW%3DMrwsrLsV%2Bq3hAFBQr7XDFdoA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
In [58]: f
Out[58]: y - (y**(1/(1 + I)))**(1 + I)
In [59]: simplify(f)
Out[59]: 0
We will have to be "very" careful while rewriting the solvers. I just came across another of Professor Fateman's paper which describes why the solution of z**w == y for z isn't simply y**(1/w).Sadly we doing it wrong.We are also wrongly simplifying y - (y**(1/(1 + I)))**(1 + I) as 0.In [58]: f
Out[58]: y - (y**(1/(1 + I)))**(1 + I)
In [59]: simplify(f)
Out[59]: 0