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

Index basis vector strategy refactor #895

Merged
merged 17 commits into from
Aug 27, 2019
Merged

Conversation

rjgildea
Copy link
Contributor

General refactoring of basis_vector_search subpackage:

  • Refactor basis vector search strategies to individual modules
  • Rename strategies.py -> strategy.py
  • Export strategies in top level basis_vector_search/init.py to simplify imports
  • Move utility functions to utils.py module
  • Extract group_vectors() to standalone function in utils.py
  • Remove "_strategy" suffix from entry point names

Refactoring of RealSpaceGridSearch.find_basis_vectors() function

  • Use group_vectors() in RealSpaceGridSearch
  • New `compute_functional() static method
  • New search_directions and search_vectors properties which return an iterator of search directions/vectors respectively
  • New score_vectors() method
  • max_vectors param instead of hardcoded value

New find_unique_vectors() function refactored from
RealSpaceGridSearch class.
- New self.search_directions property to return search directions - generator.
- compute_functional to static method.
This combines the search_directions with the unit cell lengths to
return a generator of search_vectors.
- Rename strategies.py to strategy.py since it now only defines the Strategy
metaclass.
- Export strategy classes in top-level basis_vector_search/__init__.py
to simplify imports.
@rjgildea rjgildea marked this pull request as ready for review August 23, 2019 15:49
@dermen
Copy link
Contributor

dermen commented Aug 23, 2019

@rjgildea looks good to me, my tests passed. Thanks for this!

@rjgildea rjgildea merged commit c34031a into master Aug 27, 2019
rjgildea added a commit that referenced this pull request Sep 10, 2019
General refactoring of basis_vector_search subpackage:
- Refactor basis vector search strategies to individual modules
- Rename strategies.py -> strategy.py
- Export strategies in top level basis_vector_search/__init__.py to simplify imports
- Move utility functions to utils.py module
- Extract `group_vectors()` to standalone function in utils.py
- Remove "_strategy" suffix from entry point names

Refactoring of `RealSpaceGridSearch.find_basis_vectors()` function
- Use `group_vectors()` in RealSpaceGridSearch
- New `compute_functional() static method
- New `search_directions` and `search_vectors` properties which return an iterator of search directions/vectors respectively
- New score_vectors() method
- `max_vectors` param instead of hardcoded value
@rjgildea rjgildea deleted the index-strategy-refactor branch September 18, 2019 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants