octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Random number generation


From: Kai Torben Ohlhus
Subject: Re: Random number generation
Date: Sat, 28 Mar 2020 02:25:40 +0900
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0

On 3/28/20 1:14 AM, Krishna Chandhok wrote:
> Hi
> I understand it's not a Gsoc project however I am just asking so that I
> could contribute a little before submitting final proposal.
> So, could please clarify me that.
> Thanks and regards
> Krishna Chandhok

Dear Krishna Chandhok,

In terms of difficulty, I would rate it as "Extra Hard" and do not
recommend it for GSoC.  But of course you are welcome to work on it at
any time you want.

To my knowledge Octave currently uses the RANDLIB [1], a Mersenne
Twister implementation [2], and maybe more to create random numbers.
Those functions are called by Octave's "rand" and similar functions
[3,4].  The big idea is that the C++11 standard defines a cleaner
interface for random number generation (RNG) with several distributions
that Octave can also make use of to implement missing Matlab features
more easily and to reduce the maintenance burden of legacy code, that is
hardly understood.

To complete the entire task was to touch many parts of Octave at the
same time.  Not writing a single standalone or OCT-file.  Additionally,
one has to ensure that no regressions with functionality and performance
occur.  To complete it within a few weeks of GSoC, this would require
excellent knowledge of Octave's code base, C/C++/Fortran, and theory and
practical implementations of RNGs.  If you cannot prove this knowledge
and reduce the task wisely, I strongly doubt you find a mentor for this
project.

But as said before, don't be discouraged to work on this item if you are
interested in.

Best,
Kai

[1]
https://hg.savannah.gnu.org/hgweb/octave/file/bc829338e353/liboctave/external/ranlib/README
[2]
https://hg.savannah.gnu.org/hgweb/octave/file/bc829338e353/liboctave/numeric/randmtzig.cc
[3]
https://hg.savannah.gnu.org/hgweb/octave/file/bc829338e353/libinterp/corefcn/rand.cc
[4]
https://hg.savannah.gnu.org/hgweb/octave/file/bc829338e353/liboctave/numeric/oct-rand.cc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]