Unit 2, lesson 11

Dual Maps and Covectors

How a linear map pulls a covector on its outputs back to its inputs, why the dual map reverses composition and has the transpose as its matrix, and why covector coordinates change by an inverse matrix.

  • Video 11
  • Linear Measurements and Dual Maps

A bakery turns an order of loaves and cakes into amounts of flour and sugar, and a price list turns amounts of flour and sugar into a cost. You can price an order without ever listing its ingredients, because the two steps combine into a single price list on orders that gives the same total. The map that moves a measurement from the outputs of a linear map back to its inputs is the dual map. This lesson shows why the dual map reverses the order of composition, why its matrix is the transpose, and why the coordinates of a measurement change by the inverse of the matrix that changes vector coordinates. Throughout, F\mathbb{F} is R\mathbb{R} or C\mathbb{C}, and a tuple such as (3,2)(3, 2) stands for a column vector.

Key terms

Covector

Definition Let VV be a vector space over F\mathbb{F}. A covector on VV is an element of the dual space V∨=Hom⁡(V,F)V^{\vee} = \operatorname{Hom}(V, \mathbb{F}), that is, a linear functional ℓ ⁣:V→F\ell \colon V \to \mathbb{F}. The word covector is another name for a linear functional, used when its coordinates are compared with those of vectors. If VV is finite-dimensional with ordered basis B=(b1,…,bn)\mathcal{B} = (b_1, \dots, b_n) and dual basis B∨=(β1,…,βn)\mathcal{B}^{\vee} = (\beta_1, \dots, \beta_n), where βi(bj)=δij\beta_i(b_j) = \delta_{ij}, then every covector satisfies

ℓ=∑j=1nℓ(bj) βj,ℓ(v)=rB [v]Bfor all v∈V,\begin{gathered} \ell = \sum_{j=1}^{n} \ell(b_j)\, \beta_j, \\[0.4em] \ell(v) = r_{\mathcal{B}}\, [v]_{\mathcal{B}} \quad \text{for all } v \in V, \end{gathered}

where rB=[ℓ(b1)⋯ℓ(bn)]r_{\mathcal{B}} = \begin{bmatrix} \ell(b_1) & \cdots & \ell(b_n) \end{bmatrix} is the evaluation row of ℓ\ell in the basis B\mathcal{B}. The coefficient column of ℓ\ell in the dual basis is the transpose, [ℓ]B∨=rBT[\ell]_{\mathcal{B}^{\vee}} = r_{\mathcal{B}}^{\mathsf{T}}. Over C\mathbb{C} the row multiplies the coordinate column with no conjugation.

In plain words A covector is a linear measurement, a rule that assigns a scalar to every vector. In a basis it is recorded by what it reads on each basis vector, and those readings form a row. The row is a record of a measurement, not an arrow in VV. Turning a covector into a vector needs extra structure, such as an inner product.

Example On P2\mathcal{P}_2 with basis (1,t,t2)(1, t, t^2), integration over [0,1][0, 1],

ℓ(p)=∫01p(t) dt,\ell(p) = \int_0^1 p(t)\, dt,

is a covector, because the integral of a sum is the sum of the integrals and constants factor out. It reads 11, 12\tfrac{1}{2} and 13\tfrac{1}{3} on the basis, so its evaluation row is [11213]\begin{bmatrix} 1 & \tfrac{1}{2} & \tfrac{1}{3} \end{bmatrix} and ℓ=β1+12β2+13β3\ell = \beta_1 + \tfrac{1}{2}\beta_2 + \tfrac{1}{3}\beta_3. The polynomial p=4+6t−3t2p = 4 + 6t - 3t^2 has coordinate column (4,6,−3)(4, 6, -3), and the row gives 4+3−1=64 + 3 - 1 = 6. Integrating directly gives [4t+3t2−t3]01=6\left[4t + 3t^2 - t^3\right]_0^1 = 6 as well.

Pullback of a functional

