Excel program: Onoff.xls Description and operation
Introduction and Purpose
This document describes the sheets "ON OFF", "NIST" and "Benchmark" of the Excel Program Onoff.xls .
 The purpose of sheet "ON OFF" is to generate random numbers by simulating an ON OFF process and a deadband. The performance is non determinstic because the simulation is influenced by the actual system load of the PC. The program is written in Visual Basic.
For more information about "ON OFF" process See: On Off control and for more information about deadband See: Deadband
For a copy of the program in zip format select: ONOFF.XLS
For a listing of the program written in Visual Basic select: Listing ONOFF.XLS
The program is an integral part about comments related two articles in Nature of 15 April 2010 Guaranteed Randomness & Random numbers certified by Bell's theorem.

The purpose of sheet "NIST" is to test the generated numbers. This is done bij means of the Nist document.
Besides the "on off" process two other random number generators are also tested. Both use the RND function. The RND function is a pseudo random number generator supplied as a standard function in Visual Basic.
The difference between the two generators is that in the first case the operation is influenced by the actual system load of the PC while the second case this is not happening. The result is that in the first case the outcome is completely unpredictible (nondeterministic) while in the second case this not true. In fact if you test this generator again using the same input condition the result is each time the same.

The purpose of sheet "Benchmark" is to perform three different methode's to generate random numbers 50 times. THe three methode's are the tests 0,1 and 2 described in the "NIST" sheet.
Sheet "ON OFF" consists standard of 13 columns
 Column 1 "time" contains the time in seconds of the day.
 Column 2 "cnt" contains the number of counts
 column 312 "bit" contains 10 results with process values of 10 experiments. The result of one experiment will be one bit. Depending on the result the text will be either "bit 0" or "bit 1"
 column 13 "total" contains total value of all the 10 columns
If you want to perform one experiment first select a column next select the calculate target. There is also a test target. See below.
There are two ways to execute the program.
 Select one of the columns 311. In that case you will only perform one experiment.
 Select column 12. In that case you will perform 10 experiments i.e. all the columns
The generic code of the program looks like this:
DO
calculate dpv ' calculate delta pv
if direction = "up" then
pv = pv + dpv
if pv > 3 then direction = "down"
Else
pv = pv  dpv
if pv < 3 then direction = "up"
End if
LOOP
The two ON OFF values are 3 and 3.
Actual execution of the program looks like this:
7 X
6 X . .
5 . . X . .
4 . . . . . .
3 X .  . .  . . 
2 . . . X . .
1 . . . . . .
0X X . . . X
1 . . . X X
2 . . . . .
3  . X  . .  .
4 . . X . X
5 X . .
6 . .
7 X
3 3 6 5 2 8 3 6 3 8 7 1 6 3
The bottom line contains the delta pv values.
At the start of the program the process value is 0 and the direction is "up".
The first two delta pv values are 3 and 3. The process value becomes 6 and the direction changes to "down"
The next two delta pv values are 6 and 5. The process value becomes 5 and the direction changes to "up"
The next two delta pv values are 2 and 8. The process value becomes 5 and the direction changes to "down"
etc. etc. The final value is 4. The final result = 1, because the direction is "up".
Comments
IMO this program generates true random numbers and any time, any where, the outcome will be different.
The first reason is because the process in order to calculate the delta pv value also is also more or less a random process. The value is initially the number of counts to detect if the timer changes with 16 ms. This value is roughly between 750 and 850 and can also be much lower depending on system load. It also depends about the PC used. If you take the mod 10 of that number (plus 1) you get a value between 1 and 10. Completely unpredictable. This whole process resembles the "Schrodinger Cat Paradox" which is nothing more than a demonstration of the halflife of a radio active element.
The second reason is because the outcome of the ON OFF process is also unpredictable. The reason is what is called deadband. In the above example example the deadband is 9 (4+4+1) and the maximum delta pv value is 8. The closer the maximum pv delta to the deadband the more the process value can change, increasing the unpredictability.
The following figure demonstrates 3 possible scenarios with total deadband of 9 and a maximum delta pv of 4.
Only half of the results is shown.
7
6 X1 X7 X13
5 Y1. Y5 . . Y9 . . Y13
4 Z1 . Z3 . . Z5 Z7 . Z9
3 X0. . . . x6 . . . Y8 . . . . .
2 Y0 . X2 . . . . . . . . Y12 . .
1 Z0 . . . . . Y6 . . . . . . . .
0. . Y2. . Y4 . . X8 . X12 . X14 . .
1 . . . . . . . . X11 . . . .
2 . . X5 . . . . . Y10 . . .
3 . . X3 . . . X9 . . . . . .
4 Z2 . . Z4 . Z6 Z8 X15 Z10
5 Y3. . Y7 . . Y11 .
6 X4 X10 X16
7
The 3 scenarios are identified with the letters X, Y and Z.
 Scenario "X" uses small delta pv values. Average is 2
 Scenario "Y" uses average delta pv values. Average is 3
 Scenario "Z" uses large delta pv values. Average is 4
