Skip to content

Commit 74b1805

Browse files
authored
Merge pull request #35 from Json-To-String/doc-updates
Typos
2 parents 3997b69 + 579cf05 commit 74b1805

16 files changed

Lines changed: 52 additions & 52 deletions

docs/source/api/api_index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
API Documenation
1+
API Documentation
22
=================
33

44
.. autosummary::

docs/source/changelog.rst

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ v2.1.0
2929
Improvements
3030
++++++++++++
3131

32-
- Fully support 1D/2D/3D doppler solves using the analytic-enabled solver, `solve_doppler_analytic`. The anlytic average
32+
- Fully support 1D/2D/3D doppler solves using the analytic-enabled solver, `solve_doppler_analytic`. The analytic average
3333
is applied to a single dimension, with other present dimensions treated numerically. This provides notable decreases in
3434
computation times and memory footprints and increases in solution accuracy in all spatial dimensions.
35-
- Added an example notebook, `Analyic Doppler Solver`, showcasing the new `solve_doppler_analytic`.
35+
- Added an example notebook, `Analytic Doppler Solver`, showcasing the new `solve_doppler_analytic`.
3636
- Extended documentation and unit unit-testing to include hybrid solver implementation.
3737

3838
Deprecations
@@ -188,7 +188,7 @@ Improvements
188188

189189
- Level diagrams now use `Sensor.get_rotating_frames` to provide better plotting of energy ordering of levels.
190190
- Level diagrams now allow for optional control of plotting parameters by manually specifying `ld_kw` options on nodes and edges.
191-
- Added the ability to specify energy level shifts (additional Hamiltonian digonal terms) not accounted for by the coupling infrastructure.
191+
- Added the ability to specify energy level shifts (additional Hamiltonian diagonal terms) not accounted for by the coupling infrastructure.
192192

193193

194194
Bug Fixes
@@ -210,8 +210,8 @@ v1.1.0
210210
Improvements
211211
++++++++++++
212212

213-
- Added the ability to specify hyperfine states in a `Cell`. They are distiguished by having 5 quantum numbers `[n, l, j, f, m_f]`.
214-
- `kappa` and `eta` are now proprties of `Cell` which are calculated on the fly.
213+
- Added the ability to specify hyperfine states in a `Cell`. They are distinguished by having 5 quantum numbers `[n, l, j, f, m_f]`.
214+
- `kappa` and `eta` are now properties of `Cell` which are calculated on the fly.
215215
- Separated rotating frame logic from hamiltonian diagonal generation into a new function `Sensor.get_rotating_frames()`.
216216
Allows for simple inspection of what rotating frame rydiqule is using in a solve.
217217
- Reworked the under-the-hood parameter zipping framework. This should have minimal impact on user-facing functionality.
@@ -264,7 +264,7 @@ Deprecations
264264
It is now `rabi_frequency` times the `time_dependence`.
265265
- Multiple sign errors have been corrected in `Sensor` and `Cell` with regards to detunings.
266266
Results that are asymmetric about zero detuning are likely to change.
267-
Please ensure all couplings are following correct sign conventions for consisten results
267+
Please ensure all couplings are following correct sign conventions for consistent results
268268
(ie second state of `states` tuple has higher energy).
269269
- most of the functions in experiments.py have been moved to become methods of `Solution` class.
270270

@@ -304,7 +304,7 @@ Bug Fixes
304304
+++++++++
305305

306306
- Changed an `isinstance` check to `hasattr`, fixing an occasional issue with reloading `rydiqule` in jupyter notebooks.
307-
- Fixed issue where submodules wree not installed outside of editable mode.
307+
- Fixed issue where submodules were not installed outside of editable mode.
308308
- Fixed a bug where additional arguments like warning suppression could not be passed to Sensor.add_couplings
309309

310310
Deprecations
@@ -327,7 +327,7 @@ Bug Fixes
327327
+++++++++
328328

