QuTip Simulation
Compilation¶
We first compile AnalogCircuit
to a QutipExperiment
using the ConversionRule QutipBackendCompiler
.
We also then separately convert the args of Analog layer to a corresponding representation of the args
which can be processed by QuTip. The compile
functions
is used to compile AnalogCircuit
to a
QutipExperiment
and also used to convert the args.
Simulation¶
After compilation, the time dynamical evolution is emulated using the Qutip implementation of the Schrödinger equation,
qutip.sesolve
.
stateDiagram-v2
User_Input --> OpenQSIM: The user inputs are put in the OpenQSIM AST's Task object
OpenQSIM --> OpenQSIM(canonicalized): RewriteRule (Canonicalization of Operators)
OpenQSIM(canonicalized) --> QutipExperiment: compile the program of Task to QutipExperiment. And also convert the analog
QutipExperiment --> TaskResultAnalog: Run the experiment using the QutipExperimentVM Virtual Machine.