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.

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
nodes, weights, Q = genQCoeffs(
"Collocation", nNodes=4, nodeType="LEGENDRE", quadType="RADAU-RIGHT")
QDelta = genQDeltaCoeffs("IE", nodes=nodes)
c, b, A = genQCoeffs("ERK4")
🔔 If you are not familiar with SDC or related methods, and want to learn more about it, checkout the
latest documentation build and
in particular the step by step tutorials
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.
Links