We hope EntropiQ will become a community effort to build a no-code cloud platform for designing and running large-scale simulations of many-body quantum mechanical systems using Tensor Networks.
The community version and demos will be available at https://entropiq.tech/ shortly 🚀.
There are three components of EntropiQ:
- AWS Postgres Database for quantum simulation data and metadata management
- tables managing experiment metadata, high-level simulation results, and low-level state and entropy tracking
- Many-body quantum system simulation pipeline templates in Julia
- Currently seeded with both brick-layer design and completely packed loop model with crossings (CPLC) design
- Working on Genie (web framework in Julia) API Templates to deploy simulations and integrate with app
- Streamlit Application (Python)
- Platform statistics
- Flexible experimental design, including: system size, gates, measurement types and rates, circuit depth and entropy calculation customization.
- High and low-level exploratory data analysis of entanglement entropy, runtime analysis, and state probability distribution evolution animations
Bricklayer Design - "Quantum Zeno Effect and the Many-body Entanglement Transition"
Entanglement area law in superfluid 4He
Simulating Clifford's - "Hadamard-free circuits expose the structure of the Clifford group"
Measurement Protected Quantum Phases
This site is a resource for tensor network algorithms, theory, and software.
Quantum Tensor Networks in a Nutshell
The density-matrix renormalization group in the age of matrix product states
Hand-waving and Interpretive Dance: An Introductory Course on Tensor Networks
Matrix Product State Based Algorithms for Ground States and Dynamics
ITensors - very good article on measurement of local operators
Garnet Chan "Matrix product states, DMRG, and tensor networks" (Part 1 of 2)
Garnet Chan "Matrix product states, DMRG, and tensor networks" (Part 2 of 2)
"von Neumann entropy is a limiting case of the Rényi entropy lim α→1 Sα(ρ) = S(ρ) Given a family of entropies {Sα(ρ)}α, where α is some index, the entropies are monotonic in α∈ℝ" (see here).
Entanglement Entropy via the partial trace:
"Among physicists, this is often called "tracing out" or "tracing over" W to leave only an operator on V in the context where W and V are Hilbert spaces associated with quantum systems (see here)."
MSFT Azure Article - very good Pauli measurement operations
What is the difference between general measurement and projective measurement?
Validating quantum-classical programming models with tensor network simulations
Request DB credentials from @mercicle and create a db_creds.env
file in the root folder with the following:
POSTGRES_DB_USERNAME=
POSTGRES_DB_PASSWORD=
POSTGRES_DB_URL=quantumlabdb.cvbkaarxyt1b.us-east-1.rds.amazonaws.com
POSTGRES_DB_PORT=5432
POSTGRES_DB_NAME=postgres
To install Julia on Mac:
brew install --cask julia
brew update && brew upgrade julia
Add Julia to Path
'/Applications/Julia-1.7.app/Contents/Resources/julia/bin/julia' ln -fs "/Applications/Julia-1.7.app/Contents/Resources/julia/bin/julia" /usr/local/bin/julia or, export PATH="$PATH:/path/to//bin" or ~/.bash_profile
How to call Julia code from Python
Pluto for interactive Julia Dashboards
Deploying a Julia API with Genie
Starter code to understand how to run simulations using ITensor and PastaQ was graciously provided here.
Install PastaQ:
julia> ]
pkg> add PastaQ
julia> import Pkg; Pkg.add("ITensors"); Pkg.add("StatsBase")
julia> Pkg.add(Pkg.PackageSpec(;name="PastaQ", version="0.0.18"))
After installing Itensor and PastaQ, you must run this julia> using Pkg; Pkg.update()
.
Add to ~/.zshrc
:
export JULIA_NUM_THREADS=4
Julia support for Apple Silicon
Tried M1 experimental and was running into PastaQ error:
ERROR: LoadError: UndefVarError: libscsindir not defined
So then installed Julia macOS x86 (Intel or Rosetta)
softwareupdate --install-rosetta
juno-makes-writing-julia-awesome
pkg> up Atom Juno
- https://docs.julialang.org/en/v1/manual/style-guide/#bang-convention
- https://docs.julialang.org/en/v1/manual/control-flow/
- https://docs.julialang.org/en/v1/manual/variables-and-scoping/
- https://sodocumentation.net/julia-lang
- https://github.com/bkamins/Julia-DataFrames-Tutorial/
- https://www.ahsmart.com/pub/data-wrangling-with-data-frames-jl-cheat-sheet/
- https://www.reddit.com/r/Julia/comments/9p3ttr/clearing_workspace_atom/ Julia Data Format like HDF5
- https://towardsdatascience.com/how-to-embed-your-julia-code-into-python-to-speed-up-performance-e3ff0a94b6e
- https://syl1.gitbook.io/julia-language-a-concise-tutorial/language-core/interfacing-julia-with-other-languages
Using Streamlit to build an interactive dashboard for data analysis on AWS
I began building EntropiQ at the end of my M.S. Physics, when I was studying entanglement entropy in quantum systems under the supervision of Associate Professor Dr. Lukasz Fidkowski at the University of Washington.
This could not have been done without the generous support provided by the ITensors and PastaQ package developers, Matt and Giacomo. These are the two powerhouse packages used by EntropiQ.