Skip to main content
Mathematics LibreTexts

5.2.3: The Null and Column Spaces- An Example

  • Page ID
    72214
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Preliminary Information

    Let us compute bases for the null and column spaces of the adjacency matrix associated with the ladder below.

    Screen Shot 2020-09-21 at 3.21.52 PM.png
    Figure 1.

    The ladder has 8 bars and 4 nodes, so 8 degrees of freedom. Denoting the horizontal and vertical displacements of node j by \(x_{2j-1}\) and \(x_{2j}\) respectively, we arrive at the A matrix

    \[A = \begin{pmatrix} {1}&{0}&{0}&{0}&{0}&{0}&{0}&{0}\\ {-1}&{0}&{1}&{0}&{0}&{0}&{0}&{0}\\ {0}&{0}&{-1}&{0}&{0}&{0}&{0}&{0}\\ {0}&{-1}&{0}&{0}&{0}&{1}&{0}&{0}\\ {1}&{0}&{0}&{0}&{1}&{0}&{0}&{0}\\ {0}&{0}&{0}&{0}&{-1}&{0}&{0}&{0}\\ {0}&{0}&{0}&{0}&{0}&{0}&{-1}&{0}\\ \end{pmatrix} \nonumber\]

    Finding a Basis for the Column Space

    To determine a basis for \(\mathcal{R}(⁢A)\) we must find a way to discard its dependent columns. A moment's reflection reveals that columns 2 and 6 are colinear, as are columns 4 and 8. We seek, of course, a more systematic means of uncovering these and perhaps other less obvious dependencies. Such dependencies are more easily discerned from the row reduced form

    \[A_{red} = rref(A) = \begin{pmatrix} {1}&{0}&{0}&{0}&{0}&{0}&{0}&{0}\\ {0}&{1}&{0}&{0}&{0}&{-1}&{0}&{0}\\ {0}&{0}&{1}&{0}&{0}&{0}&{0}&{0}\\ {0}&{0}&{0}&{1}&{0}&{0}&{0}&{-1}\\ {0}&{0}&{0}&{0}&{1}&{0}&{0}&{0}\\ {0}&{0}&{0}&{0}&{0}&{0}&{1}&{0}\\ {0}&{0}&{0}&{0}&{0}&{0}&{0}&{0}\\ \end{pmatrix} \nonumber\]

    Recall that rref performs the elementary row operations necessary to eliminate all nonzeros below the diagonal. For those who can't stand to miss any of the action I recommend rrefmovie.

    NOT_CONVERTED_YET: para

    Each nonzero row of

    \(A_{red}\) is called a pivot row. The first nonzero in each row of \(A_{red}\) is called a pivot. Each column that contains a pivot is called a pivot column. On account of the staircase nature of \(A_{red}\) we find that there are as many pivot columns as there are pivot rows. In our example there are six of each and, again on account of the staircase nature, the pivot columns are the linearly independent columns of \(A_{red}\) One now asks how this might help us distinguish the independent columns of A. For although the rows of \(A_{red}\) are linear combinations of the rows of A, no such thing is true with respect to the columns. In our example, columns \(\{1, 2, 3, 4, 5, 7\}\) are the pivot columns. In general:

    Proposition

    Suppose A is m-by-n. If columns \(\{c_{j} | j = 1, \cdots, r\}\) are the pivot columns of \(A_{red}\) then columns \(\{c_{j} | j = 1, \cdots, r\}\) of A constitute a basis for \(\mathcal{R}(⁢A)\).

    Note that the pivot columns of AredAred are, by construction, linearly independent. Suppose, however, that columns \(\{c_{j} | j = 1, \cdots, r\}\) of A are linearly dependent. In this case there exists a nonzero \(x \in \mathbb{R}^{n}\) for which \(A \textbf{x} = \textbf{0}\) and

    \[\forall k, k \notin \{c_{j} | j = 1, \cdots, r\} : (x_{k} = 0) \nonumber\]

    Now \(A \textbf{x} = \textbf{0}\) necessarily implies that \(A_{red} \textbf{x} = \textbf{0}\) contrary to the fact that columns \(\{c_{j} | j = 1, \cdots, r\}\) are the pivot columns of \(A_{red}\)

    We now show that the span of columns \(\{c_{j} | j = 1, \cdots, r\}\) of A indeed coincides with \(\mathbb{R}(⁢A)\) This is obvious if \(r = n\) i.e., if all of the columns are linearly independent. If \(r < n\) there exists a \(q \notin \{c_{j} | j = 1, \cdots, r\}\) Looking back at \(A_{red}\) we note that its qth column is a linear combination of the pivot columns with indices not exceeding q. Hence, there exists an x satisfying Equation and \(A_{red} \textbf{x} = \textbf{0}\) and \(x_{q} = 1\) This x then necessarily satisfies \(A \textbf{x} = \textbf{0}\). This states that the qth column of A is a linear combination of columns \(\{c_{j} | j = 1, \cdots, r\}\) of A

    Finding a Basis for the Null Space

    Let us now exhibit a basis for \(\mathcal{N}(⁢A)\) We exploit the already mentioned fact that \(\mathcal{N}(A) = \mathcal{N}(A_{red})\). Regarding the latter, we partition the elements of \(\textbf{x}\) into so called pivot variables,

    \[\{x_{c_{j}} | j = 1, \cdots, r\} \nonumber\]

    and free variables

    \[\{x_{k} | k \notin \{x_{j} | j = 1, \cdots, r\}\} \nonumber\]

    There are evidently \(n-r\) free variables. For convenience, let us denote these in the future by

    \[\{x_{c_{j}} | j = r+1, \cdots, n\} \nonumber\]

    One solves \(A_{red} \textbf{x} = \textbf{0}\) by expressing each of the pivot variables in terms of the nonpivot, or free, variables. In the example above, \(x_{1}, x_{2}, x_{3}, x_{4}, x_{5}\) and \(x_{7}\) are pivot while \(x_{6}\) and \(x_{8}\) are free. Solving for the pivot in terms of the free we find

    \[x_{7} = 0\]

    \[x_{5} = 0\]

    \[x_{4} = x_{8}\]

    \[x_{3} = 0\]

    \[x_{2} = x_{6}\]

    \[x_{1} = 0\]

    or, written as a vector,

    \[\textbf{x} = x_{6} \begin{pmatrix} {0}\\{1}\\{0}\\{0}\\{0}\\{1}\\{0}\\{0} \end{pmatrix}+x_{8} \begin{pmatrix} {0}\\{0}\\{0}\\{1}\\{0}\\{0}\\{0}\\{1} \end{pmatrix} \nonumber\]

    where \(x_{6}\) and \(x_{8}\) are free. As \(x_{6}\) and \(x_{8}\) range over all real numbers, the \(\textbf{x}\) above traces out a plane in \(\mathbb{R}^8\) This plane is precisely the null space of A and Equation describes a generic element as the linear combination of two basis vectors. Compare this to what MATLAB returns when faced with null(A,'r'). Abstracting these calculations we arrive at

    Proposition

    Suppose that A is m-by-n with pivot indices \(\{c_{j} | j = 1, \cdots, r\}\) and free indices \(\{c_{j} | j = r+1, \cdots, n\}\) A basis for \(\mathcal{N}(A)\) may be constructed of \(n-r\) vectors \(\{z^{1}, z^{2}, \cdots, z^{n-r} \}\) where \(z^{k}\) and only \(z^k\) possesses a nonzero in its \(c_{r+k}\) component.

    The Physical Meaning of Our Calculations

    Let us not end on an abstract note however. We ask what \(\mathcal{R}(⁢A)\) and \(\mathcal{N}(⁢A)\) tell us about the ladder. Regarding \(\mathcal{R}(⁢A)\) the answer will come in the next chapter. The null space calculation however has revealed two independent motions against which the ladder does no work! Do you see that the two vectors in Equation encode rigid vertical motions of bars 4 and 5 respectively? As each of these lies in the null space of A Figure? I hope not, for vertical motion of bar 4 must 'stretch' bars 1, 2, 6, and 7. How does one resolve this (apparent) contradiction?


    This page titled 5.2.3: The Null and Column Spaces- An Example is shared under a CC BY 1.0 license and was authored, remixed, and/or curated by Steve Cox via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.