Re: Mathematica 7 weirdness
- To: mathgroup at smc.vnet.net
- Subject: [mg94632] Re: Mathematica 7 weirdness
- From: antononcube at gmail.com
- Date: Thu, 18 Dec 2008 07:21:29 -0500 (EST)
- References: <C7EFEF88-F3D3-4E38-87D4-E481FFF62029@mimuw.edu.pl>
NIntegrate has a generator for the Hammersley sequence (working on all platforms). The code below can be used to generate Hammersley sequence points: Clear[HammersleyPoints]; HammersleyPoints[dim_, n_] := Block[{pnts, x, xs}, xs = Array[x, dim]; pnts = Reap[NIntegrate[Total[xs], Evaluate[ Sequence @@ Map[{#, 0, 1} &, xs]], Method -> {MonteCarlo, Method -> {MonteCarloRule, PointGenerator -> NIntegrate`Hammersley, Points -> n}}, MaxPoints -> n, MaxRecursion -> 0, EvaluationMonitor :> Evaluate[Sow[xs]]]][[2, 1]]; Drop[pnts, 2] ]; pnts = HammersleyPoints[3, 2023]; pnts // Length Graphics3D[Point[pnts], AspectRatio -> 1] Anton Antonov Wolfram Research, Inc. On Dec 17, 6:34 am, Andrzej Kozlowski <a... at mimuw.edu.pl> wrote: > On 17 Dec 2008, at 01:35, Darren Glosemeyer wrote: > > > > > > > Andrzej Kozlowski wrote: > >> On 16 Dec 2008, at 15:42, Andrzej Kozlowski wrote: > > >>> Here is a (slightly modified) example from the > >>> RandomNumberGeneration tutorial, which comes as part of the > >>> documentation: > > >>> BlockRandom[ > >>> SeedRandom[Method -> {"MKL", Method -> {"Niederreiter", > >>> "Dimension" - > >>>> 2}}]; > > >>> RandomReal[1, {2, 2}]] > > >>> The problem is that as well as the expected output we get an > >>> error message: > > >>> SeedRandom::nogen:MKL is not one of the built-in random number > >>> generators Lattice, Congruential, MersenneTwister, Rule30CA, > >>> Rule50025CA, ExtendedCA, or Legacy. A defined generator must be = > >>> represented by a symbol. >> > > >>> One possible reason is that I am using Mac OS X and the > >>> documentation says: > > >>> The "MKL" method uses the random number generators provided in > >>> Intel's MKL libraries. The MKL libraries are platform dependent. > >>> The "MKL" method is available on Microsoft Windows (32-bit, 64- = > >>> bit), Linux x86 (32-bit, 64-bit), and Linux Itanium systems. > > >>> Intel Macs are not mentioned, but since, other than producing the > >>> error message, the generator works fine, this should count as a > >>> serious omission (if not exactly a bug) which should be corrected > >>> as soon as possible. > > >>> Andrzej Kozlowski > > >> On second thoughts, since all that is needed is > > >> Off[SeedRandom::"nogen"] > > >> probably I should have written "not very serious omission" ;-) > > >> Andrzej Kozlowski > > > I checked with a colleague who uses an Intel Mac and he verified > > that the number generator is falling back to the default method. > > While numbers are generated, the numbers generated will not have the = > > low discrepancy properties of Niederreiter numbers. > > > Darren Glosemeyer > > Wolfram Research > > Yes, one can actually clearly see that this must be so just by looking = > at the picture :-( > > This is very disappointing. I was planning to low discrepancy number > in a series of presentations which aim at popularizing Mathematica > with the Japanese finance community, but it now seems I will have to > settle for Monte-Carlo methods only (since I do not want to use > Windows or Linux). Is this something that could be easily (and > quickly) fixed? In particular, can it be done by WRI alone or does it > need help from Apple (if it is the latter I doubt the fix will come > soon). > > Andrzej Kozlowski