Definition Let VV and WW be vector spaces over F\mathbb{F}, let T∈Hom⁡(V,W)T \in \operatorname{Hom}(V, W) and let ℓ∈W∨\ell \in W^{\vee}. The pullback of ℓ\ell through TT is the composite ℓ∘T ⁣:V→F\ell \circ T \colon V \to \mathbb{F}, given by (ℓ∘T)(v)=ℓ(Tv)(\ell \circ T)(v) = \ell(Tv). It is linear, since for all x,y∈Vx, y \in V and scalars a,ba, b

ℓ(T(ax+by))=a ℓ(Tx)+b ℓ(Ty),\ell(T(ax + by)) = a\,\ell(Tx) + b\,\ell(Ty),

so ℓ∘T\ell \circ T belongs to V∨V^{\vee}. In coordinates, let V=FnV = \mathbb{F}^n and W=FmW = \mathbb{F}^m, let Tx=AxTx = Ax with A∈Fm×nA \in \mathbb{F}^{m \times n}, and let ℓ(w)=rw\ell(w) = rw for a row r∈F1×mr \in \mathbb{F}^{1 \times m}. Then (ℓ∘T)(x)=r(Ax)=(rA)x(\ell \circ T)(x) = r(Ax) = (rA)x, so the pullback has the row rArA.

In plain words To measure an output, you first send the input through the map and then read the measurement. The pullback combines both steps into one measurement on the inputs, with exactly the same reading on every input.

Example A loaf uses 33 units of flour and 11 of sugar, a cake uses 22 of flour and 44 of sugar, and the prices are 22 per unit of flour and 55 per unit of sugar. The order map and the price row are

A=[3214],r=[25].A = \begin{bmatrix} 3 & 2 \\ 1 & 4 \end{bmatrix}, \qquad r = \begin{bmatrix} 2 & 5 \end{bmatrix}.

The pullback row is rA=[1124]rA = \begin{bmatrix} 11 & 24 \end{bmatrix}, so a loaf costs 1111 and a cake 2424. For an order of 22 loaves and 11 cake the ingredients are A(2,1)=(8,6)A(2, 1) = (8, 6), which cost 2⋅8+5⋅6=462 \cdot 8 + 5 \cdot 6 = 46. The pullback gives 11⋅2+24⋅1=4611 \cdot 2 + 24 \cdot 1 = 46 without computing the ingredients.

Dual map

Definition Let VV and WW be vector spaces over F\mathbb{F} and T∈Hom⁡(V,W)T \in \operatorname{Hom}(V, W). The dual map of TT is

T∨ ⁣:W∨→V∨,T∨(ℓ)=ℓ∘T.T^{\vee} \colon W^{\vee} \to V^{\vee}, \qquad T^{\vee}(\ell) = \ell \circ T.

It is linear. For ℓ1,ℓ2∈W∨\ell_1, \ell_2 \in W^{\vee} and scalars a,ba, b, evaluating at any v∈Vv \in V gives (aℓ1+bℓ2)(Tv)=a ℓ1(Tv)+b ℓ2(Tv)(a\ell_1 + b\ell_2)(Tv) = a\,\ell_1(Tv) + b\,\ell_2(Tv), so T∨(aℓ1+bℓ2)=a T∨(ℓ1)+b T∨(ℓ2)T^{\vee}(a\ell_1 + b\ell_2) = a\,T^{\vee}(\ell_1) + b\,T^{\vee}(\ell_2). Over C\mathbb{C} the dual map is complex-linear, with no conjugation anywhere. It uses no inner product, so it is a different object from the adjoint T∗T^{*}, which depends on one.

In plain words Vectors travel forward through TT, from VV to WW. Measurements travel backward through T∨T^{\vee}, from measurements on WW to measurements on VV. The dual map handles every output measurement at once and returns its pullback.