The following happens at each time increment (Initial all directions are "up"):
 At time 1 the points are X0,Y0 and z0. The pv's are 3,2 and 1. The values are clusterd
 At time 2 the points are X1,Y1 and Z1. The pv's are 6,5 and 4. The values are clusterd
 At time 4 the points are X2,Y2 and Z2. The pv's are 2,0 and 4. The values are semi clusterd
 At time 6 the points are X3,Y3 and Z3. The pv's are 3,5 and 4. The values are semi random
 At time 18 the points are X9,Y9 and Z9. The pv's are 3,5 and 4. The values are random
The behaviour specific of scenarios "X" and "Z" are extreme. The "Y" scenario resembles more the average situation. The purpose is what possible can happen and to demonstrate the divergence involved.
At t1t3 the outcome of the 3 scenarios is almost identical. At t4t6 the 3 pv's are still close but they start to divergent. Starting after t10 each pv can have all the possible values, become random and independent from the start value.
The above figure demonstrates 3 possible scenarios with total deadband of 9 and a maximum delta pv of 4.
 You can also use that figure to demonstrate a total deadband of 9 and a maximum delta pv of 3. The difference is than that the points X1,Y1 and Z1 represents time 3, X2,Y2 and Z2 time 6, X3,Y3,z3 time 9 etc.
The results are longer clustered and more predictable.
 You can also use that figure to demonstrate a total deadband of 9 and a maximum delta pv of 8. The difference is than that the points X1,Y1 and Z1 represents time 1, X2,Y2 and Z2 time 2, X3,Y3,z3 time 3 etc.
The results are less clustered and more unpredictable.
In the real program the total deadband is 7, the maximum delta pv is 10 and 40 time increments of 15.6 ms are used (implying that it takes less than 1 second to calculate one bit).
Comments  operation
The standard form consists of 10 columns (the columns C to L). Each column shows the result (one bit) of one experiment. In total 10 experiments.
If you want a random number with more bits that is easy. Just insert empty columns, but you should do that at least two columns before the column marked "total". If you do that than the totals are automatically updated.
If you want to calculate all bits (and calculate one random number) just select the column with is text "total" or the column one before. It will take 2 minutes to calculate a random number of 120 bits.
Description and Operation sheet: "ON OFF"  Test target
The sheet "ON OFF" includes a special feature to test the performance of the random number generator.
To perform this test select the Test target.
When you start the program you will get the question: On Value = 2.
 Just press Enter.

The program will perform 10 experiments in order to calculate one bit.
However the values shown are directions not process values (i.e. counts). When the direction is "up" you will get a 1, when the direction is "down" you will get a 1.
The reason is to calculate correlations.
There are two correlations calculated.
 One between two adjacent experiments i.e. columns.
 One between two adjacent process values in the same experiment.
The mathematics to calculate correlations is simple: total = total + direction1 * direction2 and that 40 times
Because the correlation is calculated on 40 values:
 a correlation factor of 40 means total pos correlation. For example: 20 times 1*1 and 20 times 1*1
 a correlation factor of 0 means no correlation. For example: 10 times 1*1, 10 times 1*1, 10 times 1*1 and 10 times 1*1.
 a correlation factor of 40 means also total neg correlation. For example: 20 times 1*1 and 20 times 1*1
The correlations:
 between adjacent experiments is saved in row 1
 between adjacent process values is stored in row 42.
In order to understand what is happening do the following tests:
 First perform the test with on "ON value" of 30 (and select the total column). After 10 seconds the whole screen will be filled with 1 and 1 values. However there is a clear pattern. The top part will be a "1". Then you get a layer of "1's". And again a layer of "1's". etc.
