-
Notifications
You must be signed in to change notification settings - Fork 4
Patch missing backstop #77
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
Merged
jpn--
merged 38 commits into
ActivitySim:main
from
driftlesslabs:patch-missing-backstop
Oct 31, 2025
Merged
Patch missing backstop #77
jpn--
merged 38 commits into
ActivitySim:main
from
driftlesslabs:patch-missing-backstop
Oct 31, 2025
Conversation
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces comprehensive improvements for handling sparse matrix blending in the codebase, focusing on both robustness and usability. It enhances the
sparse_blenderfunctionality to automatically create dense backing arrays when needed, improves error handling for missing sparse data, and adds documentation and tests to verify correct blending behavior. The changes are grouped as follows:Sparse Matrix Blending Enhancements:
sparse_blendermethod insharrow/sparse.pynow automatically creates a zero-filled dense backing array if the named variable does not exist, ensuring that sparse blending works even when only sparse data is available.sparse_blenderhave been expanded to support and clearly document new parameters (backing_i_dim,backing_j_dim), blending logic, and usage examples.Error Handling and Logic Improvements:
sharrow/aster.py, error handling is improved for cases where a sparse variable is missing a dense backstop: the code now sets the result to zero and lets the blender logic handle the fallback, instead of raising aKeyError.Blending Logic Refinements:
get_blended_2is refactored to only include theblend_limitargument ifmax_blend_distanceis not infinite, improving clarity and correctness of blending calls.Testing and Validation:
sharrow/tests/test_sparse.py) is added to verify sparse blending, transformations, accessor methods, shared memory compatibility, blender attributes, reverse lookups, and dense dimension lookups, ensuring robust coverage for all blending scenarios.General Codebase Improvements:
sharrow/sparse.pyto warn when a zero backing array is created, aiding debugging and transparency.These changes greatly improve the reliability, documentation, and test coverage of sparse blending functionality in the codebase.