-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
We will be using QR factorization to help solve the Ax=b equation.
However, if we want to compute this efficiently, we should avoid computing Q, and instead compute Q^T @ b by performing the Householder rotations on b and A as we compute them . This is the way that the paper implements the iSAM, and it is the way the incremental factorization is implemented as well.
However, neither numpy or scipy have options to transform the b vector instead of just computing Q. This means we have a few options:
- Compute the QR factorization ourselves so we avoid the extra computation
- Reframe the incremental factorization to return a transformed Q as well.
- Ignore the problem and have a different solve method if we do a batch vs incremental update.
My vote is to do number 3 for the following:
- We don't have to implement QR (which would likely be slower than
numpyversion, even though our implementation would be more "efficient") - We don't have to reframe the incremental factorization (which wouldn't be that difficult, but it is less efficient)
- Should be easy.
The question boils down to: How do we want to implement the solver?
Metadata
Metadata
Assignees
Labels
No labels