% IMPORTANT: The following is UTF-8 encoded. This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.
@MISC{Hoppe:1049786,
author = {Hoppe, Fabian and Gutiérrez Hermosillo Muriedas, Juan
Pedro and Palazoglu, Berkant and Fischer, Carola and Akdag,
Hakan and Comito, Claudia and Hees, Jörn and Jindra, Marc
and Korten, Till and Krajsek, Kai and Lemmen, Jonas and
Scheib, Lukas and Tarnawa, Michael and Coquelin, Daniel and
Debus, Charlotte and Hagemeier, Björn and Knechtges,
Philipp and Rüttgers, Alexander and Götz, Markus},
title = {{H}eat (v1.6.0); 1.6.0},
reportid = {FZJ-2025-05570},
year = {2025},
abstract = {Heat 1.6.0 Release Notes<br><br><b>Overview</b><br>With
Heat 1.6.0 we release the next major set of features,
including continued developments within the ESAPCA project
funded by the European Space Agency (ESA).<br>The main focus
of this release is a significant expansion of our
<b>distributed linear algebra</b> capabilities, including
full SVD, symmetric eigenvalue decomposition, and polar
decomposition, all leveraging the efficient "Zolotarev
approach". We also introduce Dynamic Mode Decomposition (DMD
and DMDc) for the analysis of complex systems.<br>On the
performance side, the <b>MPI communication layer</b> has
been enhanced to support buffer sizes exceeding the previous
$2^{31}-1$ element limit, enabling data transfers at an
unprecedented scale.<br>This release also introduces support
for the <b>Zarr data format</b> for I/O operations and
experimental hardware <b>acceleration on Apple Silicon</b>
via Metal Performance Shaders (MPS). Finally, the project's
build system has been modernized to use pyproject.toml,
improving its maintainability and alignment with current
Python packaging standards.<br>With this release, Heat
<b>drops support for Python 3.9</b>, now requiring Python
3.10 or newer, and extends compatibility to include PyTorch
versions up to 2.7.x.<br>We are grateful to our community of
users, students, open-source contributors, the European
Space Agency, and the Helmholtz Association for their
support and
feedback.<br><br><b>Highlights</b><ul><li>[ESAPCA] Symmetric
Eigenvalue Decomposition (ht.linalg.eigh) and full SVD
(ht.linalg.svd) via Zolotarev Polar Decomposition (by
@mrfh92)</li><li>[ESAPCA] Dynamic Mode Decomposition with
and without control: ht.decomposition.DMD,
ht.decomposition.DMDc (by @mrfh92)</li><li>Support for
communicating MPI buffers larger than 2³¹-1 elements (by
@JuanPedroGHM)</li><li>I/O support for the Zarr data format:
ht.load_zarr, ht.save_zarr (by @Berkant03)</li><li>Expanded
QR decomposition for non tall-skinny matrices (by
@mrfh92)</li><li>Support for Apple MPS hardware acceleration
(by @ClaudiaComito)</li><li>Strided 1D convolution (by
@lolacaro)</li></ul><br><b>Linear Algebra \&
Decomposition</b><br>#1538 New decomposition module and PCA
interface (by @mrfh92) #1561 Distributed randomized SVD (by
@mrfh92) #1629 Incremental SVD/PCA (by @mrfh92) #1639
Dynamic Mode Decomposition (DMD) (by @mrfh92) #1744 QR
decomposition for non tall-skinny matrices and split=0 (by
@mrfh92) #1697 Polar decomposition (by @mrfh92) #1794
Dynamic Mode Decomposition with Control (DMDc) (by @mrfh92)
#1824 Symmetric Eigenvalue Decomposition (ht.linalg.eigh)
and full SVD (ht.linalg.svd) based on Zolotarev Polar
Decomposition (by @mrfh92)<br><br><b>Signal
Processing</b><br>#1865 Add stride argument for
ht.signal.convolve (by @lolacaro)<br><br><b>I/O</b><br>#1753
Added slice argument for ht.load_hdf5 (by @JuanPedroGHM)
#1766 Support for the zarr data format (by
@Berkant03)<br><br><b>Core \& MPI</b><br>#1765 Large data
counts support for MPI Communication (by
@JuanPedroGHM)<br><br><b>Other New Features</b><br>#1129
Support Apple MPS acceleration (by @ClaudiaComito) #1773
ht.eq, ht.ne now allow non-array operands (by @Marc-Jindra)
#1888 Expand NumPy functions to DNDarrays (by @mtar) #1895
Extends torch functions to DNDarrays (by @mtar)
<br><br><b>Bug Fixes</b><br>#1646 Raise Error for batched
vector inputs on ht.linalg.matmul (by @FOsterfeld) #993
Fixed precision loss in several functions when dtype is
float64 (by @neosunhan) #1756 Fix printing of
non-distributed data (by @ClaudiaComito) #1831 Remove
unnecessary contiguous() calls (by @Marc-Jindra) #1893
Bug-fixes during ESAPCA benchmarking (by @mrfh92) #1880 Exit
installation if conda environment cannot be activated (by
@thawn) #1905 Resolve bug in rSVD / wrong citation in
polar.py (by @mrfh92) #1921 Fix IO test failures with Zarr
v3.0.9 in ht.save_zarr() (by
@LScheib)<br><br><b>Interoperability \& Build
System</b><br>#1826 Make unit tests compatible with NumPy
2.x (by @Marc-Jindra) #1832 Transition to pyproject.toml,
Ruff, and mypy (by
@JuanPedroGHM)<br><br><b>Contributors</b><br>@Berkant03,
@ClaudiaComito, @FOsterfeld, @joernhees, @jolemse,
@JuanPedroGHM, @lolacaro, @LScheib, @Marc-Jindra, @mrfh92,
@mtar, @neosunhan, and @thawn.<br><br><b>Acknowledgements
and Disclaimer</b><br>The SVD, PCA, and DMD functionalities
were funded by the European Space Agency (ESA) under the
ESAPCA programme. This work is partially carried out under a
programme of, and funded by, the European Space Agency. Any
view expressed in this repository or related publications
can in no way be taken to reflect the official opinion of
the European Space Agency.},
cin = {JSC},
cid = {I:(DE-Juel1)JSC-20090406},
pnm = {5112 - Cross-Domain Algorithms, Tools, Methods Labs (ATMLs)
and Research Groups (POF4-511) / 5111 - Domain-Specific
Simulation $\&$ Data Life Cycle Labs (SDLs) and Research
Groups (POF4-511)},
pid = {G:(DE-HGF)POF4-5112 / G:(DE-HGF)POF4-5111},
typ = {PUB:(DE-HGF)33},
doi = {10.5281/ZENODO.17046332},
url = {https://juser.fz-juelich.de/record/1049786},
}