QMat Package
qmat is a python package to generate matrix coefficients related to Collocation methods,
Spectral Deferred Corrections (SDC), and more generally for Runge-Kutta methods.
It allows to generate $Q$-coefficients for multi-stages methods (equivalent to Butcher tables) :
$$ Q\text{-coefficients : } \begin{array}{c|c} \tau & Q \ \hline & w^\top \end{array} \quad \Leftrightarrow \quad \begin{array}{c|c} c & A \ \hline & b^\top \end{array} \quad\text{(Butcher table)} $$
and many different lower-triangular approximations of the $Q$ matrix, named $Q_\Delta$, which are key elements for Spectral Deferred Correction (SDC), or more general Iterated Runge-Kutta Methods. It also contains generic time-integration solvers based on $Q$ and $Q_\Delta$ coefficients, that can be used for quick testing and experiments.
Installation
pip install qmat
🔍 See more detailed instructions for conda environment, development, ...
Basic usage
📜 If you are already familiar with those concepts, you can use this package like this :
from qmat import genQCoeffs, genQDeltaCoeffs
# Coefficients or specific collocation method
nodes, weights, Q = genQCoeffs(
"Collocation", nNodes=4, nodeType="LEGENDRE", quadType="RADAU-RIGHT")
# QDelta matrix from Implicit-Euler based SDC
QDelta = genQDeltaCoeffs("IE", nodes=nodes)
# Butcher table of the classical explicit RK4 method
c, b, A = genQCoeffs("ERK4")
More details are provided in the notebook tutorials.
🔔 If you are not familiar with SDC or related methods, and want to learn more about it, checkout the QMint Playground.
For any contribution, please checkout out (very cool) Contribution Guidelines and the current Development Roadmap.
Projects relying on qmat
- pySDC : Python implementation of the spectral deferred correction (SDC) approach and its flavors, esp. the multilevel extension MLSDC and PFASST.
- SWEET : Shallow Water Equation Environment for Tests, Awesome! (C++).
Links
- Documentation : https://qmat.readthedocs.io/
- Issues Tracker : https://github.com/Parallel-in-Time/qmat/issues
- Q&A : https://github.com/Parallel-in-Time/qmat/discussions/categories/q-a
- Project Proposals : https://github.com/Parallel-in-Time/qmat/discussions/categories/project-proposals
Developers
How to cite
@software{lunet_2025_16911004,
author = {Lunet, Thibaut and Baumann, Thomas and Speck, Robert},
title = {Parallel-in-Time/qmat},
month = aug,
year = 2025,
publisher = {Zenodo},
version = {v0.1.19},
doi = {10.5281/zenodo.16911004},
url = {https://doi.org/10.5281/zenodo.16911004},
}
Metadata
Release files for qmat 0.1.21
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qmat-0.1.21.tar.gz | 245.2 kB | Details |
Release files / qmat-0.1.21.tar.gz
| Download URL | qmat-0.1.21.tar.gz |
|---|---|
| Size | 245.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d0d545584c18e530760aa4a5ab9ffac4795f8bda09eb96dcfa5f6b5b8d8f1ed1
|
|
BLAKE2b-256 checksum How to use checksums |
4668c38e9a84088ce744f50905df7a7bb40f08c533e97c7c47b66f33a7e489ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.
Transparency log