Difference between Matlab and Octave in random seeding
Jaroslav Hajek
highegg at gmail.com
Sat Mar 8 01:49:39 CST 2008
On Sat, Mar 8, 2008 at 12:04 AM, pbellec <pbellec at bic.mni.mcgill.ca> wrote:
>
> My understanding is that any difference of behavior between matlab and octave
> should be regarded as a bug, so there should be different seeds for rand and
> randn.
>
> However, I must confess I have a very hard time with the use of different
> seeds in matlab. I was not aware of this subtility when I started to perform
> Monte Carlo simulations that mixed rand and randn calls, so I seeded rand
> only. Because the Monte Carlo chain actually depend on both seeds, it took
> me weeks before I finally found the bug.
>
> Suggestion of workaround :
> make Octave behave as Matlab, with specific seeds for rand and randn (and
> rande and randg...), but create an octave-specific instruction
> rand('all_state',S) which would seed all RNGs (rand, randn, rande, randg).
> Adding this instruction in the help of rand* would force users to be aware
> of the subtility.
Personally, I think this difference is too subtle to worry about. The
Matlab behaviour is not clearly better, it's just different, and I can
imagine it changing in future Matlab versions. Adding a workaround to
code that is supposed to behave identically under Matlab and Octave is
easy enough.
>
> Pierre
>
>
>
>
> Michael Creel wrote:
> >
> > The need for controlling how seeding is done is not different, nor is the
> > need to be aware of the change. However, the change makes life more
> > difficult and error-prone, I think, which is why I registered a vote
> > against
> > it.
> > Cheers, Michael
> >
> > On Fri, Mar 7, 2008 at 3:44 PM, Bateman David-ADB014 <
> > David.Bateman at motorola.com> wrote:
> >
> >>
> >> The change that was made results in separate seeds for the rand, rand,
> >> rande, randg and rande generators.. The other generators in the
> >> statistics
> >> toolbox rely on these five intrinsic generators and so will of cause now
> >> be
> >> seeded differently.
> >>
> >> However, I'm not sure I see the need for seeding in a parallel situation
> >> being any different from the normal case. The programmer needs to be
> >> aware
> >> of the change in both cases.
> >>
> >> BTW, the old generators had/have seperate seeds, and the change makes the
> >> behavior of seeding with 'state' or 'seed' similar.
> >>
> >>
> >> -----Original Message-----
> >> From: michael.creel at gmail.com on behalf of Michael Creel
> >> Sent: Fri 07-Mar-08 9:27 AM
> >> To: John W. Eaton
> >> Cc: bug-octave at octave.org
> >> Subject: Re: Difference between Matlab and Octave in random seeding
> >>
> >> On Thu, Mar 6, 2008 at 6:49 PM, John W. Eaton <jwe at bevo.che.wisc.edu>
> >> wrote:
> >>
> >> > On 5-Mar-2008, Michael Creel wrote:
> >> >
> >> > | On this issue, I vote for having the seed set in a single spot for
> >> all
> >> > RNGs.
> >> > | This facilitates greatly parallel use of Octave. Sometimes it's
> >> > important to
> >> > | be able to reset the seed, and it's a lot less likely to screw up if
> >> > only
> >> > | one needs to be reset.
> >> >
> >> > I guess I'm missing something because I don't see how having separate
> >> > states for rand and randn has anything to do with parallelism.
> >> >
> >> > jwe
> >>
> >>
> >> It doesn't have any intrinsic effect, of course, but from the point of
> >> view
> >> of ease of programming and likelihood of making hard to detect errors, it
> >> is
> >> not neutral. If RNG has its own seed, then the programmer must control
> >> the
> >> value of that seed on each node. If two RNGs that originally share a seed
> >> become endowed with separate seeds in a new version of Octave, the
> >> programmer must be aware of this. If he or she is not, the code will
> >> continue to run, but with bogus results. If we're only talking about
> >> having
> >> one or two seeds for uniform and normal, it's not that big of a deal. But
> >> if
> >> RNGs for other distributions also go this route, it will be an
> >> inconvenience. Basically, I find that the current situation with one seed
> >> for all RNGs is ideal. Just my 2 euro cents.
> >> Michael
> >>
> >>
> >
>
> > _______________________________________________
> > Bug-octave mailing list
> > Bug-octave at octave.org
> > https://www.cae.wisc.edu/mailman/listinfo/bug-octave
> >
> >
>
> --
> View this message in context: http://www.nabble.com/Difference-between-Matlab-and-Octave-in-random-seeding-tp15508096p15908425.html
>
> Sent from the Octave - Bugs mailing list archive at Nabble.com.
>
> _______________________________________________
>
>
> Bug-octave mailing list
> Bug-octave at octave.org
> https://www.cae.wisc.edu/mailman/listinfo/bug-octave
>
--
RNDr. Jaroslav Hajek
computing expert
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz
More information about the Bug-octave
mailing list