Row 41 (which contains the random number) consists of 10 "1's" meaning the random number is 0. The total value is 10.

When you look at line 42, you will see that the correlation between adjacent process values is 33. This is high. The reason is because the total deadband is 2 * 30 = 60. The average increase in PV is 5 and 60/5 = 12. That means it takes roughly 12 steps to go from ON to OFF (and vice versa). 40/12 is 3. That means there are roughly 3 layers and 3 switches between ON to OFF. Those 3 switches result in 3 neg correlation factors of 1 and 37 pos correlation factors of 37. 373 = 34, which explains the value of 33.
 When you look at line 1, you will that the correlation between adjacent experiments is high because all the correlation factors are approximate 25.
 Next perform the test with on "ON value" of 20 (and select the total column).
Row 41 (which contains the random number) consists of 8 "1's" and 2 "1's". The total value is 6 which is still high

When you look at line 42, you will see that the correlation between adjacent process values is 31. This is still high. The reason is because the total deadband is 2 * 20 = 40. The average increase in PV is 5 and 40/5 = 8. That means it takes roughly 8 steps to go from ON to OFF (and vice versa). In actual fact you have to take the deadband also into account and increase this value with one. 40/9 is 4. That means there are roughly 4 layers and 4 switches between ON to OFF. Those 4 switches result in 4 negative correlation factors of 1 and 36 pos correlation factors of 36. 364 = 32, which explains the value of 31.
 When you look at line 1, you will that the correlation between adjacent experiments is still high because most of all the correlation factors are approximate 20.
 Next perform the test with on "ON value" of 10 (and select the total column).
Row 41 (which contains the random number) consists of 6 "1's" and 4 "1's". The total value is 2 which indicates no correlation.

When you look at line 42, you will see that the correlation between adjacent process values is approximate 24. This is still high. The reason is because the total deadband is 2 * 10 = 20. You also have to take the average dead band of 5 into account and so you get 25. The average increase in PV is 5 and 25/5 = 5. That means it takes roughly 5 steps to go from ON to OFF (and vice versa).
40/5 is 8. That means there are roughly 8 layers and 8 switches between ON to OFF. Those 8 switches result in 8 negative correlation factors of 1 and 32 pos correlation factors of 32. 328 = 24, which explains the average value of 24.
 When you look at line 1, you will see that the average correlation between adjacent experiments decreases and is almost zero. Of course there are exceptions.
 Next perform the test with on "ON value" of 5 (and select the total column).
Row 41 (which contains the random number) consists of 5 "1's" and 5 "1's". The total value is 0 which indicates no correlation.

When you look at line 42, you will see that the correlation between adjacent process values is approximate 15 and becoming lower. The reason is because the total deadband is 2 * 5 = 10. You also have to take the average increase in PV of 5 into account and so you get 15. The average increase in PV is 5 and 15/5 = 3. That means it takes roughly 3 steps to go from ON to OFF (and vice versa).
40/3 is 13. That means there are roughly 13 layers and 13 switches between ON to OFF. Those 13 switches result in 13 negative correlation factors of 1 and 27 pos correlation factors of 27. 2713 = 14, which explains the average value of 15.
 When you look at line 1, you will see that the average correlation between adjacent experiments is close to zero. Of course there are exceptions.
 Next perform the test with on "ON value" of 2 (and select the total column).
Row 41 (which contains the random number) consists of 2 "1's" and 8 "1's". The total value is 6.The fact that this is a high number is not important. What is important that most totals are small meaning no correlation.

When you look at line 42, you will see that the average correlation factor between adjacent process values 2 (plus or minus 5). This is very low. The reason is because the total deadband is 2 * 3 = 6. You also have to take the average increase in PV of 5 into account and so you get 11. The average increase in PV is 5 and 11/5 = 2.2 That means it takes roughly 2.2 steps to go from ON to OFF (and vice versa).
40/2.2 is 19. That means there are roughly 19 layers and 19 switches between ON to OFF. Those 19 switches result in 19 negative correlation factors of 1 and 21 pos correlation factors of 21. 2119 = 2, which explains the average value of 2.
 When you look at line 1, you will see that the average correlation between adjacent experiments is close to zero. However there are exceptions.
 When the "ON value" is 1 the average correlation factor between adjacent process values is 4