Example Let D ⁣:P2→P1D \colon \mathcal{P}_2 \to \mathcal{P}_1 be differentiation, D(p)=p′D(p) = p', and let ev⁡1∈P1∨\operatorname{ev}_1 \in \mathcal{P}_1^{\vee} be evaluation at 11, so ev⁡1(q)=q(1)\operatorname{ev}_1(q) = q(1). Then D∨(ev⁡1)D^{\vee}(\operatorname{ev}_1) is the functional p↦p′(1)p \mapsto p'(1) on P2\mathcal{P}_2, which reads b+2cb + 2c on p=a+bt+ct2p = a + bt + ct^2. Evaluation at 00, ev⁡0(q)=q(0)\operatorname{ev}_0(q) = q(0), pulls back to p↦p′(0)p \mapsto p'(0), which reads bb. By linearity D∨(ev⁡1−ev⁡0)D^{\vee}(\operatorname{ev}_1 - \operatorname{ev}_0) reads p′(1)−p′(0)=2cp'(1) - p'(0) = 2c.

Dual map of a composition

Definition Let VV, WW and ZZ be vector spaces over F\mathbb{F}, with T∈Hom⁡(V,W)T \in \operatorname{Hom}(V, W) and S∈Hom⁡(W,Z)S \in \operatorname{Hom}(W, Z). Then

(ST)∨=T∨S∨(ST)^{\vee} = T^{\vee} S^{\vee}

as maps from Z∨Z^{\vee} to V∨V^{\vee}. To prove it, take ℓ∈Z∨\ell \in Z^{\vee} and v∈Vv \in V. Then

((ST)∨ℓ)(v)=ℓ(S(Tv))=(S∨ℓ)(Tv)=(T∨(S∨ℓ))(v),\begin{aligned} \big((ST)^{\vee}\ell\big)(v) &= \ell(S(Tv)) \\[0.4em] &= (S^{\vee}\ell)(Tv) \\[0.4em] &= \big(T^{\vee}(S^{\vee}\ell)\big)(v), \end{aligned}

and two functionals that agree at every vector are equal. The dual of the identity IVI_V is the identity of V∨V^{\vee}, so if TT is an isomorphism, then T∨T^{\vee} is one too, with (T∨)−1=(T−1)∨(T^{\vee})^{-1} = (T^{-1})^{\vee}. In matrices, if TT and SS act by AA and BB, an output row rr on ZZ pulls back to (rB)A=rBA(rB)A = rBA.

In plain words A measurement taken after SS meets SS first on its way back. So it is pulled back through SS first and through TT second, the reverse of the order in which vectors travel.

Example Let T ⁣:R3→R2T \colon \mathbb{R}^3 \to \mathbb{R}^2 and S ⁣:R2→R2S \colon \mathbb{R}^2 \to \mathbb{R}^2 act by

A=[101021],B=[111−1],A = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 2 & 1 \end{bmatrix}, \qquad B = \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix},

and take the output row r=[12]r = \begin{bmatrix} 1 & 2 \end{bmatrix}. Pulling back through SS gives rB=[3−1]rB = \begin{bmatrix} 3 & -1 \end{bmatrix}, and then through TT gives (rB)A=[3−22](rB)A = \begin{bmatrix} 3 & -2 & 2 \end{bmatrix}. Check at v=(1,1,1)v = (1, 1, 1). Forward, Av=(2,3)Av = (2, 3) and B(2,3)=(5,−1)B(2, 3) = (5, -1), which rr reads as 5−2=35 - 2 = 3. The input row reads 3−2+2=33 - 2 + 2 = 3. The other order fails outright, because rArA is a 1×31 \times 3 row and cannot be multiplied by the 2×22 \times 2 matrix BB.

Matrix of the dual map

Definition Let VV and WW be finite-dimensional over F\mathbb{F} with ordered bases B=(b1,…,bn)\mathcal{B} = (b_1, \dots, b_n) and C=(c1,…,cm)\mathcal{C} = (c_1, \dots, c_m), and dual bases B∨=(β1,…,βn)\mathcal{B}^{\vee} = (\beta_1, \dots, \beta_n) and C∨=(γ1,…,γm)\mathcal{C}^{\vee} = (\gamma_1, \dots, \gamma_m). If T∈Hom⁡(V,W)T \in \operatorname{Hom}(V, W) has matrix A=[T]C←BA = [T]_{\mathcal{C} \leftarrow \mathcal{B}}, so that Tbj=∑iaijciTb_j = \sum_{i} a_{ij} c_i, then