329329
- Fixed issue where solvers would save doppler axes labels and values even when they are summed over to the solution object
330-
- Fixed a bug where energy level diagrams broke when decochernce rates were scanned.
330+
- Fixed a bug where energy level diagrams broke when decoherence rates were scanned.
331331
- Fixed issue where compiled timesolvers could not solve doppler averaged problems.
332332
- Fixed issue where certain doppler solves could not be sliced correctly
333333

@@ -386,16 +386,16 @@ Improvements
386386

387387
- Gamma matrix is now calculated on the fly with the `decoherence__matrix()` method.
388388
- Decoherent transitions are now added with with the `add_decoherence()` function in `Sensor`.
389-
- `Cell` now calculates tranistion frequencies and decay rates automatically and places them on the appropriate graph edges.
389+
- `Cell` now calculates transition frequencies and decay rates automatically and places them on the appropriate graph edges.
390390

391391
- Changed the `Sensor.couplings` attribute from a `nx.Graph` to an `nx.DiGraph`. This has multiple advantages:
392392

393393
- A less vague definition of detuning convention.
394394
- Precise definition of energy ordering: couplings now always point from lower to higher absolute energy.
395-
- More flexibility in decoherence. Decoherent transions now point "from" one state "to" another rather than just "between" 2 states. This fixes a limitation where gamma matrices no longer must be lower triangular.
395+
- More flexibility in decoherence. Decoherent transitions now point "from" one state "to" another rather than just "between" 2 states. This fixes a limitation where gamma matrices no longer must be lower triangular.
396396

