Skip to content

Conversation

Vanshaj0429
Copy link
Contributor

Add Jaynes-Cummings Model Tutorial for Quantum Systems Library

Summary

This PR adds a detailed tutorial on the Jaynes-Cummings Model (JCM) that demonstrates the new quantum_systems library functionality from the dev.qsystem branch. The tutorial covers fundamental cavity quantum electrodynamics (QED) concepts with practical QuTiP implementations.

What's New

  • Complete JCM tutorial (jc_tutorial.md) covering theory and practical implementation

  • 5 detailed examples showcasing different system configurations:

    • Basic resonant system
    • Detuned system with dissipation
    • Rabi model (no rotating wave approximation)
    • System component access and analysis
    • Energy spectrum computation
  • Advanced physics demonstrations:

    • Rabi oscillations and detuning effects
    • Dissipative dynamics with cavity/atomic decay
    • Thermal effects and steady-state analysis
    • Vacuum Rabi splitting spectroscopy

Technical Features

  • Uses quantum_systems.jaynes_cummings() factory function for streamlined system construction
  • Integrates seamlessly with QuTiP solvers (mesolve, spectrum, correlation_2op_1t)
  • Demonstrates proper handling of:
    • Collapse operators for dissipation
    • Thermal bath effects
    • Parameter validation and defaults
    • Spectroscopic analysis methods

Educational Value

  • Theoretical background: Historical context, mathematical formulation, and physical interpretation
  • Practical implementation: Shows quantum systems library advantages over manual construction
  • Real-world modeling: Includes dissipation, decoherence, and thermal effects
  • Visualization: Multiple plots demonstrating key phenomena

Target Audience

  • Students learning cavity QED and quantum optics
  • Researchers adopting the new quantum systems library
  • QuTiP users interested in streamlined system construction

Dependencies

This tutorial requires the dev.qsystem branch and will only work until that branch is merged with master.


Author: Vanshaj Bindal
Branch: dev.qsystem (required)
File: JCM_Tutorial.md

@Vanshaj0429
Copy link
Contributor Author

@nwlambert, can you have a look. I can streamline some of the stuff though, like section Using Jaynes-Cummings Factory Function have five small example, I can cut some of them down, if it's too much

Copy link
Member

@nwlambert nwlambert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its looking good, I left a few comments. A little long, but I think thats good for this type of notebook. Good to add some basic tests right at the end, just a couple of things from the notebook that might not be caught by the usual qutip tests (e.g., maybe the spectrum stuff?) . Speaking of, we could probably get the tests running by editing

to use the qsystem branch. but we would have to remember to change it back later!

@Vanshaj0429
Copy link
Contributor Author

@nwlambert, I made the changes in the notebook. Seems alright to me now. I also changed branch in CI file. Please have a look

Copy link
Member

@nwlambert nwlambert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking good, one minor typo, and then i think this is good from my POV

@Vanshaj0429
Copy link
Contributor Author

@ajgpitch, @Ericgig, it passed the test😅

@Vanshaj0429
Copy link
Contributor Author

@nwlambert, do you think it is merge ready?

@nwlambert
Copy link
Member

yep, was just waiting in case there were any comments from the meeting on tuesday. guess not, will merge

@nwlambert nwlambert merged commit 8d38ec5 into qutip:dev.qsystem Sep 26, 2025
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants