Returns uniform numbers from a low discrepancy sequence.
[ evalf , u ] = lowdisc_ldgen ( callf , n ) [ evalf , u ] = lowdisc_ldgen ( callf , n , ldseq ) [ evalf , u ] = lowdisc_ldgen ( callf , n , ldseq , strict ) [ evalf , u ] = lowdisc_ldgen ( callf , n , ldseq , strict , verbose )
a 1 x 1 matrix of floating point integers, the number of calls to the function.
a 1 x 1 matrix of floating point integers, the spatial dimension.
a 1 x 1 matrix of strings, the name of the sequence. (default ldseq = "sobolf"). The method can be equal to : "halton", "haltonf", "faure", "fauref", "reversehalton", "reversehaltonf", "sobol", "sobolf", "niederreiter-base-2", "niederreiterf". See below for details.
a 1 x 1 matrix of boolean, set to %t to make so that evalf==callf. (default = %f)
a 1 x 1 matrix of boolean, set to %t to enable verbose messages. (default = %f)
a 1 x 1 matrix of floating point integers, the actual number of function evaluations. We have evalf >= callf.
a evalf x n matrix of doubles, the uniform random numbers in [0,1]^n.
In dimension n, generate more than callf experiments with low discrepancy sequence ldseq.
Returns the number of suggested function evaluations evalf and the uniform numbers u in [0,1]^n.
If strict is false, then the optimum number of simulations evalf is used. If strict is true, the number of simulations is equal to the required one, that is, we have evalf == callf.
The sequences which are available are described in depth in the lowdisc_new function.
// Generate more than 20 points from a fast Halton sequence in dimension 4 callf = 20 n = 4 ldseq = "haltonf" [ evalf , u ] = lowdisc_ldgen ( callf , n , ldseq ) // Generate the suggested number of points from the fast Faure sequence. [ evalf , u ] = lowdisc_ldgen ( 20 , 4 , "fauref" ) // Generate exactly 20 points (this is not recommended, it may increase the discrepancy). [ evalf , u ] = lowdisc_ldgen ( 20 , 4 , "fauref" , %t )