Section 2.3

Linear Transformations of Euclidean Spaces

> read(`C:\\classes\\2002-2003\\spring\\math215\\Lectures\\LAprocs.map`);

Warning, the protected names norm and trace have been redefined and unprotected

Warning, the name changecoords has been redefined

Warning, the name arrow has been redefined

>

Review of functions

A function f: X -> Y is a rule that associates with each x in the set X an element y = f(x) in Y. We

say f maps the set X into the set Y.

- X is the domain of f(x)

- Y is the codomain of f(x)

- f(X) is the range of f(x)

If H is a subset of X then the image of H under f is f(H).

If K is a subset of Y then the inverse image of K under f is f^`-1` (K)

[Maple OLE 2.0 Object] [Maple OLE 2.0 Object]

What is a Linear Transformation?

********************************************************************

A linear transformation , T, is a mapping from a vector space V into a vector space W
satisfying two conditions:

. ( T preserves addition): for any v[1] and v[2] in V

T(v[1]+v[2]) = T(v[1])+T(v[2])

. ( T preserves scalar multiplication): for any v in V and any scalar k:

T(k*v) = k*T(v)

********************************************************************

[Maple OLE 2.0 Object]

Examples of Linear Transformations

Example 1: Consider the mapping from R^2 into R^2

> T :=(x,y)->(y,x);

T := proc (x, y) options operator, arrow; y, x end ...

>

Does T preserve addition? That is, is T(v + u) = T(v) + T(u) for any two vectors v and u in R^2 ?

Take any two vectors in R^2 :

> v:=vector([a,b]); u:=vector([c,d]);

v := vector([a, b])

u := vector([c, d])

>

Compute the action of T on v + u

> `T(v + u)`=[T(a+c,b+d)];

`T(v + u)` = [b+d, a+c]

and the sum T(v) + T(u)

> `T(v)`=[T(a,b)];`T(u)`:=[T(c,d)];

`T(v)` = [b, a]

`T(u)` := [d, c]

> `T(v)+T(u)`= evalm(vector([T(a,b)])+ vector([T(c,d)]));

`T(v)+T(u)` = vector([b+d, a+c])

>

Is T(v + u) = T(v) + T(u)?

Does T preserve scalar multiplication? If k is any real scalar

> w:=evalm(k*v);

w := vector([k*a, k*b])

>

compare the action of T on k*v, that is T( k*v ) to k*T(v) :

> `T(kv)`=[T(k*a,k*b)];
`kT(v)`=evalm(k*[T(a,b)]);

`T(kv)` = [k*b, k*a]

`kT(v)` = vector([k*b, k*a])

>

Is T( k*v ) = k*T(v) ?

This example shows that the transformation T preserves addition and scalar multiplication.
T is a "
linear transformation ".

Example 2: Consider the mapping T from R^3 to R^2 given by

> T :=(x,y,z)->(x-y,y-z);

T := proc (x, y, z) options operator, arrow; x-y, y...

>

Does T preserve addition? That is, is T(v + u) = T(v) + T(u) for any two vectors u and v in R^3 ?

Take any two vectors in R^3

> v:=vector([a1,a2,a3]); u:=vector([b1,b2,b3]);

v := vector([a1, a2, a3])

u := vector([b1, b2, b3])

>

Compare the action of T on v + u to the sum of T(v) and T(u):

> `T(v+u)`=[T(a1+b1,a2+b2,a3+b3)];

`T(v+u)` = [a1+b1-a2-b2, a2+b2-a3-b3]

> `T(v)`=[T(a1,a2,a3)];
`T(u)`=[T(b1,b2,b3)];

`T(v)` = [a1-a2, a2-a3]

[d, c] = [b1-b2, b2-b3]

Compute

> `T(v)+T(u)`= evalm(vector([T(a1,a2,a3)])+ vector([T(b1,b2,b3)]));

`T(v)+T(u)` = vector([a1+b1-a2-b2, a2+b2-a3-b3])

Is T(v + u) = T(v) + T(u)?

Does the transformation T preserve scalar multiplication? For any scalar k

> w:=evalm(k*v);

w := vector([k*a1, k*a2, k*a3])

>

Compare the action of T on k*v , that is T( k*v ) to k*T(v) :

> `T(kv)`=[T(k*a1,k*a2,k*a3)];
`kT(v)`=evalm(k*[T(a1,a2,a3)]);

`T(kv)` = [k*a1-k*a2, k*a2-k*a3]

`kT(v)` = vector([k*(a1-a2), k*(a2-a3)])

>

Is T( k*v ) = k*T(v) ?

Example 3: Does matrix multiplication define a linear transformation?

Choose a matrix and an appropriate vector

> A:=matrix([[1,3],[-2,3]]);
X:=matrix([[x],[y]]);

A := matrix([[1, 3], [-2, 3]])

X := matrix([[x], [y]])

>

Define T : R^2 ---> R^2 in terms of the matrix multiplication of A and X

> T:=X->multiply(A,X);

