Thanks Gagandeep,

Looks like my SymPy install was indeed old - happy to confirm that the code 
does work fine on SymPy version 1.7.1!

Kind regards,
Gary.

On Thursday, February 18, 2021 at 2:37:51 PM UTC czgdp1807 wrote:

> 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/28d866a7-e93d-45a8-ba93-3de8cda002fdn%40googlegroups.com.

Reply via email to