Ah yes, _1j1.22461e_16. I can't do much about the 1.22461e_16 (welcome to the ugly realities of floating point arithmetic), but I can do this:
^@o. j. 0.5 * i. 3 4 1 0j1 _1 0j_1 1 0j1 _1 0j_1 1 0j1 _1 0j_1 ^@o. j. 2e9 + 0.5 * i. 3 4 1 0j1 _1 0j_1 1 0j1 _1 0j_1 1 0j1 _1 0j_1 (In J7.01.) On Sat, Oct 29, 2011 at 8:48 AM, Linda Alvord <[email protected]> wrote: > 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
