1. Multi-physics modeling
2. Surrogate modeling and emulation
3. Simulation-based inference
4. Causal modeling and inference
5. Agent-based modeling
6. Probabilistic programming
7. Differentiable programming
8. Open-ended optimization
9. Machine programming
1. Multi-physics modeling
2. Surrogate modeling and emulation
3. Simulation-based inference
4. Causal modeling and inference
5. Agent-based modeling
6. Probabilistic programming
7. Differentiable programming
8. Open-ended optimization
9. Machine programming
Quantum systems are expensive to model...
...and there is a diverse set of modeling techniques.
a = random_pauli(1_000_000_000);
b = random_pauli(1_000_000_000);
@benchmark mul_left!(a,b)
# Time (median): 32.246 ms
... and work on GPU acceleration for Clifford circuits¹
... and a library of codes and syndrome measurement circuit compilers²
... and expander-graph LDPC code generators³
julia> N⊗X * vac⊗X1
n̂⊗σˣ|0⟩|+⟩
julia> express(vac⊗X1)
Ket(...)
julia> express(X1⊗Z2, CliffordRepr())
X_
-_Z
traits = [Qubit(), Qubit(), Qumode()]
reg = Register(traits)
A register "stores" the states being simulated.
initialize!(reg[1], X₁)
A register's slot can be initialized to an arbitrary state, e.g. $|x_1\rangle$ an eigenstate of $\hat{\sigma}_x$.
initialize!(reg[1], X₁)
initialize!(reg[2], Z₁)
apply!((reg[1], reg[2]), CNOT)
Arbitrary quantum gates or channels can be applied.
for (;src, dst) in edges(mgraph)
@process entangler(sim, mgraph, src, dst, ...)
end
for node in vertices(mgraph)
@process swapper(sim, mgraph, node, ...)
end
for (;src, dst) in all_node_pairs(mgraph)
@process entangler(sim, mgraph, src, dst, ...)
end
Play with it at areweentangledyet.com
1. Multi-physics modeling
2. Surrogate modeling and emulation
3. Simulation-based inference
4. Causal modeling and inference
5. Agent-based modeling
6. Probabilistic programming
7. Differentiable programming
8. Open-ended optimization
9. Machine programming
Multi-formalism QIS modeling