[scilab-Users] generators for grand

michael.baudin at scilab.org michael.baudin at scilab.org
Sun Dec 5 11:29:37 CET 2010


 Hi,

 Your report is that, on your machine:
  * mt, urand, kiss : work
  * fsultra, clcg2, clcg4 : fail
 It may happen that there is a bad portability of the source code of 
 these generators on 64 bits systems.

 I am not exactly sure of what you are testing, because you mix the set 
 and get of the seed, with various commands to draw numbers from the 
 exponential law and the multinomial distribution: that's a total of 10 
 different functions... What we need to help you is the simplest sequence 
 of statements which fails.

 For example, on my Scilab (Windows), the following script entirely 
 pass:

 for rngen = [ "mt", "kiss", "clcg2", "clcg4", "urand", "fsultra" ]
   mprintf("rngen:%s\n",rngen);
   grand ( "setgen" , rngen );
   r = grand(1,1,"exp",1);
   m = grand(1,"mul",10,[0.2;0.5]);
 end

 Does it work on your machine ?
 Does the following work (after a restart of Scilab):

   grand ( "setgen" , "fsultra" );
   m = grand(1,"mul",10,[0.2;0.5]);

 Best regards,

 Michaël Baudin



 On Sat, 04 Dec 2010 17:51:25 +0100, Daniele Andreucci 
 <andreucci at dmmm.uniroma1.it> wrote:
> Hi!
>
> I have problems with using the procedure "grand" in my Linux Debian
> Squeeze-amd64 installation. These problem do not show up in a Debian
> Squeeze i386 (that is 32 bit) system (in a different PC).
>
> Essentially, grand does not seem to work with the generator 
> "fsultra",
> while it works with "mt" (I did not test well the other generators, 
> but
> a one-shot trial seems to indicate that kiss and urand are also not
> working, while clcg2/4 do work).
>
> I report below what I obtain with Scilab 5.2.2 (standard Debian
> package), but the same happens with a just installed Scilab 
> 5.3.0-beta5
> (64 bit), anyway.
>
> I can't find any relevant help searching the list for "grand"; am I
> mistaken on the use of generators?
>
> Thanks a lot for any help.
>
> Daniele
>
> **** Scilab output:
>
> -->grand("setgen","mt")
>  ans  =
>
>  mt
>
> -->grand(1,1,"exp",1)
>  ans  =
>
>     0.6700172
>
> -->grand(1,"mul",10,[0.2;0.5])
>  ans  =
>
>     1.
>     3.
>     6.
>
> -->grand("setgen","fsultra")
>  ans  =
>
>  fsultra
>
> -->grand(1,1,"exp",1)
>  ans  =
>
>     31399633.
>
>
> -->grand("getsd")
>  ans  =
>
>     20.
>     1.
>     9.915D+17
>     1.845D+19
>     1.845D+19
>     4.130D+09
>     1.845D+19
>     1.845D+19
>     1.845D+19
>     1.845D+19
>     2.026D+09
>     6.134D+09
>     1.845D+19
>     3.569D+09
>     2.550D+09
>     2.170D+09
> [Continue display? n (no) to stop, any other key to continue]
>
> ->grand("setsd",123456,987654)
>
> -->grand("getsd")
>  ans  =
>
>     0.
>     0.
>     2.513D+18
>     1.845D+19
>     4.782D+08
>     3.907D+08
>     1.845D+19
>     3.132D+08
>     1.925D+09
>     1.845D+19
>     1.845D+19
>     1.663D+08
>     2.602D+09
>     1.845D+19
>     1.845D+19
>     1.845D+19
>
> -->grand(1,1,"exp",1)
>  ans  =
>
>     40105477.
>
>
> -->grand(1,"mul",10,[0.2;0.5])
> [Scilab is stuck, and I have to xkill it]
>
> ***** end of Scilab output




More information about the users mailing list