A package for complexity science research
Project description
Complexity Science Package
This package is created mainly for convenience in doing complex systems research.
The design implementation and structure of the package is motivated for scalability and ease of use. Optimization maybe limited by the design, or the language itself.
Download
pip install complexity-science
Cellular Automata
Basic usage:
import complexity_science.ca as cs
1-D CA
ca = cs.wolfram(N, 20) #creates a 1-Dimensional CA of N cells with wolfram rule number 20
ca.initialize([50]) #initializes the 50th cell of the CA
ca.run(100) #returns the resulting state of the CA for 100 iterations following the rule and plots the result with a default colormap
2-D CA
model = cs.brians_brain([128,128], toroidal=False)
Initializes a CA based on brians brain with toroidal boundary conditions
Available models
cs.game([dim], toroidal=True)
cs.applause([dim], alpha=1)
cs.mpa([dim], percent_mpa=0)
The dim
parameter is the only required parameter for all models, others are optional. Parameters are set to default value if not specified.
alpha
and percent_mpa
are examples of model specific parameters.
See model documentation for more information.
Modifying Parameters
Models can be initialized randomly, binary, by index, using different functions e.g.
model.initialize_random()
model.initialize_random_bin(0.5)
model.initialize_random_int(0,2)
Models with specific parameters can be modified by this function.
model.modify_rule(parameter = new_value)
See model documentation for more information on available parameters
Adding rules and models
Please contact the author for more information.
Animation
model.animate(iteration=100)
If iteration
is not set, animation will continue infinitely.
Animation in jupyter notebook
import complexity_science.ca as cs
import matplotlib.pyplot as plt
from matplotlib import animation, rc
from IPython.display import HTML
An example Game Of Life
animation will be as follows
game = cs.game([50,50])
game.initialize_random_bin(0.5)
anim = game.jyp_anim()
HTML(anim.to_html5_video())
Network Fragmentation
COMING SOON!
Contributing:
git clone https://github.com/KristerJazz/complexity-science.git
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file complexity-science-0.0.6.tar.gz
.
File metadata
- Download URL: complexity-science-0.0.6.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0795fa64f01c1b1e7d1634a827ca77c49a24f9d4a58cbfb42b32b09b85c81f42 |
|
MD5 | cb99ce8f8940c03194ed1c1722e15dbe |
|
BLAKE2b-256 | 9281713596dfd9fa1a1d03477f6a08d3743c5ee07b778ab522b818a08d4a8b24 |
File details
Details for the file complexity_science-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: complexity_science-0.0.6-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ffc9279d8c6feab02f5041c754a27dda065763abe44b8be457355d6442b5a66 |
|
MD5 | b3a008fa49b60cd2b37b2da6513ab57e |
|
BLAKE2b-256 | b8b621eea43fa14ba0ff1c54a04da6286cc3d4e191410c2fca8c333303cf9a35 |