Uh oh!
There was an error while loading. Please reload this page.
GKLS TUTORIAL FILES - #1
Conversation
AlexandreFoley
left a comment
There was a problem hiding this comment.
Regarding you aleph scripts: for our own ability to make promises regarding long-term availability of your contribution we will have to bring copies, and link to those copies in the tutorial. You can always submit updates to it if you believe it is worth the hassle!
Overall, I think this is a really good tutorial, well written and clearly explained. The accompanying code is well organized.
The validations could be done using the aleph test framework. Its been made public fairly recently, so it probably wasn't available when you began working on this.
See https://docs.kotharcomputing.com/docs/aleph-101#testing .
Don't feel obligated to make that change.
So a few corrections and whatever is needed to make the ci pass afterwards (I'll help with that), and then it's good to go!
Thank you for sharing that with us!
Uh oh!
There was an error while loading. Please reload this page.
| where $B^{\mathsf T}$ is the transpose of $B$. This is the identity that turns left–right multiplication into a single linear action on the vectorized state. | ||
| :::note | ||
| The choice of row-stacking is not physically special. What matters is using one convention consistently. The validation files check that the symbolic Liouville-space action agrees with the direct dense GKLS equation under this convention. |
There was a problem hiding this comment.
I would go further: the choice of row stacking is not even mathematically special; indeed, its just a choice of basis for the size
As usual, the choice of basis can have great numerical consequences, especially with sparse numerical methods.
There was a problem hiding this comment.
Good point! I updated the note to say this is a basis choice in operator space, not something mathematically special, while keeping the warning about numerical consequences.
| \frac{d}{dt}|\rho(t)\rangle\rangle=\mathcal{L}\,|\rho(t)\rangle\rangle, | ||
| $$ | ||
| where $\mathcal{L}$ is the **Liouvillian (Lindbladian superoperator)** (a $d^2\times d^2$ matrix). In the row-stacking convention used here, $\mathcal{L}$ can be written explicitly in terms of Kronecker products of $H$ and the jump operators $L_k$ as |
There was a problem hiding this comment.
I'm used to calling Liouvillian only the coherent part of the super-operator, and calling Lindbladian the Liouvillian augmented with dissipative term. But that may be because i'm not all that fluent in the domain of dissipative quantum systems.
There was a problem hiding this comment.
Thanks for that point! To make things more background-agnostic, I added a short convention note there. I’ll use “Liouvillian” for the full Liouville-space generator in this tutorial, but I now explicitly mention that “Lindbladian” is also used for the full GKLS generator, and that the coherent/Hamiltonian part can be separated when needed.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
carlos-rib
commented
Jun 2, 2026
Hey, Alexandre! Thanks a lot for the careful review, and also for the kind words about the tutorial and code organization. I’ll be going through the direct fixes now. I’m also interested in the Aleph test framework point. I saw the On the Born approximation comment: I see your point about the wording being confusing. I had in mind the usual weak-coupling/factorized-state step in the open-systems derivation, but I agree the way I phrased it mixes terminology too much. I’ll rewrite that part in safer language rather than trying to name the approximation too aggressively. |
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Co-authored-by: Alexandre Foley <alexandre.foley@usherbrooke.ca>
Uh oh!
There was an error while loading. Please reload this page.
…ete.md Co-authored-by: SebA-KC <sebastien.avakian@kotharcomputing.com>
…ete.md Co-authored-by: SebA-KC <sebastien.avakian@kotharcomputing.com>
AlexandreFoley
commented
Jun 5, 2026
I had to make quite a few changes to make the CI "build the webpage" part of the continuous integration test work. |
Thanks a lot @carlos-rib ! And sorry again about the missing files in the repo. You ended up being our guinea pig, and a great one at that. I’ll let you know as soon as it’s live on our official docs website. |
Uh oh!
There was an error while loading. Please reload this page.
julienblin-kothar
commented
Jun 9, 2026
Great news @carlos-rib, your contribution is now live on our official docs website! https://docs.kotharcomputing.com/docs/contributions/gkls-vec-tutorial Thanks again for being our first external contributor. Really happy to have this up! |
Summary
This is a tutorial file which goal is, by using the vectorization method, make a GKLS time evolution using Krylov method, as symbolic as possible.
Checklist
docs/contributions/.docs/contributions/use kebab-case names.npm run buildlocally and it succeeded.Notes for Reviewers
Since I dived the code in some utility layers and run layers, I hyperlinked the full code files in some part of the text for my own GitHub page. I don't know whether this is okay, but this is still a work in progress, just for the sake of visibility.