Hi,
It seems like your code is working fine on SymPy's master branch.
Code
from sympy.stats import ContinuousRV, sample
from sympy import sqrt, exp, Symbol, Interval, oo, pi
mean, prec = 1, 4
x = Symbol('x')
pdf = sqrt(prec)/sqrt(2*pi) * exp(-prec*(x-mean)**2/2)
Z = ContinuousRV(x, pdf, set=Interval(-oo, oo))
z = sample(Z)
print(next(z))
Output
0.67209942564159
On Thu, Feb 18, 2021 at 7:40 PM Gary Bhumbra <[email protected]> wrote:
> > think you have capital and little 'z' when you want only one. See the
> last three lines.
>
> Thanks for the suggestion. The original code (above) results in this error:
>
> TypeError: 'Mul' object is not an iterator
>
> If I try to follow your suggestion and modify the last three lines to:
>
> Z = ContinuousRV(x, pdf, set=Interval(-oo, oo))
> print(next(sample(Z)))
>
> ... I get the same error. I'm sorry if I'm misinterpreting your suggestion.
>
>
>
> On Thursday, February 18, 2021 at 1:53:19 PM UTC [email protected] wrote:
>
>> I think you have capital and little 'z' when you want only one. See the
>> last three lines.
>>
>> On Thursday, February 18, 2021 at 4:26:15 AM UTC-6 [email protected]
>> wrote:
>>
>>> I've looked in the SymPy documentation and cannot find a template for
>>> this. I apologise if I've overlooked something and the answer is trivial,
>>> but all I wish to do create a sampler for custom probability distributions
>>> defined using SymPy algebra e.g.:
>>>
>>> from sympy.stats import ContinuousRV, sample
>>> from sympy import sqrt, exp, Symbol, Interval, oo, pi
>>> mean, prec = 1, 4
>>> x = Symbol('x')
>>> pdf = sqrt(prec)/sqrt(2*pi) * exp(-prec*(x-mean)**2/2)
>>> Z = ContinuousRV(x, pdf, set=Interval(-oo, oo))
>>> z = sample(Z)
>>> print(next(z))
>>>
>>> However the last line just produces a TypeError. I'd be grateful for any
>>> guidance!
>>>
>>> Gary.
>>>
>> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/2ef6deab-d1cc-4c97-bd95-a73baff04336n%40googlegroups.com
> <https://groups.google.com/d/msgid/sympy/2ef6deab-d1cc-4c97-bd95-a73baff04336n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
With regards,
Gagandeep Singh
Github - https://github.com/czgdp1807/
Linkedin - https://www.linkedin.com/in/czgdp1807/
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/CAAvS0gVGhHM23PonPwdqsTe-3q_UA0JFMJWWBv7um%3D4Y4qhS%2BQ%40mail.gmail.com.