A DTQW-inspired PRNG. The output sequence is a string of the least significant bits from the measurement probabilities corresponding to a DTQW determined by an arbitrary Hamiltonian. The construction of the DTQW follows Childs' 2010 paper On the relationship between continuous-and discrete-time quantum walk.
For reference on the statistical tests, see NIST's page.
The directory structure must be initialized before any data is generated. To do this, run mkdir data data/binary_data data/stats_output
from the QiPRNG
directory.
If using the C implementations of the NIST SP 800-22 statistical suite, navigate to the src
directory and compile the library with cc -fPIC -shared -o sp800.so ./sp800_22_tests_c/src/*
.
Data generation can then be invoked with python DataProcessing.py
, or sbatch generate.sh
if running on a cluster.
Since GitHub has a file size limit of 100M, we split up the results file with split results.csv --bytes=50M results_chunks/chunk_
and commit only the chunks. These can be put back together with cat results_chunks/chunk_* > results.csv
.