-
Notifications
You must be signed in to change notification settings - Fork 440
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
Using efficient np.linalg.multi_dot #271
Conversation
Hi @maldil , thank you so much for taking the time to open a pull request. I didn't know about multi_dot. Thank you for pointing this out. It is new from numpy v1.19.0. This would break compatibility for older versions of numpy, so I don't think we should use it, unless there is a large speed improvement for example. |
Hi,
|
Right, I understand it should be faster because it will pick the optimal ordering of parenthesis. |
No, I do not have performance comparison for DOA module right now. |
I think you could quickly make one by timing the doa algorithms in the |
I'm still looking for spare time to do this experiment. Regarding your concern about the NumPy version, it appears to have been around for a long, at least since 1.13. This is the oldest API doc I could locate. It was present in 1.13, according to that. To be sure, I installed the oldest installable NumPy version on my Mac. I was able to use On a side topic, if you use a certain NumPy version, I would urge that you declare it here. Because it now downloads the most recent version based on the requirement.txt. pyroomacoustics/requirements.txt Line 2 in b732335
|
Hum, you are right, numpy 1.13.0 was released in June 2017. We can probably reasonably expect most people to use something more recent 😄
to |
It is more succinct and effective to refactor code to use np.linalg.multi_dot rather than numerous np.dot routines.
What do you think about this change that has practical value?
nosetests
orpy.test
at the root of the repo ?Happy PR 😃