-
Notifications
You must be signed in to change notification settings - Fork 24
Splitting the QNET Package into components
The QNET package should be split into different components. The rationale is the following:
- the different components of QNET have a different audience. E.g. QHDL modeling is of interest mainly to experimentalist, whereas code generation is for people doing numerics
- different components have different level of maturity. Some parts are stable, others very much in "alpha".
- different components can be more easily maintained by different people
Possible components include:
Goal: provide a parser for the QHDL language, resulting in an SLH object / SLH network object
Goal: provide a graphical Jupyter-Notebook-based tool to build abstract quantum networks graphically (resulting in an SLH object / SLH network object)
Goal: provide a structure for the abstract description of connected SLH objects. Apply the SLH algebra to derive an effective SLH object for the entire network.
Should we have a data structure SLHNetwork that reflects a "unevaluated" network of SLH objects?
Goal: Provide a computer-algebra framework for quantum mechanics (i.e., operators). Allow for symbolic manipulation and model reduction
Goal: Convert between QNET algebra objects and numeric QuTiP object
Goal: Convert symbolic expressions into C++ code, within the QSD framework
Goal: convert between qnet-algebra and purely symbolic sympy expressions