-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ENH: Implement faster Hermite functions in Cython (#5)
* tmp: - started serial implementation of Hermite functions in Cython * BLD: - updated `requirements` - updated `pyproject.toml` to handle Cython build * ENH: - switched NumPy and Numba Hermite basis function to faster implementation that avoids the expensive use of the logsumexp trick and rather uses a factor compensated recursion - added function to compute a single Hermite function * ENH: - added Cythonized parallel implementation of the Hermite functions - added a `setup.py` to specify the Cython build - adapted the interface and "deprecated" the NumPy- and Numba-based implementations of the Hermite functions * TST: - rewrote generation of the symbolic reference data for the Hermite function tests to keep it more flexible - created new test files for the Hermite functions * TST: - improved tests of NumPy- and Numba-based Hermite functions with new reference test files - added test for single Hermite function computation - made numerical tolerances of Hermite function tests way stricter - extended orthonormality test from order 500 to 1_000 * DOC: - updated examples to use Cython implementation of the Hermite functions - transitioned performance testing of Hermite functions to Jupyter notebook and created a nice plot from there - updated all example plots - updated equations to make them more unified * DOC: - updated `README` with two new equations and removed the logsumexp trick link because it's no longer how the algorithm works * TST: - integrated single and multi-threaded Cython Hermite-functions into tests * TST: - added exception handling test for all Hermite function implementations * DOC: - updated number of significant digits in test description * DOC: - added reference to the publication the package is based on (right now) * DOC: - made DOI to reference in `README` a link ? * DOC: - fixed broken link to DOI of reference in `README` ?
- Loading branch information
Showing
49 changed files
with
2,289 additions
and
1,066 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -129,7 +129,4 @@ dmypy.json | |
.pyre/ | ||
|
||
# VScode | ||
.vscode/ | ||
|
||
# Notebooks | ||
*.ipynb | ||
.vscode/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file modified
BIN
+639 Bytes
(100%)
docs/hermite_functions/DilatedHermiteFunctions_DifferentScales.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-1.25 KB
(100%)
docs/hermite_functions/DilatedHermiteFunctions_Stability.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-506 Bytes
(95%)
docs/hermite_functions/equations/DilatedHermiteFunctions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+7.54 KB
docs/hermite_functions/equations/HermiteFunctions_RecurrenceRelation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+5.2 KB
docs/hermite_functions/equations/HermiteFunctions_UndilatedToDilated.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
numpy>=1.21.0,<2.0.0 | ||
psutil>=5.8.0 | ||
scipy>=1.7.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,7 @@ | ||
black | ||
coverage | ||
cython>=3.0.10 | ||
cython-lint>=0.16.0 | ||
esbonio | ||
ipympl | ||
jupyter | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
_c_hermite.c | ||
_c_hermite.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.