-
Notifications
You must be signed in to change notification settings - Fork 0
A research project studying the probability that random functions are injective
License
ClaytonMcCray/injectionAnalysis
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a research project where I'm studying the injectiveness of random functions. Random as in f: D -> C where f(x) = rand(x). Right now I'm essentially looking at two things -- how does the probability that a random function is injective change as the domain and codomain both get arbitrarily large while maintaining a fixed ratio r = size(codomain)/size(domain), and how does the probability change as the codomain gets large but the domain remains fixed in size. The algortithm for determining if a function is injective resides in checkInjective.cpp. build.sh (tested on MacOS and Fedora Workstation 29) will build a shared library under pwd/lib/$OSTYPE/. pyInjective.py is an API to that shared object. analysisLib.py contains functions for actually anaylyzing things and making predictions. analysis_driver.py is where tests are actually run. To run the project in whatever its current config is, just clone the repo, run build.sh, install matplotlib, and then run the driver. Requirements: python 3.6 (minimum version tested) matplotlib CUDA capable NVIDIA GPU CUDA Toolkit gcc <= v.7
About
A research project studying the probability that random functions are injective
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published