Transforming a matrix to obtain linear independent columns

186 Views Asked by At

I have a matrix $A$ of size $32\times 44$ composed of several blocks as follows:

$$ A\equiv [B \quad C \quad D \quad E\quad F \quad G] $$ where

  • $ \underbrace{B}_{32\times 8}\equiv \begin{pmatrix} B_1\\ B_2\\ \vdots\\ B_8 \end{pmatrix}$

and for $j=1,\dots,8$, $B_j$ is a $4\times 8$ matrix with $j$-th column full of -1, and the other elements equal to 0

  • $ C \text{ is the $32\times 32$ identity matrix} $

  • $ \underbrace{D}_{32\times 1}\equiv \begin{pmatrix} d\\ d\\ \vdots\\ d \end{pmatrix}\quad \text{and $d\equiv \begin{pmatrix} 0.3\\ 0.3\\ 0.1\\ 0.1 \end{pmatrix}$} $

  • $E$ is a $32\times 1$ vector of ones

  • $ \underbrace{F}_{32\times 1}\equiv \begin{pmatrix} f\\ f\\ \vdots\\ f \end{pmatrix}\quad \text{and $f\equiv \begin{pmatrix} 0\\ 1\\ 0\\ 1 \end{pmatrix}$} $

  • $G$ is a $32\times 1$ vector of zeros.

I want to understand which columns of $A$ I should delete in order for the remaining columns to be linearly independent. Ideally, I would like to keep 32 columns.

Note: as suggested in the comments below, there are many ways to make this happening. I have developed a specific strategy and I would like you to check that. My question below clarifies this.


The columns of $A$ are not linearly independent because:

  1. $A$ has only 32 rows.
  2. For each $j=1,\dots,8$, col. $j$ is a linear combination of col. $8+4*(j-1),\dots,8+4*j$.
  3. Col. 41 is a linear combination of col. 9-40.
  4. Col. 42 is a linear combinations of col. 1-8. It is also a linear combination of col. 9-40.
  5. Col. 43 is a linear combination of col. 9-40.
  6. Col. 44 is a linear combinations of col. 1-8.

My understanding is that the above issues can be addressed by appropriately deleting some columns from $A$. In particular:

  • Issue 2 can be addressed by deleting one of col. $8+4*(j-1),\dots,8+4*j$ for each $j=1,\dots, 8$, or col. 1-8.

  • Issue 3 can be addressed by deleting col. 41, or one of col. 9-40.

  • Issue 4 can be addressed by deleting col. 42, or one of col. 1-8 and one of col. 9-40.

  • Issue 5 can be addressed by deleting column 43.

  • Issue 6 can be addressed by deleting col. 44.

  • If the number of deleted columns is $\ell<32$, then Issue 1 can be addressed by deleting any other $32-\ell$ columns.

Question: Something is wrong in my arguments. In fact, if I delete for instance columns $$ \underbrace{1}_{\text{Issue 4 (matrix B)}}, \underbrace{2}_{\text{Issue 1 (matrix B)}}, \underbrace{9, 13, 17, 21, 25, 29, 33, 37}_{\text{Issues 2,3,4 (matrix C)}}, \underbrace{43, 44}_{\text{Issues 5,6 (vectors F,G)}} $$ which apparently satisfy all my criteria, I get a matrix $32\times 32$ with rank 31. Equivalently, if I delete columns $$ \underbrace{1,2,3,4,5,6,7,8}_{\text{Issues 2,4 (matrix B)}}, \underbrace{9}_{\text{Issues 3,4 (matrix C)}}, \underbrace{10}_{\text{Issue 1 (matrix C)}}, \underbrace{43, 44}_{\text{Issues 5,6 (vectors F,G)}} $$ I still get a matrix $32\times 32$ with rank 31. What am I missing?

1

There are 1 best solutions below

3
On BEST ANSWER

Although the obvious strategy would be to delete all the columns apart from $C$, the $32\times 32$ identity matrix, you choose to do it another way.

As you say, your strategy fails and you are left with a submatrix of rank $31$. I think that what has happened is that the relations which you have identified are not linearly independent (you note at least one dependence), and possibly not a complete set of relations. I suspect that what has then happened is that some relation has been used (at least implicitly) to eliminate two columns: almost as though from the relations $u+v=0, u+v=0$ we deleted first $u$ and then $v$.

If you want to keep columns $D$ and $E$ (which are Linearly independent) then you can proceed as follows. Reorder your matrix to be, say, $[D E C F G B ]$. (If you want to keep as much of $B$ as possible make it $[D E F G B C]$ for example.) Now, starting with the left hand column and moving to the right delete each column that depends linearly on its undeleted predecessors. You must check each time whether there is a dependence, and not rely on dependences you "spot". This is an absolutely standard process, and guaranteed to work.