Is there a fast method to compute an orthogonal complement of an arbitrary matrix $U\in\mathbb{R}^{m \times n}$ in BLAS / LAPACK?
Specifically, I want any matrix $V\in \mathbb{R}^{m \times (m - \text{rank}(M))}$ such that $$ \text{rank}(U|V) = m. $$
The singular value decomposition methods in LAPACK can do this if called correctly, but if $U\in\mathbb{R}^{m \times (m-1)}$ is full rank, this will take $O(m^3)$, when it should only take $O(m^2)$ (e.g., via Gram-Schmidt orthogonalization of a random vector).
Orthogonality of $V$ is a plus but not required.