https://github.com/dirktoewe/srrqr_bin_py
Binary-Search Strong Rank-Revaling QR Decomposition Implemented in Python
https://github.com/dirktoewe/srrqr_bin_py
Last synced: over 1 year ago
JSON representation
Binary-Search Strong Rank-Revaling QR Decomposition Implemented in Python
- Host: GitHub
- URL: https://github.com/dirktoewe/srrqr_bin_py
- Owner: DirkToewe
- License: gpl-3.0
- Created: 2020-01-16T10:29:51.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-16T10:33:26.000Z (over 6 years ago)
- Last Synced: 2025-02-24T05:35:08.223Z (over 1 year ago)
- Language: Python
- Size: 89.8 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Introduction
This Python package is a proof-of-concept implementation of a binary search strong rank-revealing QR decomposition (`SRRQR_bin`).
It is an improved version of the strong rank-revealing QR decomposition (`SRRQR_l2r`), which is described as Algorithm 4 in:
```
Ming Gu, Stanley C. Eisenstat,
"EFFICIENT ALGORITHMS FOR COMPUTING A STRONG RANK-REVEALING QR FACTORIZATION"
https://math.berkeley.edu/~mgu/MA273/Strong_RRQR.pdf
```
`SRRQR_l2r` tries out every rank k from left (k=0) to right (k=min(m,n)) in order to find the correct rank of the matrix.
As the name already indicates, the binary search version `SRRQR_bin` uses binary search to find the actual rank. This greatly
reduces the number of "strong" column swaps required for larger matrices. While the threshold `f` cannot be constant if `SRRQR_l2r`
is to achieve `O(m^2*n)` performance, `SRRQR_bin` _should_ work with constant values for `f`.