Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions docs/apidoc/apidoc.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
.. _apidoc:

*****************
API documentation
API Documentation
*****************

This chapter contains automatically generated API documentation, including a
list of TensorHEOM's public classes and functions.
This chapter contains automatically generated API documentation for all public
classes and functions in TensorHEOM.

The API is organised into two files:

- **Classes & Module Functions** (:doc:`classes`) — the internal building blocks:
bath decomposition, pulse types, tensor-train classes, circuit compilation,
dynamics, and HPC utilities.
- **Top-level Functions** (:doc:`functions`) — the functions you use most often,
importable directly via ``from ttheom import ...``.

.. toctree::
:maxdepth: 3

classes.rst
functions.rst
functions
classes
45 changes: 19 additions & 26 deletions docs/apidoc/classes.rst
Original file line number Diff line number Diff line change
@@ -1,30 +1,23 @@
Classes & Functions
===================
Classes & Module Functions
==========================

This section provides an overview of the available classes and functions contained in the `TensorHEOM` package.
This section documents TensorHEOM's internal classes and module-level
functions, grouped by subsystem.

Decomposition of bath auto-correlation functions
------------------------------------------------

.. currentmodule:: ttheom.bath

.. autofunction:: getBathParams
.. autofunction:: broadbandNoise

Connection of quantum gates and pulse sequences
-----------------------------------------------
Pulse types and gate specifications
-------------------------------------

.. currentmodule:: ttheom.pulse

.. autofunction:: setGates
.. autofunction:: getGate
.. autoclass:: directCplStepVarJ
.. autoclass:: iSwapDPulse
.. autoclass:: rxyStep
.. autoclass:: U3Pulse
.. autoclass:: iSwapDPulse
.. autoclass:: directCplStepVarJ

Tensor Train representation
---------------------------
Tensor-train representation
----------------------------

.. currentmodule:: ttheom.tt

Expand All @@ -34,8 +27,8 @@ Tensor Train representation
.. autoclass:: TTs2QId
.. autoclass:: TTsMQChainId

Compilation of Qiskit circuits to pulse sequences
-------------------------------------------------
Circuit compilation
-------------------

.. currentmodule:: ttheom.circuit

Expand All @@ -54,15 +47,15 @@ Time evolution
.. autofunction:: outputCurrentStates
.. autofunction:: getRotatingRDO

Running Simulations on HPC
--------------------------
HPC cluster support
--------------------

.. currentmodule:: ttheom.ssh

.. autofunction:: slurmShell
.. autofunction:: slurmStatus
.. autofunction:: submitJob
.. autofunction:: downloadResult
.. autofunction:: getClient
.. autofunction:: commandsForSubmission
.. autofunction:: getStatus
.. autofunction:: getClient
.. autofunction:: submitJob
.. autofunction:: downloadResult
.. autofunction:: slurmShell
.. autofunction:: slurmStatus
43 changes: 40 additions & 3 deletions docs/apidoc/functions.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,41 @@
Main Function
=============
Top-level Functions
===================

.. autofunction:: ttheom.main.main
This section documents the public functions available at the top level of the
``ttheom`` namespace (i.e., importable directly via ``from ttheom import ...``).

High-level simulation interface
--------------------------------

.. currentmodule:: ttheom.main

.. autofunction:: calcTimeEvo
.. autofunction:: main

Physical-unit helpers
----------------------

.. currentmodule:: ttheom.main

.. autofunction:: prepareSystemArgs
.. autofunction:: prepareBathArgs
.. autofunction:: prepareGateArgs

Bath decomposition
------------------

.. currentmodule:: ttheom.bath

.. autofunction:: getBathParams
.. autofunction:: broadbandNoise

Evaluation and analysis
-----------------------

.. currentmodule:: ttheom.evaluation

.. autofunction:: loadResult
.. autofunction:: getFidelity
.. autofunction:: getConcurrence
.. autofunction:: getLogarithmicNegativity
.. autofunction:: plotPulseSeq
24 changes: 17 additions & 7 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,25 @@

