Skip to content

omnibox/QiPRNG

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QiPRNG (pronounced "chee"-PRNG)

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.

Usage Instructions

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.

About

A DTQW-inspired PRNG.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 59.5%
  • Python 39.5%
  • Other 1.0%