T := proc (X) options operator, arrow; multiply(A,X...

> `T(X)` =T(X);

`T(X)` = matrix([[x+3*y], [-2*x+3*y]])

>

Choose any two vectors v and u in R^2

> v:=matrix([[a],[b]]);u:=matrix([[c],[d]]);

v := matrix([[a], [b]])

u := matrix([[c], [d]])

>

A. Determine the action of T on v + u and compare it to T(v) + T(u)

> `T(v) + T(u)`=evalm(T(v)+T(u));
`T(v + u )`=T(v+u);

`T(v) + T(u)` = matrix([[a+3*b+c+3*d], [-2*a+3*b-2*...

`T(v + u )` = matrix([[a+3*b+c+3*d], [-2*a+3*b-2*c+...

>

Does T preserve addition?

B. Does T preserve scalar multiplication?

> `kT(v)`=evalm(k*T(v));
`T(kv)`=T(evalm(k*v));

`kT(v)` = matrix([[k*(a+3*b)], [k*(-2*a+3*b)]])

`T(kv)` = matrix([[k*a+3*k*b], [-2*k*a+3*k*b]])

>

Therefore, matrix multiplication is an example of a linear transformation.

Let us consider another type of transformations

Example 4: Consider a transformation T on R^2

> T :=(x,y)->(x-y,y^2);

T := proc (x, y) options operator, arrow; x-y, y^2 ...

>

Does T preserve the operations of addition and scalar multiplication?

Take any two vectors in R^2

> v:=vector([a,b]); u:=vector([c,d]);

v := vector([a, b])

u := vector([c, d])

>

Is T(v + u) = T(v) + T(u)?

> `T(v+u)`=[T(a+c,b+d)];

`T(v+u)` = [a+c-b-d, (b+d)^2]

> `T(v)+T(u)`= evalm(vector([T(a,b)])+vector([T(c,d)]));

`T(v)+T(u)` = vector([a+c-b-d, b^2+d^2])

>

Compare T(v + u) and T(v) + T(u). Are they equal?

Matrix Representation of a Linear Transformation

************************************************************

Let T : R^n -> R^m be a linear tranformation, and let B = { b[1] , b[2] , . . ., b[n] } be a

basis for R^n . For any vector v in R^n , the vector T(v) is uniquely determined

by the vectors T( b[1] ), T( b[2] ), . . ., T( b[n] ).

*************************************************************

************************************************************

Let T : R^n -> R^m be a linear tranformation, and let A be an m x n matrix whose

jth column vector is T( e[j] ), which we denote as,

A = [ T( e[1] ) T( e[2] ) . . . T( e[n] ) ]

Then T(x) = Ax for each column vector x in R^n . A is the standard matrix representation.

**************************************************************

Example 1 (Revisited): Consider the mapping from R^2 into R^2

> T :=(x,y)->(y,x);

T := proc (x, y) options operator, arrow; y, x end ...

>

> a1 := T(1,0); a2:=T(0,1);

a1 := 0, 1

a2 := 1, 0

>

> A := transpose(matrix(2,2,[a1,a2]));

A := matrix([[0, 1], [1, 0]])

> evalm(A)*matrix(2,1,[x,y]) = evalm(A&*matrix(2,1,[x,y]));

matrix([[0, 1], [1, 0]])*matrix([[x], [y]]) = matri...

>

Example 2 (Revisited): Consider the mapping T from R^3 to R^2 given by

> T :=(x,y,z)->(x-y,y-z);

T := proc (x, y, z) options operator, arrow; x-y, y...

>

> a1 := T(1,0,0); a2:=T(0,1,0); a3:=T(0,0,1);

a1 := 1, 0

a2 := -1, 1

a3 := 0, -1

>

> A := transpose(matrix(3,2,[a1,a2,a3]));

A := matrix([[1, -1, 0], [0, 1, -1]])

>

Properties of Linear Transformations

*****************************************************

Let T: R^n -> R^m be a linear transformation with a standard matrix representation A.

The kernal of T, denoted ker(T) is the set of all solutions to T(x) = 0. Note this is the

same as computing all solutions to Ax = 0. Hence, the kernal of T is the null space of A.

The range of T is the column space of A.

The dim(range(T)) called the rank of T is the dimension of the column space of A.

The dim(ker(T)) called the nullity of T is the dimension of the null space of A.

A linear transformation is invertible if and only if its associated matrix is invertible.

****************************************************************

Visualizing Linear Transformations

Car parked in the garage.

>

> plotcar();

[Maple Plot]

>

We can use a linear transformations to rotate our car 90 degrees.

We start with a matrix that rotates objects by 90 degrees in the y-z plane (that is, around the x-axis). Such a transformation should send e1 to e1, e2 to e3, and e3 to -e2. We designate the matrix rot1.



> rot1:= matrix(3,3,[[1,0,0],[0,0,-1],[0,1,0]]);

rot1 := matrix([[1, 0, 0], [0, 0, -1], [0, 1, 0]])

> plotcar2(rot1);

[Maple Plot]

>

Exercises

1, 2, 3, 5, 7, 9, 10, 11, 13, 14, 21, 23, 25.