[T∨]B∨←C∨=AT.[T^{\vee}]_{\mathcal{B}^{\vee} \leftarrow \mathcal{C}^{\vee}} = A^{\mathsf{T}}.

The reason is one evaluation, (T∨γi)(bj)=γi(Tbj)=aij(T^{\vee}\gamma_i)(b_j) = \gamma_i(Tb_j) = a_{ij}. So T∨γi=∑jaijβjT^{\vee}\gamma_i = \sum_{j} a_{ij}\beta_j, and its coefficient column is row ii of AA written as a column, which is column ii of ATA^{\mathsf{T}}. In evaluation rows the same fact says that if ℓ\ell has row rr in C\mathcal{C}, then T∨ℓT^{\vee}\ell has row rArA in B\mathcal{B}. This holds over C\mathbb{C} with the plain transpose. The conjugate transpose A∗A^{*} belongs to the adjoint, which comes later, and represents it when both bases are orthonormal.

In plain words Each output coordinate measurement γi\gamma_i pulls back to the measurement that reads row ii of AA. Writing those rows as columns produces the transpose. The transpose is what pulling back looks like in coordinates.

Example For D ⁣:P2→P1D \colon \mathcal{P}_2 \to \mathcal{P}_1 with bases (1,t,t2)(1, t, t^2) and (1,t)(1, t), the images D(1)=0D(1) = 0, D(t)=1D(t) = 1 and D(t2)=2tD(t^2) = 2t give

A=[010002],AT=[001002].A = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 2 \end{bmatrix}, \qquad A^{\mathsf{T}} = \begin{bmatrix} 0 & 0 \\ 1 & 0 \\ 0 & 2 \end{bmatrix}.

Evaluation at 11 on P1\mathcal{P}_1 is ev⁡1=γ1+γ2\operatorname{ev}_1 = \gamma_1 + \gamma_2, with coefficient column (1,1)(1, 1), and AT(1,1)=(0,1,2)A^{\mathsf{T}}(1, 1) = (0, 1, 2). So D∨(ev⁡1)=β2+2β3D^{\vee}(\operatorname{ev}_1) = \beta_2 + 2\beta_3, which reads b+2cb + 2c on a+bt+ct2a + bt + ct^2, as found directly in the dual map example. For a complex case, let T(z)=AzT(z) = Az on C2\mathbb{C}^2, where AA has first row [i1]\begin{bmatrix} i & 1 \end{bmatrix} and second row [01]\begin{bmatrix} 0 & 1 \end{bmatrix}, and let ℓ(w)=w1\ell(w) = w_1. The pullback reads ℓ(Az)=iz1+z2\ell(Az) = iz_1 + z_2, with coefficient column (i,1)=AT(1,0)(i, 1) = A^{\mathsf{T}}(1, 0). The conjugate transpose would give A∗(1,0)=(−i,1)A^{*}(1, 0) = (-i, 1), which reads −i-i at z=(1,0)z = (1, 0), while the true reading there is ii.

Covector coordinate change

Definition Let VV be a vector space over F\mathbb{F} of finite dimension nn with ordered bases B\mathcal{B} and C\mathcal{C}, and let P=PC←BP = P_{\mathcal{C} \leftarrow \mathcal{B}}, so that [v]C=P[v]B[v]_{\mathcal{C}} = P[v]_{\mathcal{B}} for every v∈Vv \in V. If ℓ∈V∨\ell \in V^{\vee} has evaluation rows rBr_{\mathcal{B}} and rCr_{\mathcal{C}}, then

rC=rB P−1,[ℓ]C∨=(P−1)T [ℓ]B∨.\begin{gathered} r_{\mathcal{C}} = r_{\mathcal{B}}\, P^{-1}, \\[0.4em] [\ell]_{\mathcal{C}^{\vee}} = (P^{-1})^{\mathsf{T}}\, [\ell]_{\mathcal{B}^{\vee}}. \end{gathered}

To derive the row law, use that the reading ℓ(v)\ell(v) does not depend on the basis. For every vv,

rC[v]C=rB[v]B=rBP−1[v]C.r_{\mathcal{C}}[v]_{\mathcal{C}} = r_{\mathcal{B}}[v]_{\mathcal{B}} = r_{\mathcal{B}} P^{-1} [v]_{\mathcal{C}}.

As vv runs over VV, the column [v]C[v]_{\mathcal{C}} runs over all of Fn\mathbb{F}^n, and a row is determined by its products with all columns, so rC=rBP−1r_{\mathcal{C}} = r_{\mathcal{B}}P^{-1}. Transposing gives the law for coefficient columns in the dual bases.

In plain words The vector and the covector stay fixed, and only their coordinates change. Vector coordinates change by PP, so the evaluation row of a covector must be multiplied on the right by P−1P^{-1} for the reading to stay the same. If the coefficient column cc of a covector and the coordinate column xx of a vector were both multiplied by PP, the reading cTxc^{\mathsf{T}}x would become cTPTPxc^{\mathsf{T}}P^{\mathsf{T}}Px, which matches for every pair only when PTP=IP^{\mathsf{T}}P = I.

Example In R2\mathbb{R}^2 let B\mathcal{B} be the standard basis and C=((1,0),(1,1))\mathcal{C} = ((1, 0), (1, 1)). Writing (x,y)=x′(1,0)+y′(1,1)(x, y) = x'(1, 0) + y'(1, 1) gives y′=yy' = y and x′=x−yx' = x - y, so

P=[1−101],P−1=[1101].P = \begin{bmatrix} 1 & -1 \\ 0 & 1 \end{bmatrix}, \qquad P^{-1} = \begin{bmatrix} 1 & 1 \\ 0 & 1 \end{bmatrix}.

For ℓ(x,y)=2x−y\ell(x, y) = 2x - y, the row rB=[2−1]r_{\mathcal{B}} = \begin{bmatrix} 2 & -1 \end{bmatrix} becomes rC=rBP−1=[21]r_{\mathcal{C}} = r_{\mathcal{B}}P^{-1} = \begin{bmatrix} 2 & 1 \end{bmatrix}, which matches the direct readings ℓ(1,0)=2\ell(1, 0) = 2 and ℓ(1,1)=1\ell(1, 1) = 1. The vector v=(3,2)v = (3, 2) has [v]C=P(3,2)=(1,2)[v]_{\mathcal{C}} = P(3, 2) = (1, 2), and the new row reads 2⋅1+1⋅2=4=ℓ(3,2)2 \cdot 1 + 1 \cdot 2 = 4 = \ell(3, 2). The wrong law rBP=[2−3]r_{\mathcal{B}}P = \begin{bmatrix} 2 & -3 \end{bmatrix} would read 2−6=−42 - 6 = -4.

Check yourself

  1. Let T ⁣:R2→R3T \colon \mathbb{R}^2 \to \mathbb{R}^3 act by the matrix below, and let ℓ(u)=u1−u2+2u3\ell(u) = u_1 - u_2 + 2u_3. Find T∨(ℓ)T^{\vee}(\ell) as a formula in (x,y)(x, y) and check it at v=(2,1)v = (2, 1).
A=[1120−11]A = \begin{bmatrix} 1 & 1 \\ 2 & 0 \\ -1 & 1 \end{bmatrix}
Show the answer

The row of ℓ\ell is r=[1−12]r = \begin{bmatrix} 1 & -1 & 2 \end{bmatrix}, and

rA=[1−2−21+0+2]=[−33],\begin{aligned} rA &= \begin{bmatrix} 1 - 2 - 2 & 1 + 0 + 2 \end{bmatrix} \\[0.4em] &= \begin{bmatrix} -3 & 3 \end{bmatrix}, \end{aligned}

