Let us compute bases for the null and column spaces of the
adjacency matrix associated with the ladder below.
The ladder has 8 bars and 4 nodes, so 8 degrees of freedom.
Denoting the horizontal and vertical displacements of node
jj by
x
2
j
−
1
x
2
j
−
1
and
x
2
j
x
2
j
,
respectively, we arrive at the
AA matrix
A=10000000-1010000000-1000000-1000100000-10001000010000000-1010000000-10
A
1000
0000
-1010
0000
00-10
0000
0-100
0100
000-1
0001
0000
1000
0000
-1010
0000
00-10
To determine a basis for
ℛA
ℛ
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
=rrefA=1000000001000-100001000000001000-100001000000000100000000000000000
A
red
rref
A
1000
0000
0100
0-100
0010
0000
0001
000-1
0000
1000
0000
0010
0000
0000
0000
0000
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.
Each nonzero row of
A
red
A
red
is called a pivot row. The first nonzero in each row of
A
red
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
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
A
red
.
One now asks how this might help us distinguish the independent
columns of AA. For,
although the rows of
A
red
A
red
are linear combinations of the rows of AA, no such thing is true with
respect to the columns. In our example, columns
123457
1
2
3
4
5
7
are the pivot columns. In general:
Suppose AA is
m-by-n. If columns
{
c
j
|j=
1
,
...
,
r
}
c
j
j
1
,
...
,
r
are the pivot columns of
A
red
A
red
.
then columns
{
c
j
|j=
1
,
...
,
r
}
c
j
j
1
,
...
,
r
of AA
constitute a basis for
ℛA
ℛ
A
.
Note that the pivot columns of
A
red
A
red
.
are, by construction, linearly independent. Suppose,
however, that columns
{
c
j
|j=
1
,
...
,
r
}
c
j
j
1
,
...
,
r
of AA are
linearly dependent. In this case there exists a nonzero
x∈
ℝ
n
x
ℝ
n
for which
Ax=0
A
x
0
and
∀k,k∉{
c
j
|j=
1
,
...
,
r
}:
x
k
=0
k
k
c
j
j
1
,
...
,
r
x
k
0
(1)
Now
Ax=0
A
x
0
necessarily implies that
A
red
x=0
A
red
x
0
,
contrary to the fact that columns
{
c
j
|j=
1
,
...
,
r
}
c
j
j
1
,
...
,
r
are the pivot columns of
A
red
A
red
.
We now show that the span of columns
{
c
j
|j=
1
,
...
,
r
}
c
j
j
1
,
...
,
r
of AA indeed
coincides with
ℛA
ℛ
A
.
This is obvious if
r=n
r
n
,
i.e., if all of the
columns are linearly independent. If
r<n
r
n
,
there exists a
q∉{
c
j
|j=
1
,
...
,
r
}
q
c
j
j
1
,
...
,
r
.
Looking back at
A
red
A
red
.
we note that its qqth column is
a linear combination of the pivot columns with indices not
exceeding qq. Hence, there
exists an xx satisfying Equation 1 and
A
red
x=0
A
red
x
0
,
and
x
q
=1
x
q
1
.
This xx then necessarily
satisfies
Ax=0
A
x
0
.
This states that the qqth
column of AA is a
linear combination of columns
{
c
j
|j=
1
,
...
,
r
}
c
j
j
1
,
...
,
r
of AA.
Let us now exhibit a basis for
𝒩A
𝒩
A
.
We exploit the already mentioned fact that
𝒩A=𝒩
A
red
𝒩
A
𝒩
A
red
.
Regarding the latter, we partition the elements of xx into so called
pivot variables,
{
x
c
j
|j=
1
,
...
,
r
}
x
c
j
j
1
,
...
,
r
and free variables
{
x
k
|k∉{
c
j
|j=
1
,
...
,
r
}}
x
k
k
c
j
j
1
,
...
,
r
There are evidently
n-r
n
r
free variables. For convenience, let us denote these in the future by
{
x
c
j
|j=
r
+
1
,
...
,
n
}
x
c
j
j
r
+
1
,
...
,
n
One solves
A
red
x=0
A
red
x
0
,
by expressing each of the pivot variables in terms of the
nonpivot, or free, variables. In the example above,
x
1
x
1
,
x
2
x
2
,
x
3
x
3
,
x
4
x
4
,
x
5
x
5
,
and
x
7
x
7
are pivot while
x
6
x
6
and
x
8
x
8
are free. Solving for the pivot in terms of the free we find
x
7
=0
x
7
0
x
5
=0
x
5
0
x
4
=
x
8
x
4
x
8
x
3
=0
x
3
0
x
2
=
x
6
x
2
x
6
x
1
=0
x
1
0
or, written as a vector,
x=
x
6
01000100+
x
8
00010001
x
x
6
0100
0100
x
8
0001
0001
(2)
where
x
6
x
6
and
x
8
x
8
are free. As
x
6
x
6
and
x
8
x
8
range over all real numbers, the
xx
above traces out a plane in
ℝ
8
ℝ
8
.
This plane is precisely the null space of
AA and
Equation 2 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
Suppose that AA is
m-by-n with pivot indices
{
c
j
|j=
1
,
...
,
r
}
c
j
j
1
,
...
,
r
and free indices
{
c
j
|j=
r
+
1
,
...
,
n
}
c
j
j
r
+
1
,
...
,
n
.
A basis for
𝒩A
𝒩
A
.
may be constructed of
n-r
n
r
vectors
z
1
z
2
...
z
n
-
r
z
1
z
2
...
z
n
-
r
where
z
k
z
k
,
and only
z
k
z
k
,
possesses a nonzero in its
c
r
+
k
c
r
+
k
component.
Let us not end on an abstract note however. We ask what
ℛA
ℛ
A
and
𝒩A
𝒩
A
tell us about the ladder. Regarding
ℛA
ℛ
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 2 encode rigid vertical
motions of bars 4 and 5 respectively? As each of these lies in
the null space of AA,
the associated elongation is zero. Can you square this with the
ladder as pictured in Figure 1? I
hope not, for vertical motion of bar 4 must 'stretch' bars 1, 2,
6, and 7. How does one resolve this (apparent) contradiction?