Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use numba implementation of multidimensional Hermite polynomials #295

Merged
merged 30 commits into from
Nov 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
aca149d
refactor [hermite_multidimensional] - use numba implementation instea…
sduquemesa Nov 4, 2021
582b336
refactor [hermite_multidimensional] - remove libwalrus dependency
sduquemesa Nov 4, 2021
e3c8d67
remove unused imports
sduquemesa Nov 4, 2021
cf9b447
fix [hermite_multidimensiona] - make_tensor
sduquemesa Nov 4, 2021
bbe827e
refactor [test_hermite_multidimensional] - use numba impl
sduquemesa Nov 4, 2021
a23b398
fix [hermite_multidimensional] - missing param on un-modified case
sduquemesa Nov 4, 2021
09f6b36
remove [test_hermite_multidimensional] - numba vs c++ check
sduquemesa Nov 4, 2021
57f4af7
refactor [test_hermite_multidimensional] - test_auto_dtype: use hermi…
sduquemesa Nov 4, 2021
76d736a
refactor [tests/test_grad_...] - remove reference to `hermite_multidi…
sduquemesa Nov 4, 2021
0d1c90a
refactor [thewalrus] - remove references to `_hermite_multidimensiona…
sduquemesa Nov 4, 2021
0bdf662
impl+test [_hermite_multidimension] - interferometer
sduquemesa Nov 5, 2021
a02cd1a
refactor [quantum/fock_tensor] - use numba impl of interferometer
sduquemesa Nov 5, 2021
2172393
refactor [hermite_multidimensional] - rename grad(...)_numba to grad(…
sduquemesa Nov 5, 2021
d87134e
refactor [test_hermite_...] - parametrize interferometer_vs_hermite
sduquemesa Nov 5, 2021
3875f70
impl [hermite_multd...] - grad_hermite for normalized and regular polys
sduquemesa Nov 5, 2021
ba7795f
fix [tw/__init__] - rename variable
sduquemesa Nov 5, 2021
134aacf
test [_hermite_multidimension] - interferometer: renorm True and False
sduquemesa Nov 9, 2021
fe5e6d9
refactor [_hermite_multidimension] - rename `array to `G` to match eq…
sduquemesa Nov 9, 2021
5d45c81
test [hermite_mult] - interferometer: add test case for array input
sduquemesa Nov 9, 2021
339fb8a
fix [test_hermite_...] - test_grad_..._vs_finite_differences: add mis…
sduquemesa Nov 9, 2021
e689a86
fix [test_hermite_...] - interferometer_vs_hermite: fix parametrization
sduquemesa Nov 9, 2021
e4c55b3
doc [_hermite_multi] - hermite_multidimensional: improve docstring us…
sduquemesa Nov 9, 2021
1c61820
test [hermite_mult] - interferometer: fix test parametrization for fu…
sduquemesa Nov 9, 2021
0ce437f
fix [docs] - hyperlinks
sduquemesa Nov 9, 2021
3f16655
delete [hermite_mult...hpp] - plus related references and tests
sduquemesa Nov 11, 2021
aecdd2f
removes imports in libwalrus.pyx
Nov 11, 2021
5120e20
Removes unused classes
Nov 12, 2021
3882112
Update thewalrus/libwalrus.pyx
nquesada Nov 12, 2021
a0b98e9
update [github] - acknowledgments and changelog
sduquemesa Nov 12, 2021
1e8f65c
Merge branch 'numba-hermite-multidimensional' of https://github.com/X…
sduquemesa Nov 12, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/ACKNOWLEDGMENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,15 @@
* [Theodor Isacsson](https://github.com/thisac) (Xanadu) - :postal_horn: Jarl of contractions

* [Rachel Chadwick](https://github.com/rachelchadwick) (University of Bristol) - :princess: Queen of complex conjugates

* [Stefano Paesani](https://scholar.google.com/citations?user=u41vIV0AAAAJ&hl=it) (University of Bristol) - :crossed_swords: Emperor of phase space

* [Jake Bulmer](https://scholar.google.com/citations?hl=it&user=gwklyzwAAAAJ) (University of Bristol) - :shield: Commander of clicks
* [Jake Bulmer](https://scholar.google.com/citations?hl=it&user=gwklyzwAAAAJ) (University of Bristol) - :shield: Commander of clicks

* [Timjan Kalajdzievski](https://github.com/timjank) (Xanadu) - :beverage_box: Beard Czar

* [Yuan Yao](https://github.com/sylviemonet) (Télécom Paris) - :dog: Schrödinger's Dog's owner

* [Ali Asadi](https://github.com/maliasadi) (Western University) - :thread: Commander of threads
* [Ali Asadi](https://github.com/maliasadi) (Western University) - :thread: Commander of threads

* [Sebastián Duque](https://github.com/sduquemesa) (Xanadu) - 🎧 Quantum sound explorer
2 changes: 2 additions & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
### Improvements
* Python installation no longer requires [`repoze.lru`](https://pypi.org/project/repoze.lru/). [#293](https://github.com/XanaduAI/thewalrus/pull/293)

* Multidimensional Hermite polynomials are now implemented in numba, hence reducing the C++ dependencies of The Walrus. [#295](https://github.com/XanaduAI/thewalrus/pull/295)

### Bug fixes

### Breaking changes
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ class TypeMock(type):
# TIP: if using the sphinx-bootstrap-theme, you need
# "treeViewIsBootstrap": True,
"exhaleExecutesDoxygen": True,
"exhaleDoxygenStdin": "INPUT = ../include/stdafx.h ../include/libwalrus.hpp ../include/version.hpp ../include/trace_hafnian.hpp ../include/recursive_hafnian.hpp ../include/repeated_hafnian.hpp ../include/permanent.hpp ../include/hermite_multidimensional.hpp ../include/powtrace.hpp",
"exhaleDoxygenStdin": "INPUT = ../include/stdafx.h ../include/libwalrus.hpp ../include/version.hpp ../include/trace_hafnian.hpp ../include/recursive_hafnian.hpp ../include/repeated_hafnian.hpp ../include/permanent.hpp ../include/powtrace.hpp",
# "exhaleUseDoxyfile": True
}

Expand Down
271 changes: 0 additions & 271 deletions include/hermite_multidimensional.hpp

This file was deleted.

1 change: 0 additions & 1 deletion include/libwalrus.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
#include <recursive_hafnian.hpp>
#include <repeated_hafnian.hpp>
#include <permanent.hpp>
#include <hermite_multidimensional.hpp>

/**
* @namespace libwalrus
Expand Down
5 changes: 1 addition & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ def build_extensions():
"./include/recursive_hafnian.hpp",
"./include/repeated_hafnian.hpp",
"./include/permanent.hpp",
"./include/hermite_multidimensional.hpp",
"./include/stdafx.h",
"./include/fsum.hpp",
],
Expand All @@ -71,9 +70,7 @@ def build_extensions():

if platform.system() == "Windows":
config["extra_compile_args"].extend(("-static",))
config["extra_link_args"].extend(
("-static", "-static-libgfortran", "-static-libgcc")
)
config["extra_link_args"].extend(("-static", "-static-libgfortran", "-static-libgcc"))
elif platform.system() == "Darwin":
config["extra_compile_args"].extend(
("-Xpreprocessor", "-fopenmp", "-mmacosx-version-min=10.9", "-shared")
Expand Down
Loading