{"id":48261150,"url":"https://github.com/benjamindecker/quantumgameoflife.jl","last_synced_at":"2026-04-04T21:34:16.550Z","repository":{"id":193278976,"uuid":"687475564","full_name":"BenjaminDecker/QuantumGameOfLife.jl","owner":"BenjaminDecker","description":"A Classical Simulation of the Quantum Game of Life","archived":false,"fork":false,"pushed_at":"2026-01-29T14:29:27.000Z","size":4626,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-30T03:39:04.031Z","etag":null,"topics":["cellular-automata","many-body-physics","quantum-computing","quantum-information","tensor","tensor-networks"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BenjaminDecker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-05T12:37:18.000Z","updated_at":"2026-01-29T14:29:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa1356ec-ed67-40a8-b50b-c715aa4eff28","html_url":"https://github.com/BenjaminDecker/QuantumGameOfLife.jl","commit_stats":null,"previous_names":["benjamindecker/quantumgameoflife.jl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BenjaminDecker/QuantumGameOfLife.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenjaminDecker%2FQuantumGameOfLife.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenjaminDecker%2FQuantumGameOfLife.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenjaminDecker%2FQuantumGameOfLife.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenjaminDecker%2FQuantumGameOfLife.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BenjaminDecker","download_url":"https://codeload.github.com/BenjaminDecker/QuantumGameOfLife.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenjaminDecker%2FQuantumGameOfLife.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31415112,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cellular-automata","many-body-physics","quantum-computing","quantum-information","tensor","tensor-networks"],"created_at":"2026-04-04T21:34:15.627Z","updated_at":"2026-04-04T21:34:16.535Z","avatar_url":"https://github.com/BenjaminDecker.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QuantumGameOfLife.jl\n\n### A classical simulation of the Quantum Game of Life.\n\nSimulate and create beautiful plots of quantum cellular automata, inspired by classical elementary cellular automata.\nGiven some rule from the Wolfram Code, the translation into a quantum framework follows the method presented in [[1]](#1).\n\n\n\n![](plots/plot.svg)\n\n## Setup\nBefore running the code for the first time, install all dependencies by running the instantiation script from the project directory\n\n```bash\n$ cd QuantumGameOfLife.jl/\n$ julia instantiate.jl\n```\n\nThe instantiation script is also called from the cli script to make sure everything is set up correctly every time.\n\n## Usage\nList all available parameters with\n```bash\n$ julia cli.jl --help\n```\n\u003cbr/\u003e\n\nCreate and show a plot\n```bash\n$ julia cli.jl --show\n```\n\u003cbr/\u003e\n\nUse different initial state vectors\n```bash\n$ julia cli.jl --show --initial-state blinker triple_blinker\n```\n\u003cbr/\u003e\n\nUse a superposition of initial state vectors\n```bash\n$ julia cli.jl --show --initial-state blinker triple_blinker --superposition\n```\n\u003cbr/\u003e\n\nPlot additional measurement information\n```bash\n$ julia cli.jl --show --plot expect sse rounded cbe autocorrelation\n```\n\u003cbr/\u003e\n\nWrite to different file formats\n```bash\n$ julia cli.jl --show --file-formats svg png pdf\n```\n\u003cbr/\u003e\n\nTry the TDVP algorithm (This command was used to create the plot at the top)\n```bash\n$ julia cli.jl --show --initial-state single --algorithm tdvp1 --num-cells 33 --max-bond-dim 5 --num-steps 350 --sweeps-per-time-step 10 --plot classical expect sse rounded autocorrelation cbe --step-size 0.4 --file-formats svg\n```\n\nPlots are saved in the plots directory by default, which can be changed with the --plotting-file-path argument. (Make sure to create the specified directory first if it does not already exist.)\n```bash\n$ julia cli.jl --show --plotting-file-path plots2\n```\n\u003cbr/\u003e\n\n### Use different QCA rules\nProvide a Wolfram code via the rule parameter to create quantum analogues to classical elementary cellular automata and compare the results to the classical case.\nUse a distance of 1 to get equivalents to elementary cellular automata where the rule labels the corresponding Wolfram code.\n```bash\n$ julia cli.jl --show --plot classical expect --distance 1 --rule 108\n$ julia cli.jl --show --plot classical expect --distance 1 --rule 30\n$ julia cli.jl --show --plot classical expect --distance 1 --rule 150\n```\n\u003cbr/\u003e\n\nUse higher distances and extend the Wolfram code to larger numbers\n```bash\n$ julia cli.jl --show --plot classical expect --distance 2 --rule 2266898040\n```\n\u003cbr/\u003e\n\nUse periodic boundary conditions\n```bash\n$ julia cli.jl --show --periodic-boundaries\n```\n\u003cbr/\u003e\n\n## Work with the REPL\nJulia uses a just-in-time compiler which takes extra time when code is executed the first time to compile functions before executing them. Subsequent executions will reuse the compiled functions and run a lot faster, even with different input parameters. However, when using the CLI script, the compiled functions are lost between executions and have to be recompiled every time.\n\nTo prevent that, you might want to work from inside the julia REPL, especially if you plan to run many quick simulations.\n\nTo do so, make sure that your working directory is the project root directory and open the julia REPL\n```bash\n$ cd QuantumGameOfLife.jl/\n$ julia\n```\nthen, include the instantiation file and use the project.\n```julia\njulia\u003e include(\"instantiate.jl\")\njulia\u003e using QuantumGameOfLife\n```\n\u003cbr/\u003e\n\nAfterwards, you can use the same command line options as with the CLI by passing them to the start function. To see the effect, compare the runtimes of two consecutive executions of the same function.\n```julia\njulia\u003e @time QuantumGameOfLife.start()\n\njulia\u003e @time QuantumGameOfLife.start()\n\njulia\u003e @time QuantumGameOfLife.start(\"--show --plot classical expect --distance 1 --rule 150\")\n```\n\n\u003cbr/\u003e\n\n## References\n\u003ca id=\"1\"\u003e[1]\u003c/a\u003e \nBenjamin Decker. “Creating a Quantum Analogue to an Arbitrary Classical Elementary Cellular Automaton”. en. MA thesis. Technical University of Munich, 2024-10. URL: https://mediatum.ub.tum.de/1756463\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenjamindecker%2Fquantumgameoflife.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenjamindecker%2Fquantumgameoflife.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenjamindecker%2Fquantumgameoflife.jl/lists"}