# Options for HTML output
html_theme = "sphinx_rtd_theme"
html_static_path = []
html_static_path = ["_static"]
html_logo = "figures/logo.png"
html_theme_options = {
"logo_only": False,
"prev_next_buttons_location": "bottom",
"collapse_navigation": False,
"sticky_navigation": True,
"navigation_depth": 3,
}

exclude_patterns = [
"_build",
"Thumbs.db",
".DS_Store",
]
html_context = {
"display_github": True,
"github_user": "dehe1011",
"github_repo": "TensorHEOM",
"github_version": "main",
"conf_py_path": "/docs/",
}

# Syntax highlighing for code blocks in the documentation
# Syntax highlighting for code blocks in the documentation
pygments_style = "sphinx"

# Do not add parentheses to function names in cross-references like :func:
Expand Down
10 changes: 5 additions & 5 deletions docs/copyright.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Copyright and Licensing
***********************

The text of this documentation is licensed under the `Creative Commons Attribution 3.0 Unported License <https://creativecommons.org/licenses/by/3.0/>`_.
Unless specifically indicated otherwise, all code samples, the source code of qDNA, and its reproductions in this documentation, are licensed under the terms of the 3-clause BSD license, reproduced below.
Unless specifically indicated otherwise, all code samples, the source code of TensorHEOM, and its reproductions in this documentation, are licensed under the terms of the 3-clause BSD license, reproduced below.

License Terms for Documentation Text
====================================
=====================================

The canonical form of this license is available at `https://creativecommons.org/licenses/by/3.0/ <https://creativecommons.org/licenses/by/3.0/>`_, which should be considered the binding version of this license.
It is reproduced here for convenience.
Expand All @@ -19,9 +19,9 @@ It is reproduced here for convenience.
.. include:: LICENSE_cc-by-3.0.txt


License Terms for Source Code of QuantumDNA and Code Samples
============================================================
License Terms for Source Code of TensorHEOM and Code Samples
=============================================================

..
BSD-3-Clause/ MIT license
BSD-3-Clause license
.. include:: ../LICENSE.txt
59 changes: 46 additions & 13 deletions docs/gui/gui.rst
Original file line number Diff line number Diff line change
@@ -1,30 +1,63 @@
.. _guidoc:

*****************
GUI documentation
*****************
*******************************
Graphical User Interface (GUI)
*******************************

This chapter contains documentation for the graphical user interface (GUI) which is designed to provide an user-friendly way to interact with the `TensorHEOM` package.
TensorHEOM provides an optional graphical user interface built with
`CustomTkinter <https://github.com/TomSchimansky/CustomTkinter>`_.
The GUI is designed for users who prefer an interactive, form-based workflow
without writing code.

Launching the GUI
=================

.. code-block:: python

from ttheom import TensorHeomApp

TensorHeomApp().mainloop()

Or from the command line after installing the package:

.. code-block:: bash

python -c "from ttheom import TensorHeomApp; TensorHeomApp().mainloop()"

Main window
===========

The main window provides input fields for all simulation parameters:
qubit frequencies, initial state, bath parameters, numerical settings, and the
output file name.

.. figure:: ../figures/GUI1.png
:align: center
:width: 3in
:width: 5in

*Figure 1: Main window of the GUI.*
Main window showing system, bath, and simulation parameter fields.

---
Quantum circuit editor
======================

The circuit editor window integrates with Qiskit to let you build and visualise
quantum circuits graphically. Gates can be added via drop-down menus and the
resulting Qiskit circuit is passed directly to the simulation engine.

.. figure:: ../figures/GUI2.png
:align: center
:width: 3in
:width: 5in

Quantum circuit editor with Qiskit circuit visualization.

*Figure 2: Quantum circuit editor window with qiskit integration.*
Results viewer
==============

---
Once a simulation completes, the results viewer displays the time-evolved
reduced density matrix elements and derived quantities such as concurrence.

.. figure:: ../figures/GUI3.png
:align: center
:width: 3in

*Figure 3: Visualization of results (here: concurrence).*
:width: 5in

Results viewer showing the concurrence as a function of time.
Loading
Loading