copytrito!
for triangular matrices
#56620
Open
+60
−5
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 does two things:
copytrito!
for triangular matrices to the parent in case the specifieduplo
corresponds to the stored part. This works because these matrices share their elements with the parents for the stored part.copytrito!
only copy the diagonal if theuplo
corresponds to the non-stored part.This makes
copytrito!
involving a triangular matrix equivalent to that involving its parent if the filled part is copied, and O(N) otherwise.Examples of improvements in performance: