CL (where Fricas' random is based on) > http://clhs.lisp.se/Body/f_random.htm > This might explain why 'random' it's implemented as is. > What about the quality of RANDOM()$Lisp? > > The following page is about Lisp's RANDOM function (apparently a Mersenne Twister). The comments therein (at the end) might also be of interest. https://jorgetavares.com/2009/09/02/exploring-pseudo-random-numbers-in-lisp/
Function 'random' is found in several .spad files and cannot be changed easily (see below, e.g. permgrps). Perhaps a new function random: (INT,INT) -> INT or Interval(INT) -> INT could be created? Preferably considering make-random-state. A linear transformation on RANDOM then should do. --- integer.spad si.spad random(x) == RANDOM(x)$Lisp random.spad (unused?) catdef.spad random() == index((1+random(size()$%))::PositiveInteger) permgrps.spad randomInteger : I := 1 + random(numberOfGenerators)$Integer and a lot more ... -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
