Yes, erfinv http://docs.sympy.org/dev/modules/functions/special.html#sympy.functions.special.error_functions.erfinv
On Sun, Oct 6, 2013 at 10:54 PM, Aaron Meurer <asmeu...@gmail.com> wrote: > > On Oct 6, 2013, at 10:13 PM, Matthew Rocklin <mrock...@gmail.com> wrote: > > This fails in solve > > In [1]: from sympy.stats import * > > In [2]: mu = Symbol('mu', real=True, bounded=True) > > In [3]: sigma = Symbol('sigma', positive=True) > > In [4]: X = Normal('X', mu, sigma) > > In [5]: simplify(2 * P(X - mu < 10)) > Out[5]: > ⎛ ___⎞ > ⎜5⋅╲╱ 2 ⎟ > erf⎜───────⎟ + 1 > ⎝ σ ⎠ > > In [6]: solve(_ - 0.20, sigma) > NotImplementedError: > No algorithms are implemented to solve equation -_Dummy_44 + > erf(5*sqrt(2)/sigma) > > Note that historically in statistics each distribution knew how to > calculate these things on their own. It was hard coded in. In stats we > express the problem with statistical operations and use SymPy to generate > the right equations to solve in each case. This is usually far more > powerful and extensible but, in this particular case, performs badly. The > ideal path to solution here is to teach solve how to deal with error > functions. > > Does anyone know how hard this is? > > > Does the error function have an inverse? The variable only appears once in > the expression, so as long as each function is invertible, solving such > expressions is easy. > > Aaron Meurer > > > On Sun, Oct 6, 2013 at 8:56 PM, Buck Shlegeris > <buck.shlege...@anu.edu.au>wrote: > >> I have the following code, using the statistics module. It answers >> questions like "If there's a 20% chance that my random variable is within >> 10 of the mean, what is the standard deviation?" with the call >> getStdDev(10,20). >> >> def getStdDev(distance,confidence): >> x = Normal(0,1) >> confidenceDistance = x.confidence(confidence)[1] >> stddev = confidenceDistance * distance >> return stddev >> >> The statistics module lets me do this with the confidence method. >> However, the statistics module is deprecated. >> >> Is there an equivalent in the stats module? >> >> -- >> 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 http://groups.google.com/group/sympy. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- > 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 http://groups.google.com/group/sympy. > For more options, visit https://groups.google.com/groups/opt_out. > > -- > 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 http://groups.google.com/group/sympy. > For more options, visit https://groups.google.com/groups/opt_out. > -- 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 http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.