so T∨(ℓ)(x,y)=−3x+3yT^{\vee}(\ell)(x, y) = -3x + 3y. At v=(2,1)v = (2, 1) the forward route gives Av=(3,4,−1)Av = (3, 4, -1) and ℓ(Av)=3−4−2=−3\ell(Av) = 3 - 4 - 2 = -3. The pullback gives −6+3=−3-6 + 3 = -3, the same reading.

  1. Maps TT and SS on R2\mathbb{R}^2 act by the matrices AA and BB below, and vectors pass through TT first and then SS. An output sensor on the final space has row r=[13]r = \begin{bmatrix} 1 & 3 \end{bmatrix}. A student computes the input row as rABrAB. Find the correct row and show with v=(1,1)v = (1, 1) that the student’s row gives the wrong reading.
A=[1201],B=[0110]A = \begin{bmatrix} 1 & 2 \\ 0 & 1 \end{bmatrix}, \qquad B = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}
Show the answer

The sensor is pulled back through SS first, so the correct row is (rB)A(rB)A. Here rB=[31]rB = \begin{bmatrix} 3 & 1 \end{bmatrix} and (rB)A=[37](rB)A = \begin{bmatrix} 3 & 7 \end{bmatrix}. Forward, Av=(3,1)Av = (3, 1) and B(3,1)=(1,3)B(3, 1) = (1, 3), which the sensor reads as 1+9=101 + 9 = 10. The correct row gives 3+7=103 + 7 = 10. The student’s row is (rA)B(rA)B, with rA=[15]rA = \begin{bmatrix} 1 & 5 \end{bmatrix} and (rA)B=[51](rA)B = \begin{bmatrix} 5 & 1 \end{bmatrix}, which reads 5+1=65 + 1 = 6. The identity (ST)∨=T∨S∨(ST)^{\vee} = T^{\vee}S^{\vee} is exactly the statement that rBArBA is right.

  1. In R2\mathbb{R}^2 let B\mathcal{B} be the standard basis and C=((2,1),(1,1))\mathcal{C} = ((2, 1), (1, 1)), and let ℓ(x,y)=x+3y\ell(x, y) = x + 3y. Find the row of ℓ\ell in C\mathcal{C} from the change-of-basis matrix P=PC←BP = P_{\mathcal{C} \leftarrow \mathcal{B}}, check it by direct evaluation, and confirm that the pairing with v=(1,2)v = (1, 2) is unchanged. What goes wrong if the row is multiplied by PP instead of P−1P^{-1}?
Show the answer

The basis matrix with columns (2,1)(2, 1) and (1,1)(1, 1) has determinant 11, and P=PC←BP = P_{\mathcal{C} \leftarrow \mathcal{B}} is its inverse,

P=[1−1−12],P−1=[2111].P = \begin{bmatrix} 1 & -1 \\ -1 & 2 \end{bmatrix}, \qquad P^{-1} = \begin{bmatrix} 2 & 1 \\ 1 & 1 \end{bmatrix}.

Then rC=[13]P−1=[54]r_{\mathcal{C}} = \begin{bmatrix} 1 & 3 \end{bmatrix}P^{-1} = \begin{bmatrix} 5 & 4 \end{bmatrix}, and directly ℓ(2,1)=5\ell(2, 1) = 5 and ℓ(1,1)=4\ell(1, 1) = 4. The vector has [v]C=P(1,2)=(−1,3)[v]_{\mathcal{C}} = P(1, 2) = (-1, 3), and indeed −(2,1)+3(1,1)=(1,2)-(2, 1) + 3(1, 1) = (1, 2). The new row reads −5+12=7-5 + 12 = 7, which equals ℓ(1,2)=1+6=7\ell(1, 2) = 1 + 6 = 7. Multiplying by PP instead gives [13]P=[−25]\begin{bmatrix} 1 & 3 \end{bmatrix}P = \begin{bmatrix} -2 & 5 \end{bmatrix}, which reads 2+15=172 + 15 = 17 on (−1,3)(-1, 3), so the measurement would no longer be the same functional.

How this lesson connects

It also uses change-of-basis matrices from a first linear algebra course.