Generation of Q-coefficients for Spectral Deferred Corrections (and other time-integration methods ...)
Project description
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
# 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")
🔔 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 notebook 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.
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file qmat-0.1.19.tar.gz.
File metadata
- Download URL: qmat-0.1.19.tar.gz
- Upload date:
- Size: 650.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14909a92c219cd7f575bd8a1918acd5925e67f6c4afb8254de1801c0cd694ff3
|
|
| MD5 |
f4c74d875f9531351c341bd8584d566e
|
|
| BLAKE2b-256 |
77846f3fce2ae29d5a6064cf83c3c5a7f0351908adcf3610c73500248ffe6096
|
Provenance
The following attestation bundles were made for qmat-0.1.19.tar.gz:
Publisher:
publish.yml on Parallel-in-Time/qmat
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qmat-0.1.19.tar.gz -
Subject digest:
14909a92c219cd7f575bd8a1918acd5925e67f6c4afb8254de1801c0cd694ff3 - Sigstore transparency entry: 412897277
- Sigstore integration time:
-
Permalink:
Parallel-in-Time/qmat@672d62139e4c5f103be2288cf1d43432765aeda8 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Parallel-in-Time
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@672d62139e4c5f103be2288cf1d43432765aeda8 -
Trigger Event:
workflow_dispatch
-
Statement type: