Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
rydiqule v2.1.3
Light Logo Dark Logo
rydiqule v2.1.3

GETTING STARTED

  • Installation
  • Rydiqule Overview
  • Introduction to Rydiqule
  • Introduction to Cell and Real Atoms
  • Rydiqule Performance
  • Changelog

DETAILED DOCUMENTATION

  • Physics Documentation
    • Equations of Motion Generation
    • Stacking Conventions
    • Observables
    • Doppler Averaging
    • Time-Dependence
    • Atomic Structure Primer
    • Fine and Hyperfine Structure with Sublevels
  • API Documentation
    • rydiqule
      • rydiqule.arc_utils
        • rydiqule.arc_utils.RQ_AlkaliAtom
      • rydiqule.atom_utils
        • rydiqule.atom_utils.ATOMS
        • rydiqule.atom_utils.D1_excited
        • rydiqule.atom_utils.D1_states
        • rydiqule.atom_utils.D2_excited
        • rydiqule.atom_utils.D2_states
        • rydiqule.atom_utils.calc_eta
        • rydiqule.atom_utils.calc_kappa
        • rydiqule.atom_utils.expand_qnums
        • rydiqule.atom_utils.expand_single_qnum
        • rydiqule.atom_utils.get_valid_f
        • rydiqule.atom_utils.get_valid_j
        • rydiqule.atom_utils.get_valid_mf
        • rydiqule.atom_utils.get_valid_mj
        • rydiqule.atom_utils.ground_state
        • rydiqule.atom_utils.match_A_QState
        • rydiqule.atom_utils.validate_qnums
        • rydiqule.atom_utils.A_QState
        • rydiqule.atom_utils.QState
      • rydiqule.cell
        • rydiqule.cell.Cell
      • rydiqule.doppler_exact
        • rydiqule.doppler_exact.solve_doppler_analytic
      • rydiqule.doppler_utils
        • rydiqule.doppler_utils.apply_doppler_weights
        • rydiqule.doppler_utils.doppler_classes
        • rydiqule.doppler_utils.doppler_mesh
        • rydiqule.doppler_utils.gaussian3d
        • rydiqule.doppler_utils.generate_doppler_shift_eom
        • rydiqule.doppler_utils.get_doppler_equations
        • rydiqule.doppler_utils.DirectMethod
        • rydiqule.doppler_utils.IsoPopMethod
        • rydiqule.doppler_utils.SplitMethod
        • rydiqule.doppler_utils.UniformMethod
      • rydiqule.exceptions
        • rydiqule.exceptions.debug_state
        • rydiqule.exceptions.quiet_exception_handler
        • rydiqule.exceptions.set_debug_state
        • rydiqule.exceptions.AtomError
        • rydiqule.exceptions.CouplingNotAllowedError
        • rydiqule.exceptions.NLJMWarning
        • rydiqule.exceptions.PopulationNotConservedWarning
        • rydiqule.exceptions.RWAWarning
        • rydiqule.exceptions.RydiquleError
        • rydiqule.exceptions.RydiquleWarning
        • rydiqule.exceptions.TimeDependenceWarning
      • rydiqule.experiments
        • rydiqule.experiments.get_snr
      • rydiqule.rydiqule_utils
        • rydiqule.rydiqule_utils.about
      • rydiqule.sensor
        • rydiqule.sensor.BASE_SCANNABLE_KEYS
        • rydiqule.sensor.BASE_EDGE_KEYS
        • rydiqule.sensor.Sensor
      • rydiqule.sensor_solution
        • rydiqule.sensor_solution.Solution
      • rydiqule.sensor_utils
        • rydiqule.sensor_utils.check_positive_semi_definite
        • rydiqule.sensor_utils.convert_complex_to_dm
        • rydiqule.sensor_utils.convert_dm_to_complex
        • rydiqule.sensor_utils.convert_to_full_dm
        • rydiqule.sensor_utils.coupling_subgraph
        • rydiqule.sensor_utils.draw_diagram
        • rydiqule.sensor_utils.expand_statespec
        • rydiqule.sensor_utils.generate_eom
        • rydiqule.sensor_utils.get_basis_transform
        • rydiqule.sensor_utils.get_rho_ij
        • rydiqule.sensor_utils.get_rho_populations
        • rydiqule.sensor_utils.make_real
        • rydiqule.sensor_utils.match_states
        • rydiqule.sensor_utils.nx_edges_with
        • rydiqule.sensor_utils.process_scannable_parameter
        • rydiqule.sensor_utils.remove_ground
        • rydiqule.sensor_utils.scale_dipole
        • rydiqule.sensor_utils.state_tuple_to_str
      • rydiqule.slicing
        • rydiqule.slicing.slicing
          • rydiqule.slicing.slicing.compute_grid
          • rydiqule.slicing.slicing.get_slice_num
          • rydiqule.slicing.slicing.get_slice_num_hybrid
          • rydiqule.slicing.slicing.get_slice_num_t
          • rydiqule.slicing.slicing.matrix_slice
          • rydiqule.slicing.slicing.memory_size
      • rydiqule.solvers
        • rydiqule.solvers.solve_steady_state
        • rydiqule.solvers.steady_state_solve_stack
      • rydiqule.stack_solvers
        • rydiqule.stack_solvers.cyrk_solver
          • rydiqule.stack_solvers.cyrk_solver.cyrk_solve
        • rydiqule.stack_solvers.scipy_solver
          • rydiqule.stack_solvers.scipy_solver.scipy_solve
      • rydiqule.timesolvers
        • rydiqule.timesolvers.generate_eom_time
        • rydiqule.timesolvers.solve_eom_stack
        • rydiqule.timesolvers.solve_time
  • Developer Documentation
    • Unit Tests
    • Type Hinting
    • Linting
    • Building the Documentation
    • Contributing

EXAMPLE NOTEBOOKS

  • 3-photon Rydberg EIT
  • Analytic Doppler Solver
  • Calculating SNR
  • Simple NMOR examples
  • RF heterodyne with Doppler Example
  • RF heterodyne example
  • Modeling Saturated Absorption Spectroscopy
Back to top
View this page
_images/Rydiqule_Logo_Transparent_3001.png

rydiqule¶

A python library for calculating Rydberg electrometer response to arbitrary RF fields in steady-state or time domains. It is a general density matrix-based master equation solver, optimized for speed to solve problems with large parameter spaces while maintaining flexibility to define novel problems. It leverages a graph-based system definition, computationally-efficient equation “stacking” in the form of tensors, and external computational libraries such as numpy, scipy, and ARC.

For more details, see the Rydiqule Overview.

For detailed usage examples, see the Introduction to Rydiqule Jupyter notebook.

If you use rydiqule in your work, please cite as

B. N. Miller, et. al., RydIQule: A Graph-based paradigm for modeling Rydberg and atomic sensors, Computer Physics Communications 294, 108952 (2024). arXiv:2307.15673.
@article{rydiqule_2024,
   author = {Miller, B. N. and Meyer, D. H. and Virtanen, T. and O'Brien, C. M. and Cox, K. C.},
   title = {RydIQule: A Graph-based paradigm for modeling Rydberg and atomic sensors},
   journal = {Computer Physics Communications},
   volume = {294},
   pages = {108952},
   year = {2024},
   doi = {10.1016/j.cpc.2023.108952},
   url = {https://doi.org/10.1016/j.cpc.2023.108952},
   eprint = {https://doi.org/10.1016/j.cpc.2023.108952}
}
Next
Installation
Made with Sphinx and @pradyunsg's Furo