397397
- `get_snr()` function in `rq.experiments` now takes `kappa` and `eta` as optional arguments to allow for running on any `Sensor` object. They can still be inferred from a `Sensor` subclass that has them as attributes if unspecified.
398-
- time solver now properly handles complex time dependences in the rotating wave approximation
398+
- time solver now properly handles complex time dependencies in the rotating wave approximation
399399
- Added type hints to code base that can be used to static type check with mypy
400400
- Added functions `rq.calc_kappa` and `rq.calc_eta` to properly calculate kappa and eta constants for experimental parameters.
401401
- Added function `rq.get_OD` that calculates the optical depth of a solution
@@ -408,8 +408,8 @@ Bug Fixes
408408
- Fixed an issue with time dependence in the probe laser
409409
- Modified solver to allow for complex time dependence
410410
- Fixed non-hermitian hamiltonians in time solver
411-
- Fixed error with multiple time-dependences in time solver
412-
- Added functionality to solver error with complex time dependences
411+
- Fixed error with multiple time-dependencies in time solver
412+
- Added functionality to solver error with complex time dependencies
413413
- Modified experimental return functions (`get_transmission_coef()`, `get_phase_shift()`, and `get_susceptibility()``) to allow scanning of probe rabi frequency
414414
- Fixed `get_rho_ij` so that it correctly calculates the `(0,0)` population element
415415
- Fix error in `test_sensor_management` which fails if temporary directory does not exist.
@@ -432,7 +432,7 @@ v0.3.0
432432
Improvements
433433
++++++++++++
434434

435-
- Expanded documention
435+
- Expanded documentation
436436
- Removed restrictions on ARC and numpy versions during installation.
437437
- Vectorized equation of motion generation to support prepending axes to a hamiltonian
438438
- Updated the internal mechanism for sensor handling fields of various type
@@ -458,7 +458,7 @@ Improvements
458458
- Quantum numbers and absolute energies are now stored on the nodes of a Cell couplings graph
459459
- Cell now adds decay rates and decoherences to the nodes and edges of the Cell couplings graph
460460
- Cell now calculates the gamma matrix in an arbitrary way, and is no longer limited to two laser, ladder schemes
461-
- Added function to calculate sensor SNR with repect to any varied sensor coupling parameter
461+
- Added function to calculate sensor SNR with respect to any varied sensor coupling parameter
462462
- Added function to return sensor parameter mesh
463463

464464
Bug Fixes
@@ -475,9 +475,9 @@ Deprecations
475475

476476
- All "field" functionality are being deprecated in favor of "coupling"
477477
- The `rf_couplings`, `target_state`, and `rf_dipole_matrix` arguments of `solve_time()`
478-
- All functions relating to sensor.transtion_map are deprecated
478+
- All functions relating to sensor.transition_map are deprecated
479479
- Cell now does not accept gamma_excited or gamma_Rydberg as these are always calculated or Sensor can be used with a given gamma matrix
480-
- Cell now does not accept gamma_doppler as Doppler broadening width is given by mutiplying the most proable velocity and the laser k-vector
480+
- Cell now does not accept gamma_doppler as Doppler broadening width is given by multiplying the most probable velocity and the laser k-vector
481481

482482
v0.2.0
483483
------

docs/source/dev/docs.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Building the Documentation
22
==========================
33

44
This section describes how to build the documentation locally.
5-
A web-hosted copy of the docs is avialable at `https://rydiqule.readthedocs.io/ <https://rydiqule.readthedocs.io/>`_
5+
A web-hosted copy of the docs is available at `https://rydiqule.readthedocs.io/ <https://rydiqule.readthedocs.io/>`_
66
and should generally be used.
77
These instructions are provided for local testing and development purposes.
88

docs/source/dev/tests.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ For example, this command will only run tests relating to the steady state solvi
3333
pytest -m steady_state
3434
3535
You can also exclude a specific group of tests.
36-
For example, this command will exlcude tests marked as slow.
36+
For example, this command will exclude tests marked as slow.
3737

3838
.. code-block:: shell
3939
@@ -68,7 +68,7 @@ The markers we use are
6868
* - experiments
6969
- Marks a test that represents a full experiment.
7070
* - util
71-
- Marks a test of the ancillary utilties.
71+
- Marks a test of the ancillary utilities.
7272
* - structure
7373
- Marks a test of the definition of the atomic system.
7474
* - exception

docs/source/dev/types.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The easiest way to use this checker locally is via the VS Code Pylance extension
1010
which defaults to the pyright type checker and will automatically run when configuration options are detected in the root `pyproject.toml`.
1111

1212
Note that python is still a dynamic, duck-typed language,
13-
and rydiqule employs some features that are perfectly valid python which are not expressable in the type hinting system.
13+
and rydiqule employs some features that are perfectly valid python which are not expressible in the type hinting system.
1414
In these situations, we err on the side of type hints being primarily documentation,
1515
and do our best to not obfuscate functioning code merely to satisfy the type checker.
1616

docs/source/writeups/doppler.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ meaning all Doppler shifts are due to velocities projected along a single axis.
3838
Choosing which velocity classes to calculate when performing doppler averaging is a fairly complex meshing problem.
3939
Our ultimate goal is to numerically approximate a continuous integral in one to three dimensions using a discrete sum approximation.
4040
For thermal vapors, where the spread of doppler velocities is large,
41-
resulting in Doppler shifts much greater than other detunings, linewidths, or Rabi frequenices in the problem,
41+
resulting in Doppler shifts much greater than other detunings, linewidths, or Rabi frequencies in the problem,
4242
most velocity classes only contribute minor incoherent absorption to the final result.
4343
This allows for much coarser meshes.
4444
The difficulty lies in determining which velocity classes, a-priori, can participate in generally narrow coherent processes.

docs/source/writeups/eom_notes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Equations of Motion
4444
-------------------
4545

4646
The Master equation that governs system dynamics used by Rydiqule is the `Linbladian <https://en.wikipedia.org/wiki/Lindbladian>`_.
47-
It is a semi-classical formulation of the Schoedinger equation for use in open quantum systems.
47+
It is a semi-classical formulation of the Schroedinger equation for use in open quantum systems.
4848

4949
.. math:: \dot{\rho} = -\frac{i}{\hbar}[H,\rho]-\mathcal{L}
5050

docs/source/writeups/nlj.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ which has a similar role and dependencies as :math:`m_j` in a fine structure sta
3232

3333
In a Rydberg atom, the hyperfine structure of the ground states and first few excited states is resolveable
3434
(though often obscured by doppler averaging in a thermal ensemble).
35-
As a result, these states are typicaly defined by :math:`|n,l,j,f,m_f\rangle`.
35+
As a result, these states are typically defined by :math:`|n,l,j,f,m_f\rangle`.
3636
This interaction is much less strong for Rydberg states,
3737
so the appropriate quantum numbers to use are the fine structure
3838
:math:`|n,l,j,m_j\rangle`.
@@ -69,7 +69,7 @@ may be due to stray fields.
6969

7070
Level diagram of 2-photon Rydberg EIT system using the degenerate sublevels approximation.
7171

72-
A subtlty to using this approximation is in defining the dipole moment of a transition.
72+
A subtlety to using this approximation is in defining the dipole moment of a transition.
7373
The dipole moment depends on the magnetic sublevels of either state, which are ignored by the approximation.
7474
When the sublevels are degenerate, any sublevel with population in it will contribute to an average coupling
7575
based on the dipole-allowed transitions.

docs/source/writeups/stacking_conventions.rst

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Stacking Conventions
22
====================
33

4-
For many probelms, Rydiqule is designed to implicitly handle multiple possible values for a
4+
For many problems, Rydiqule is designed to implicitly handle multiple possible values for a
55
single parameter. For example, sweeping over a range of detuning values is handled in Rydiqule
66
simply by specifying the value of interest a list or array rather than a single value. This
77
enables a tremendous amount of flexibility in the problems that Rydiqule can solve naturally,
@@ -17,7 +17,7 @@ with how fast elements are accessed from that list and operating on. `Numpy arra
1717
were created to address this limitation and Rydiqule makes extensive use of them to make
1818
its calculations fast without losing the ease-of-use benefits of a Python interface. Fundamentally,
1919
a numpy ``ndarray`` is a grid of numbers that has dimensionality `m1` by `m2` by `m3` and so on.
20-
Numpy routines are written to operate on these arrays very quickls for large numbers of dimensions.
20+
Numpy routines are written to operate on these arrays very quickly for large numbers of dimensions.
2121

2222
Stacking
2323
--------
@@ -31,7 +31,7 @@ matrices. This is the array that would be generated if a list of 25 values were
3131
detuning value in a 3-level `Sensor`, and that `Sensor`'s `get_hamiltonian` function were called.
3232
Rydiqule seamlessly handles all the work of generating those Hamiltonian matrices for each value, and returns
3333
a single array object as an output. Similarly, if 2 values are specified as lists of length 25,
34-
a single arary of shape ``(25, 25, 3, 3)`` would be returned, with a different :math:`3\times 3`
34+
a single array of shape ``(25, 25, 3, 3)`` would be returned, with a different :math:`3\times 3`
3535
Hamiltonian matrix for every combination of parameter values, for a total of 625 Hamiltonian matrices.
3636
Rydiqule terms this array a "stack" of Hamiltonians, and the "stack shape" are the axes preceding the actual
3737
matrix value axes (in this case ``(25, 25)``), and is typically, denoted in Rydiqule as ``*l`` to
@@ -40,8 +40,8 @@ make clear that it could be any length of set of values depending on the problem
4040
Hamiltonian generations is created using this convention, and that carries through to generation of
4141
equations of motion, and any other quantities that may have a different matrix for each parameter
4242
value. A Hamiltonian stack of shape ``(*l, 3, 3)`` will generate an equation of motion (eom) stack
43-
of shape ``(*l, 8, 8)``, with all stack demensions remaining consistent. Rydiqule's internals
44-
are, broadly, agnostic to exaclty what the dimensions ``*l`` represent, and work regardless, as long as the
43+
of shape ``(*l, 8, 8)``, with all stack dimensions remaining consistent. Rydiqule's internals
44+
are, broadly, agnostic to exactly what the dimensions ``*l`` represent, and work regardless, as long as the
4545
dimensions corresponding to the actual quantities are in the expected position at the end.
4646

4747
Parameter Ordering
@@ -50,19 +50,19 @@ Parameter Ordering
5050
Given that any number of parameters may be defined as a list, Rydiqule needs a convention to ensure, in the final
5151
result, the values represent what is expected and has not been turned around. It is important to Rydiqule's
5252
design philosophy that internal variables not by tracked opaquely, and that quantities are, to the extent
53-
possible, generated on the fly in a predictable and reprodicuble way. This begs the questions, which
53+
possible, generated on the fly in a predictable and reproducible way. This begs the questions, which
5454
axis corresponds to which value? Suppose the coupling between states 0 and 1 is swept in detuning over 25
5555
values, as is the coupling between states 1 and 2, the stack shape will be ``(25, 25)``, but there
5656
are some uncertainties. One might assume that the first axis corresponds the the first laser, and the second
5757
axis corresponds to the second laser. However, this is not necessarily obvious, and it might be the other
5858
way around without a unifying convention. Rydiqule's solution to this problem turns out to be simple: python's
59-
``.sort()`` function. Since it always orders things accordning to the same rules, there is a predictable outcome
59+
``.sort()`` function. Since it always orders things according to the same rules, there is a predictable outcome
6060
to which axis is which. The parameters are represent by tuples: ``((0,1),"detuning")`` and ``((1,2),"detuning")``.
6161
``.sort()`` will sort them first by the lower state of a transition, then by the upper state, then alphabetically by
6262
the string parameter name (in this case detuning for both).
6363

64-
With this simple convention, Rydiqule makes these arrays consistent accross functions. One can be sure that all
65-
values will be exaclty what is expected and line up properly for all quantities. Hamiltonians, equations of motion,
64+
With this simple convention, Rydiqule makes these arrays consistent across functions. One can be sure that all
65+
values will be exactly what is expected and line up properly for all quantities. Hamiltonians, equations of motion,
6666
and solutions will all use the same rules. To avoid figuring this out manually for every system, the ``Sensor`` module
6767
contains the ``.axis_labels()`` method, which returns a list of which axes are which in string form for
6868
results interpretation. Note that the internal functions which calculate these values don't actually care
@@ -75,7 +75,7 @@ It is worth a quick note how Rydiqule handles doppler broadening, because it lev
7575
around stacking as other parameter scans, and it may be encountered and cause confusion if you use Rydiqule
7676
enough. If doppler is accounted for in a solve, that typically is not invoked until the relevant ``solve``
7777
function is called. Given a case of ``n_doppler`` velocity classes in 1 dimension, a new axis will be prepended
78-
to the stack, resuling in a ``n_doppler`` new dopple-shifted Hamiltonian matrices matrix that was previously
78+
to the stack, resulting in a ``n_doppler`` new doppler-shifted Hamiltonian matrices matrix that was previously
7979
in the stack. Typically, this is done under the hood, and these other solutions are averaged over before
8080
a result is returned, but examining intermediate values may ultimately result in seeing these axes, even
8181
if they are not present in the solution that is returned. Importantly, the solver internals are still agnostic

docs/source/writeups/sublevels.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Fine and Hyperfine Structure with Sublevels
22
===========================================
33

4-
In many situtations, accurate modeling requires solving for the entire atomic structure (i.e. explicit handling of the magnetic sublevels).
4+
In many situations, accurate modeling requires solving for the entire atomic structure (i.e. explicit handling of the magnetic sublevels).
55
These situations include calculating changes in probing polarization and ellipticity angles,
66
non-degenerate states due to ambient magnetic fields,
77
or inhomogeneous coupling strengths due to sublevel structure.
@@ -267,7 +267,7 @@ The Clebsch-Gordon coefficients are related to the spherical matrix element by
267267

268268
For example, :math:`\langle J=1/2, m_J=\pm1/2|d|J'=3/2, m_J'=\pm3/2\rangle` has `coherent_cc=1`.
269269

270-
Note, however, that :math:`\langle J=1/2, m_J=\pm1/2|d|J'=1/2, m_J'=\mp1/2\rangle` has `coherenct_cc=4/3`.
270+
Note, however, that :math:`\langle J=1/2, m_J=\pm1/2|d|J'=1/2, m_J'=\mp1/2\rangle` has `coherent_cc=4/3`.
271271

272272

273273
HFS to HFS

0 commit comments

Comments
 (0)