How to remove superfluous components from a set of vectors

50 Views Asked by At

I have an $m×n$ matrix $A$ and an $m×n$ vector $b$.

$Ax=b$ defines a subspace of the original space.

I have some $x$ vectors, which are all in this subspace. I think that if I know this about them, then I should be able to find some function $f:\mathbb{R}^n \rightarrow \mathbb{R}^{n-m}$ that maps each of these into a lower dimensional space.

Example: I have points $[1,2,3], [1,3,2],[1,2,0]$

And the matrices: $A = [0,0,0], b = [1,0,0]$

Then I know that I can remove the first component of each point, which gives me $[2,3], [3,2],[2,0]$.

What should I do if $A$ and $b$ are not such simple matrices?

1

There are 1 best solutions below

0
On

A simple way to do this is to take the Singular Value Decomposition of $A=UDV^*$. If the zeros of $D$ are arranged to lie in the lower part of the matrix (as they usually are), then the matrix that is needed is the corresponding lower part of $V^*$, $V_2$ in the following: $$A=[U]\begin{bmatrix}D_{m\times m}&O\\O&O\end{bmatrix}\begin{bmatrix}V^1_{m\times n}\\\fbox{$V^2_{(n-m)\times n}$}\end{bmatrix}$$ The sub-matrix $V_2$ maps any input vector $x$ into the kernel of $A$ of dimension $n-m$, which contains all the solutions up to a translation.