Continued matrices-valued function Given $d<k$. Let ${\cal M}_{d\times k}(\mathbb{R})$ denotes the set of all $d\times k$ real matrices and suppose that $H:\mathbb{R}^k\rightarrow {\cal M}_{d\times k}(\mathbb{R})$ is a continuous matrices-valued function such that $H(x)$ is full rank for every $x \in \mathbb{R}^k$.
I'd like to construct a continuous function $K:\mathbb{R}^k\rightarrow  {\cal M}_{k\times (k-d)}(\mathbb{R})$ such that $K(x)$ is full rank and
\begin{equation}
H(x)K(x)=0, \quad \forall x \in \mathbb{R}^k.
\end{equation}
Can we do that?
I've tried defining $K$ as follows: for every $x_0$ define $K(x_0)$ by such matrix with columns are all element in the basis of the subspace $\{y \in \mathbb{R}^k :H(x_0)y=0\}$. Of course $K(x_0)\in {\cal M}_{k\times (k-d)}(\mathbb{R})$ since $\{y \in \mathbb{R}^k :H(x_0)y=0\}$ has dimension $k-d$. But the problem was on the continuity because we can choose arbritary basis of the above subspace. Can anyone give advice in constructing $K$? Thanks in advance.
 A: Here are some thoughts on this question that are too lengthy for a comment. First, if you know any procedure that generates orthogonal vector for a given system of vectors and this procedure depends continuously on vectors of set (and depends only on vectors of this set) — it'll work here. You take vectors which are rows of $H(x)$, generate orthogonal vector $K_1$ and obtain matrix $( H\; \vert \; K_1)^{T}$ which is continuous w.r.t. to $x$. Then you repeat procedure and obtain vector $K_2$, append it again and repeat until you construct matrice $K(x) = (K_1, K_2, \dots, K_{k-d})$. I've tried to find such procedure, but hasn't succeed yet.
Also there's a further development of idea from comments, but it has a flaw. I'll use following notation:


*

*each point $x \in \mathbb{R}^k$ is equipped with $d$ vectors that form columns of matrix $\hat{H}(x) = H^{T}(x)$, $H(x) \in \mathbb{R}^{d \times k} $, $\hat{H}(x) \in \mathbb{R}^{k \times d} $;

*by $E$ denote the identity matrix, $E \in \mathbb{R}^{k\times k}$;

*by $\Gamma (x)$ denote Gramm matrix, $\Gamma(x) = H(x)\cdot H^{T}(x)$, $\Gamma(x) \in {\mathbb R}^{d \times d}$.


Then you do the following. For each point compute matrix $\hat{K}(x) = E - \hat{H}(x) \cdot \Gamma^{-1}(x) \hat{H}^{T}(x)$. This transformation just takes a standard basis at each point $x$ (it corresponds to matrix $E$), subtracts from each basis vector its orthogonal projection on $\hat{H}(x)$ and makes a set of vectors from $\hat{H}^{\perp}(x)$. Matrix $\hat{K}(x)$ depends continuously on $x$ (multiplications/additions are continuous, inversion is continuous too). Also, it satisfies $\hat{H}(x)\hat{K}(x) \equiv 0$. The only problem (and this is the flaw that I've mentioned) is that $\hat{K}(x)$ is from $\mathbb{R}^{k \times k}$ instead of $\mathbb{R}^{k \times (k-d)}$; but it surely has rank $(k-d)$. The problem that I'm struggling here is that I still don't know a way how to continuously "extract" some basis from set of columns of matrix $\hat{K}(x)$. 
EDIT: Probably, that's not always possible. I wonder if OP's original can be solved by any other method.
