Please excuse typos; composed on a handheld device.

-----Original Message-----
From: "Linda Alvord" <[email protected]>
Sender: [email protected]
Date: Sat, 29 Oct 2011 12:05:37 
To: 'Programming forum'<[email protected]>
Reply-To: Programming forum <[email protected]>
Subject: Re: [Jprogramming] 32- & 64-bit PRNGs

Also  I forgot that "pi times"  is  O.


   ]oh=: 13 : '-^o.*0j1'
1j_1.2246467991473532e_16"_

   ]my=: 13 :'^1p1*0j1'
_1j1.2246467991473532e_16"_

Even more convincing.

Linda   

-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Linda Alvord
Sent: Saturday, October 29, 2011 11:49 AM
To: 'Programming forum'
Subject: Re: [Jprogramming] 32- & 64-bit PRNGs

Here's what I was thinking:

   
   -^1p1*0j1
1j_1.22465e_16

I forgot that "i" is 0j1  (quite a coincidence?) in J
  
Also, it was always more satisfying to me that the result is 1.

However, we do agree.

   -^1p1*0j1
1j_1.22465e_16

  
-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Roger Hui
Sent: Friday, October 28, 2011 11:48 AM
To: Programming forum
Subject: Re: [Jprogramming] 32- & 64-bit PRNGs

Isn't that just saying that (^1)^0 is 1?  On the other hand:

   _1 = ^ 1p1 * 0j1
1

http://www.jsoftware.com/jwiki/Essays/Euler%27s%20Identity



On Fri, Oct 28, 2011 at 12:48 AM, Linda Alvord <[email protected]> wrote:
> Ken might have answered that God must be an awesome mathematician, since he 
> might have understood God better than most.
>
>   (^1)^-o.i.1
> 1
>
>
> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Ian Clark
> Sent: Thursday, October 27, 2011 2:38 PM
> To: Programming forum
> Subject: Re: [Jprogramming] 32- & 64-bit PRNGs
>
> I wonder if Carl Sagan, like Feynman, wasn't having joke after joke at
> his audience's expense? (APWJ p 136, see also end of:
> http://www.jsoftware.com/jwiki/Doc/Articles/Play151)
>
> The probability of any given finite pattern turning up in the first N
> digits of a random sequence tends to 1 as N tends to infinity. The
> aforementioned site estimates the odds for various values of N:
> http://www.angio.net/pi/piquery#likely
>
> Sagan didn't say how many digits Ellie had to search (N) for her
> (initially undefined) pattern. Was N sufficiently low to reject the
> null hypothesis? The implication is: it wasn't. Nor is pi a random
> series (it's pseudo-random). And when you're reading the Mind of God
> -- does the null hypothesis have any cause to exist? -- viz is there
> any merit in *guessing* the Mind of God?
>
> Nor is it the first time in the novel Ellie is the victim of illusion
> (the alien deludes her he's her father... and yet she knows that).
>
> The whole novel is shot through with existential jokes, playing-off
> science against sentiment. Once I spotted that I was ready to forgive
> Sagan any amount of Slartibartfastian pseudo-engineering of pi.
>
>
> On Thu, Oct 27, 2011 at 1:51 PM, Roger Hui <[email protected]> wrote:
>>> For initial experiments, there's already a site which stores the first
>>> 200M digits of pi, for hobbyists wanting to do Carl Sagan
>>> "Contact"-type research:
>>
>> When I first read that in "Contact" years ago it knocked down by
>> several notches my respect for the novel.  Even the Almighty doesn't
>> have any choice about the digits of π, right?  What's He/She going to
>> do about the various power series, f'instance?
>>
>>
>>
>> On Thu, Oct 27, 2011 at 5:26 AM, Ian Clark <[email protected]> wrote:
>>> Being old enough to have learned my electronics before the digital
>>> age, I wonder if it isn't time to reconsider shot noise as a source of
>>> random numbers. It has a forensic advantage in lottery draws, and
>>> monte-carlo simulations of fraught political topics like climate
>>> change, by taking the "pseudo" out of "pseudo-random".
>>>
>>> For years the UK gov ran a device called ERNIE
>>>  http://en.wikipedia.org/wiki/ERNIE#ERNIE
>>> to pick premium bonds (a savings scheme where the interest payable was
>>> put in a monthly draw).
>>>
>>> A device to generate binary digits from electronic noise would be so
>>> simple it ought to be fitted as standard to today's desktop computers.
>>> Failing that, if I had a serious need for true random numbers I'd
>>> experiment with an open microphone line using Audacity to save the
>>> number stream as a WAV.
>>>
>>> Need a reproducible number stream? With the amount of free storage
>>> space in the "cloud" (I currently have access to around 2 GB and I
>>> don't remember asking for it) why not just store it? I also have a 1TB
>>> disk drive, mostly lying empty.
>>>
>>> For initial experiments, there's already a site which stores the first
>>> 200M digits of pi, for hobbyists wanting to do Carl Sagan
>>> "Contact"-type research:
>>> http://www.angio.net/pi/piquery
>>> Aside: ought the hunt for meaningful sequences in pi to be called 
>>> perimancy? :-)
>>>
>>>
>>>
>>> On Fri, Oct 14, 2011 at 8:30 PM, Zsbán Ambrus <[email protected]> wrote:
>>>> On Fri, Oct 14, 2011 at 2:33 PM, Zsbán Ambrus <[email protected]> wrote:
>>>>> On Fri, Oct 14, 2011 at 1:08 PM, Ewart Shaw <[email protected]> wrote:
>>>>>> I want to generate pseudorandom sequences that are the same for 32- & 
>>>>>> 64-bit J.
>>>>>
>>>>> Have you tried the other random generators the (9!:43) foreign makes
>>>>> available?  I'd guess some of them are the same for 32 and 64 bit J.
>>>>
>>>> Hmm, from a quick test, it seems Roger is right: none of the built in
>>>> generators give the same results on the 32-bit and 64-bit J.
>>>>
>>>> Let's use the random generation functions from GSL (
>>>> http://www.gnu.org/software/gsl/ ) then.  This example implements
>>>> roll, but not deal.
>>>>
>>>>
>>>> $ cat rngwrap.c
>>>> #include <gsl/gsl_rng.h>
>>>>
>>>> /*
>>>> Allocate a new random generator of the Mersenne Twister algorithm
>>>> and initialize it with the default seed.
>>>> */
>>>> gsl_rng *
>>>> wrap_newrng(void) {
>>>>        gsl_rng *g = gsl_rng_alloc(gsl_rng_mt19937);
>>>>        return g;
>>>> }
>>>>
>>>> $ cat rngwrap.ijs
>>>> NB. random generator functions from GSL
>>>> rngobj=: <'./rngwrap.so wrap_newrng > x'15!:0$0
>>>> rollint=: './rngwrap.so gsl_rng_uniform_int > x *c x'15!:0 rngobj;]
>>>> rollflo=: './rngwrap.so gsl_rng_uniform_pos > d *c'15!:0 (,<rngobj)"_
>>>> roll=: rollflo`rollint`[:@.*"0 :[:
>>>>
>>>> $ gcc -Wall -O -fpic -lm -lgslcblas -lgsl -shared -o rngwrap.so rngwrap.c
>>>> $ jconsole rngwrap.ijs
>>>>   roll (10$1e4),5$0
>>>> 9997 1629 2826 9472 2316 4849 9574 7443 5400 7399 0.759944 0.658637
>>>> 0.315638 0.804403 0.519672
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to