001049786 001__ 1049786
001049786 005__ 20260107202517.0
001049786 0247_ $$2doi$$a10.5281/ZENODO.17046332
001049786 037__ $$aFZJ-2025-05570
001049786 1001_ $$0P:(DE-HGF)0$$aHoppe, Fabian$$b0
001049786 245__ $$aHeat (v1.6.0)
001049786 250__ $$a1.6.0
001049786 260__ $$c2025
001049786 3367_ $$2DCMI$$aSoftware
001049786 3367_ $$0PUB:(DE-HGF)33$$2PUB:(DE-HGF)$$aSoftware$$bsware$$msware$$s1767811183_17004
001049786 3367_ $$2BibTeX$$aMISC
001049786 3367_ $$06$$2EndNote$$aComputer Program
001049786 3367_ $$2ORCID$$aOTHER
001049786 3367_ $$2DataCite$$aSoftware
001049786 520__ $$aHeat 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.
001049786 536__ $$0G:(DE-HGF)POF4-5112$$a5112 - Cross-Domain Algorithms, Tools, Methods Labs (ATMLs) and Research Groups (POF4-511)$$cPOF4-511$$fPOF IV$$x0
001049786 536__ $$0G:(DE-HGF)POF4-5111$$a5111 - Domain-Specific Simulation & Data Life Cycle Labs (SDLs) and Research Groups (POF4-511)$$cPOF4-511$$fPOF IV$$x1
001049786 588__ $$aDataset connected to DataCite
001049786 7001_ $$0P:(DE-HGF)0$$aGutiérrez Hermosillo Muriedas, Juan Pedro$$b1
001049786 7001_ $$0P:(DE-Juel1)190257$$aPalazoglu, Berkant$$b2
001049786 7001_ $$0P:(DE-HGF)0$$aFischer, Carola$$b3
001049786 7001_ $$0P:(DE-HGF)0$$aAkdag, Hakan$$b4
001049786 7001_ $$0P:(DE-Juel1)174573$$aComito, Claudia$$b5$$eCorresponding author
001049786 7001_ $$0P:(DE-HGF)0$$aHees, Jörn$$b6
001049786 7001_ $$0P:(DE-Juel1)206769$$aJindra, Marc$$b7
001049786 7001_ $$0P:(DE-HGF)0$$aKorten, Till$$b8
001049786 7001_ $$0P:(DE-Juel1)129347$$aKrajsek, Kai$$b9
001049786 7001_ $$0P:(DE-Juel1)200014$$aLemmen, Jonas$$b10
001049786 7001_ $$0P:(DE-HGF)0$$aScheib, Lukas$$b11
001049786 7001_ $$0P:(DE-Juel1)178977$$aTarnawa, Michael$$b12
001049786 7001_ $$0P:(DE-Juel1)177671$$aCoquelin, Daniel$$b13
001049786 7001_ $$0P:(DE-HGF)0$$aDebus, Charlotte$$b14
001049786 7001_ $$0P:(DE-Juel1)132123$$aHagemeier, Björn$$b15
001049786 7001_ $$0P:(DE-HGF)0$$aKnechtges, Philipp$$b16
001049786 7001_ $$0P:(DE-HGF)0$$aRüttgers, Alexander$$b17
001049786 7001_ $$0P:(DE-Juel1)162390$$aGötz, Markus$$b18
001049786 773__ $$a10.5281/ZENODO.17046332
001049786 909CO $$ooai:juser.fz-juelich.de:1049786$$pVDB
001049786 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)190257$$aForschungszentrum Jülich$$b2$$kFZJ
001049786 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)174573$$aForschungszentrum Jülich$$b5$$kFZJ
001049786 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)206769$$aForschungszentrum Jülich$$b7$$kFZJ
001049786 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)129347$$aForschungszentrum Jülich$$b9$$kFZJ
001049786 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)178977$$aForschungszentrum Jülich$$b12$$kFZJ
001049786 9101_ $$0I:(DE-588b)5008462-8$$6P:(DE-Juel1)132123$$aForschungszentrum Jülich$$b15$$kFZJ
001049786 9131_ $$0G:(DE-HGF)POF4-511$$1G:(DE-HGF)POF4-510$$2G:(DE-HGF)POF4-500$$3G:(DE-HGF)POF4$$4G:(DE-HGF)POF$$9G:(DE-HGF)POF4-5112$$aDE-HGF$$bKey Technologies$$lEngineering Digital Futures – Supercomputing, Data Management and Information Security for Knowledge and Action$$vEnabling Computational- & Data-Intensive Science and Engineering$$x0
001049786 9131_ $$0G:(DE-HGF)POF4-511$$1G:(DE-HGF)POF4-510$$2G:(DE-HGF)POF4-500$$3G:(DE-HGF)POF4$$4G:(DE-HGF)POF$$9G:(DE-HGF)POF4-5111$$aDE-HGF$$bKey Technologies$$lEngineering Digital Futures – Supercomputing, Data Management and Information Security for Knowledge and Action$$vEnabling Computational- & Data-Intensive Science and Engineering$$x1
001049786 9201_ $$0I:(DE-Juel1)JSC-20090406$$kJSC$$lJülich Supercomputing Center$$x0
001049786 980__ $$asware
001049786 980__ $$aVDB
001049786 980__ $$aI:(DE-Juel1)JSC-20090406
001049786 980__ $$aUNRESTRICTED