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.
Hi,
I needed a bare bones QR and your code came in handy. Going though it, I realized that it had an out of bounds error in partialdot_product() which I have fixed in this PR. Interestingly, this error does not seem to affect the computed factorization.
If called with length=10 and index=1, the original code will access vector elements at indices
1 2 3 4 5 6 7 8 9 10 (all in the 2nd loop)
Note that the last one (10) is out of bounds.
Similarly, for a call with 10 2, the code accesses
2 3 4 5 6 7 8 9 10 11
where the last two indices are again out of bounds.
With the new code, for (10, 1) the indices accessed are
1 2 3 4 (1st loop)
5 6 7 8 9 (2nd loop)
and are all within bounds.
For the call (2, 10), the new indices are
2 3 4 (1st loop)
5 6 7 8 9 (2nd loop)