When the "ON value" is 0 the average correlation factor between adjacent process values is 12
When the "ON value" is 1 the average correlation factor between adjacent process values is 22
In short what does tests show is that an ON OFF value of 2 gives the best results, meaning that the final value of each experiment can be a 0 or a 1 with the same probability.
The purpose of sheet "NIST" is to test the performance of the random number generator using the guide lines described in the "Special Publication 80022 Revision 1a" isued by the National Instutute of Standards. See Documentation
Sheet "NIST" consists of 7 targets: Nist, Norm Dist, Comp Error, Gamma, Inc Gamma, Rank and Support.
 The "Nist" target is used to perform the 15 Random Number Generation Tests outlined in chapter 2 of the document. All the 15 tests are implemented as but not all the test are properly implemented. I have a problem with tests 10 and 13.
Each time when the "Nist" target is selected all the 15 tests are performed on a certain test string of zero's and one's
 Select the "Nist" target.
 The first question to answer is the test number.
 4 = The test string is generated by the VB function RND (Random Number Generator) Accuracy = 2^12
 3 = The test string is generated by the VB function RND (Random Number Generator) Accuracy = 2^14
 2 = The test string is generated by the VB function RND (Random Number Generator) Accuracy = 2^24
 1 = The test string is generated as a combination of the RND function and PC load
 0 = The test string is generated by the "ON OFF" process, deadband and PC load
 1  15 = The test strings is described in the chapters 2.1 until 2.15
 16 = The test string are the 100 bits used in 2.1.8, 2.2.8, 2.3.8, 2.6.8 and 2.12.8
 17  19 = 3 examples of 256 bits generated by the "ON OFF" process
 20  30 = Special tests to test errors. See the listing for details.
 31 = Test string is the binary string of the first 100 numbers of e.
 32 = Test string is the binary string of the first 100 numbers of pi.
 33 = Test string length = 2500
 34 = Test string length = 2500 Example of Test = 0 with no errors.
 35 = Test string length = 2500 Example of Test = 4 Accuracy = 2^6
 In the case of Test 0 Select length of test string. Maximum length = 256. Minimum Length = 4.
 In the case of Test 1 and test 2 Select length of test string. Maximum length = 2500. Minimum Length = 4.
 In the case of Test 0 the first line will show the bit string. Line 2 will show the number of times the "ON OFF" process switches from ON to OFF.
 In the case of Test 2 Select Seed. This is the starting value of the Random Number Generator.
 If there are errors detected they will be displayed. The best way to observe the performance is to observe the "direct window" of the Visual Basic program listing.
 The "Norm Dist" target is used to test the "Standard Normal (Cumulative Distribution) Function" as a function of z. See page 5.4 for details.
 The "Comp Error" target is used to test the "Complementary Error Function" as a function of z. See page 5.5 for details.
 The "Gamma" target is used to test the "Gamma Function" as a function of z. See page 5.5 for details.
 The "Inc Gamma" target is used to test the "Incomplete Gamma Function" as a function of alpha=z and x. See page 5.5 for details. The results show P(a,x) and Q((a,x) = 1P(a,x)
 The "Rank" target is used to calculate the rank of a matrix. The matrix needs the value 999 besides the right top corner. In order to calculate the rank you have to select the left corner of the matrix (The value in Yellow) and then select the "RANK" target.
 The "Support" target is used to calculate the string representation of the first row.
The purpose of sheet "Benchmark" is:
 To perform the test 0, 1 and 2 for 50 test strings. Each test string has the length of 2500 characters.
In order to execute the program select the target "Benchmark". The program
 The first question to answer is the test number. i.e. 0, 1 or 2
One cycle of test 0 takes approximately 42 minutes.
The Seed of test 2 (RND function) is the test counter
For each test there are 4 lines with results.
 Line 1 shows the test counter.
 Line 2 shows for each of the 15 + 2 tests the total number times that the Pvalue is less than 0.01
 Line 3 shows for each of the 15 + 2 tests the total Pvalue
 Line 4 shows for each of the 15 + 2 tests the average Pvalue
Each time when the program is executed the previous results are not cleared (initialized).
Important: The program stops when any value is modified.
For the latest results See here: Benchmark
 To convert a decimal number to a binary number.
The first row shows the decimal number. The word End is used to terminate the string.
The second row contains the binary number.
In order to execute the program select the target "Convert"
The e value comes from:
http://members.home.nl/evwinsen/wiskunde/epagina.htm
The pi value comes from: http://nl.wikipedia.org/wiki/Pi_(wiskunde)
 To calculate the statistics of "Test 2.5 Binary Matrix Rank Test" See page 2.10"
In order to execute the program select the target "2.5"
See chapter 3.5 for details. IMO chapter 3.5 does not give the statistics for a 32 by 32 matrix. Instead it gives the details for a 3 by 3 matrix.
In the program the statistics are calculated for a 3 by 3, 4 by 4 and 5 by 5 matrix.
There are in total 2^9 3 by 3 matrices. For each of those matrices the Rank value is calculated. The same is done for the 2^16 matrices of 4 by 4 and the 2^25 matrices of 5 by 5.
The results show that in the case of a 3 by 3 the probability of a full rank matrix (i.e. with rank 3) is 0,1953. In the case of a 4 by 4 this is 0,1166 and in the case of a 5 by 5 this is 0,0667. Chapter 3.5 shows a different result.
 To calculate the statistics of "Test 2.10 Linear Complexity Test" See page 2.24
In order to execute the program select the target "2.10"
See chapter 3.10 for details.
The basic string length is 13 bits. There are in total 2^13 of those bit strings. For each of those bit strings the Li value is calculated.
Nist report 80022 Evaluation
The question can be raised how important the Nist document is.
 IMO there exist no matematically method (including Bell inequalities) to define a process as random based on measurements of the physical parameters of such a process. This measurement being a string of zero's and one's. The only way thing you can do is to declare a string is as not random, assuming the string has certain defined properties. For example: You can declare the string "01010101010101" as not random because the same pattern "01" repeats itself.
 At the other side, IMO, in order to declare the process as random you have to know the details of the whole physical process (program) involved. For example: if you use a roulette to generate your random numbers you have to understand the details of that process, including the rules involved to generate each random number. This includes the minimum number of revolutions of the wheel during operation.
As such I do not understand while certain the details (the measurement process) of the two trapped Yb qubits are not important. (detection error < 3%  See page 1023).
 Each of the 15 tests of the Nist report services as a filter to detect non randomness. However I do not understand why which each of the 15 tests there is not an example to demonstrate what its specific function is.
To be more specific IMO the 15 tests in the document can not be used to decide if the ON OFF process is either random or non random. IMO if one or more tests fail than that is more an indication that the tests are "wrong" than that the process is a non random process.
As already mentioned before the only thing you can show is that a sequence of bits is not random. Unfortunate the document does not demonstrate that point and IMO lacks certain rigour. The document contains 15 tests. Which each test is an example to demonstrate that the test is implemented correctly. That is okay. What it lacks is to demonstrate what its specific function is. In fact, IMO, each test services as a filter, to capture non random bit patterns. That means for example that with test 5 you need an specific non random test pattern which at least fails at test 5 implying that the pattern is non random. For test 6 you need a different non random pattern which fails specific at test 6 etc etc.
In the paragraphs: 2.5.8, 2.8.8, 2.10.8, 2.11.8, 2.13.8, 2.15.8 the test string consists of the “the first 1,000,000 binary digits in the expansion of e”. The conclusion of those 6 tests is that the sequence was random. IMO that conclusion is not appropriate and conceptual wrong. What is more important the expansion of e should not be used in order to validate or calibrate the 15 tests.
In paragraph 2.14.8 also the expansion of "e" was tested. At page 237 we read:

However, for one state of x (x = 1), the Pvalue is < 0.01, so the
conclusion would be that the sequence is nonrandom. When contradictions arise, further
sequences should be examined to determine whether or not this behavior is typical of the
generator.

Again this line of reasoning is conceptual wrong. In order to fine tune the 15 tests you should use physical systems and not pseudo random number generators.
In paragraph 2.7.8 and 2.9.8 the test consists of the "2^20 bits produced by the GSHA1 generator". Also here the conclusion is that the sequence was random. Again IMO the same conclusion holds: The methodology used is wrong. Physical systems should be used.
In test 31 the expansion e is tested and in test 32 the expansion of pi is tested. Test 32 fails at test 3 and test 32 fails in test 2.10 and test 2.14.
At page 1.1 of the NIST document we read:
 Obviously, the use of unbiased coins for cryptographic purposes is impractical. Nonetheless, the
hypothetical output of such an idealized generator of a true random sequence serves as a benchmark for
the evaluation of random and pseudorandom number generators

IMO the document does not support that concept. It should not.
 First it should clearly state that the output of an experiment with coins represents a trully random process.
 Secondly it should show the results of such an experiment compared with the 15 tests in order to fine tune (validate) the 15 tests. The results of the 15 tests should be qualified as 100% random.
 After this fine tuning the 15 tests should be compared with the output of a pseudo random number generator. The result should be that the pseudo random number generator should be qaulified as not 100% random.
Unfortunate the document does not support this methodology.
At page 1.2 of the NIST document we read:

Ironically, pseudorandom numbers often appear to be more random than random numbers obtained from
physical sources.

If that is the case there is something terific wrong with the methodolgy followed.
 As explained above random numbers obtained from physical sources should be qualified as 100% random and the 15 tests should
 Secondly the results of pseudorandom number generators should be less random. If they don't the 15 tests should be better calibrated against the results of physical processes
Why the words "Ironically" and "appear"?
Nist report 80022 Evaluation  part 2
Reading and studying the document it tries to cover two areas:
 Pseudo random number generators. i.e computer programs which exucute an algorithm and which bassically each time gives the same result. No human intervention is assumed. Those programs are clearly deterministic.
The test 2 falls in this category.
 Numbers (measurements) generated by physical processes. The tests 0 and 1 fall in this category.
What the document should do is only discuss the second type of generators and try to clarify what to do in order to clasify those as non random. That means to specify a certain number of tests that if one fails the number is non random.
Benchmark Evaluation
There are 5 Benchmarks performed in sheet "Benchmark" identified as Test 0, Test 1, Test 2, Test 3 and Test 4
For the latest results See here: Benchmark
Each of these Benchmarks produces multiple a string of 0's and 1's with a fixed length of 2500 bits.
 Test 0 and Test 1 are a physical process. The outcome of each test is unpredicatable.
 Test 2, 3 and 4 are deterministic processes. The outcome of each test using the same input or "Seed" is every time the same.
 The difference between the 3 tests is accuracy of the Random Number Generator or RND function in Visual Basic. The accuracy of Test 2 is 2^24, of Test 3 is 2^14 and of Test 4 is 2^12. The factor 2^24 means that the the RND function generator generates 2^24 different numbers or to say it different after 2^24 RND function calls the same number will be repeated.
The idea behind the Benchmark is mathematical to unravel this difference by investigating the strings using the 15 tests explained in the Nist document. These 3 and 3.1 are special tests develloped by the author.
The results of the 3 Benchmarks Test 0, Test 1 and Test 2 using 100 strings for each (50 for test 0) show no significant differences. That means that the tests are not accurate enough to make a distinction between a sequence of numbers generated by a process versus by a pseudo random number generator.
The accuracy of the RND function consists of 2^24 numbers. The purpose of Test 3 and Test 4 is to see what happens when you decrease this number. The accuracy of Test 3 is 2^14 and of test 4 is 2^12.
The biggest differences are in Test 2.6 and Test 3.
 Test 2.6 = Discrete Fourier Transform (Spectral) Test page 2.12.
The details of the test results are here: Test 2.6
 Test 3 = Special Normal Distribution Test
The purpose of Test 3 is to count the number of continuous 0 and 1 bit strings and compare them with expected counts.
The details of the test results are here: Test 3
The test results show that if you decrease accuracy then the longer bit strings are missing.
The results of Benchmark tests 3 and 4 are very important.
 First if the length of your test string = 2500 and the accuracy of your Pseudo Random number generator is 4096 (Roughly the same or slightly larger) then you will be able to detect that.
 Secondly if the accuracy of your Pseudo Random Number generator is 16777216 then you need a test string of similar size in order to detect this.
 The vacuum chambers experiment used 3016 events to produce 42 new random bits. IMO those numbers are much too small to mathematically exclude that those numbers are not generated by a Pseudo Random Number Generator.
Documentation
Feedback
No
Created: 24 April 2010
Updated: 15 Mai 2010
Back to the start page: Index of this Document
Back to Nature comment page: Nature Articles index