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.



Constructing a continuous matrix valued function
I got an answer that requires an additional hypothesis:


* $\forall x$, every *principal submatrix* of $H(x)$ has to be non singular.


Here, we define the principal submatrices of a generic matrix $A\in\mathbb{R}^{d \times k}$ as the matrices $A^{(1)},\ldots,A^{(d)}$ given by $A^{(m)}\in\mathbb{R}^{m \times m}$ and $[A^{(m)}]\_{i,j} = [A]\_{i,j}$ for each $m = 1,\ldots,d$.


Now for each $x$ you compute the row echelon form of $H(x)$ by means of *gaussian elimination*, resulting into the matrix $E(x)$. This process is continuous because you don't need pivoting, thanks to the initial hypothesis. (<http://en.wikipedia.org/wiki/Row_echelon_form>)


Now, you have
$$E(x)= \begin{bmatrix} 
1 & \* & \* & \* & \* & \cdots & \* \\
 & 1 & \* & \* & \* & \cdots & \* \\
 & & \ddots & \ddots & & & \vdots\\
 & & & 1 & \* & \cdots & \*
\end{bmatrix}$$  

where "$\*$" are generic non zero elements. Consider now the linear system $E(x)y = 0$, of the form
$$
\begin{cases}
y\_1 + (\text{combination of $y\_2,\ldots,y\_k$}) = 0\\
y\_2 + (\text{combination of $y\_3,\ldots,y\_k$}) = 0\\
\vdots \\
y\_d + (\text{combination of $y\_{d+1},\ldots,y\_k$}) = 0
\end{cases}
$$
and build your basis $\mathcal{B} = \mathcal{B}(x)$ of the space $\{E(x)y = 0\}$ (that coincides with $\{H(x)y = 0\}$ ) as follows: 
$$\mathcal{B} = \{b^{(1)},\ldots,b^{(k-d)}\}\subseteq\mathbb{R}^k$$
where, for each $m$, the last $(k-d)$ components of $b^{(m)}$ are given by 
$$[b^{(m)}]\_{d + i} = \delta\_{i,m}, \quad \text{for } i = 1,\ldots,k-d$$
and you can compute the first $d$ components of each $b^{(m)}$ by direct substitution on the linear system $E(x)y = 0$.


Again, the whole process is continuous and now you just have to consider the matrix $K(x)$ that has the vectors of $\mathcal{B}$ as columns.


