How to determine $\ker(A^\mathsf{T})$ using the SVD of $A$

475 Views Asked by At

Imagine I have the SVD of $A$ so:

$$A = USV^\mathsf{T}.$$

How can I determine the $\ker(A^\mathsf{T})$ from the SVD? I understand that the $\ker(A^\mathsf{T})$ consists of all vectors that are orthogonal to the column space of $A$ but how can I find it reading the SVD?

2

There are 2 best solutions below

3
On

since you have the svd of $A$, you also have the svd of $A^T$. Hence $\ker(A^T)$ is determined by $S$.

0
On

Let us assume that $A$ is $n \times p$, with $rank(A)=r \leq min(n,p).$

Let us assume that $A$ is "portrait" (i.e., $n \geq p$). You know that the "last" vectors of $V$ constitute a basis of the kernel of $A$. By "last", we mean the $p-r$ last ones (in conformity with the rank-nullity theorem; a particular case: if $r=p$, the kernel is reduced to $\{0\}$).

Now, the SVD of $A^T$ is simply $VS^TU^T$.

Thus, as for the "direct" SVD: the "last" vectors of $U$ will constitute a basis of the kernel of $A^T$. By "last", here, we now mean the $n-r$ last ones.

I advise you to look at the following example with $n=6,p=4,r=3$:

$$A=\begin{bmatrix}-1&1&0&0\\0&1&0&-1\\-1&0&0&1\\ 0&-1&1&0\\0&1&0&-1\\0&0&-1&1\end{bmatrix}. \ \ \text{Let us consider} \ \ W=\begin{bmatrix}1/2\\1/2\\1/2\\ 1/2\end{bmatrix}$$

In the direct case ($A$, before transposing it), the dimension of the kernel is $p-r=4-3=1$. We will look at the very last column of $V$ which is $V_4$, (unit) vector such that $AV_4=0$.

Consider now $A^T$. The awaited rank (i.e., the dimension of the kernel) is $n-r=6-3=3$. Thus all we have to do is to collect the three last columns of $U$, i.e., (with results given by Matlab):

$$U_4=\begin{bmatrix} 0.0402 \\ 0.6634 \\ -0.0402 \\ -0.0402 \\ -0.7439 \\ -0.0402 \end{bmatrix} U_5=\begin{bmatrix} -0.6441 \\ 0.3075 \\ 0.6441 \\ -0.1193 \\ 0.2174 \\ -0.1193 \end{bmatrix} U_6=\begin{bmatrix} 0.0129 \\ 0.3633 \\ -0.0129 \\ 0.6331 \\ 0.2569 \\ 0.6331\end{bmatrix}$$

Not unforgettable, hmm ? But, happily, we can obtain a more "sympathetic" base by orthonormalization of the following base of the kernel, obtained by "inspecting" the inderdependancies in the columns of $A^T$, or by using the miraculous option 'r' in Matlab (null(A','r')):

$$X_1=\begin{bmatrix} -1 \\ 1 \\ 1 \\ 0 \\ 0 \\ 0 \end{bmatrix} X_2=\begin{bmatrix} 0 \\ -1 \\ 0 \\ 0 \\ 1 \\ 0 \end{bmatrix} X_3=\begin{bmatrix} 0 \\ 1 \\ 0 \\ 1 \\ 0 \\ 1 \end{bmatrix}$$

Remark: the example matrix $A$ is not artificial: it is the "edge-vertex connectivity matrix" of an oriented graph, here the complete graph known as $K_4$, a tetrahedron).