Section 6.3

Orthogonal Matrices

> with(linalg):

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

>

Orthogonal Matrices

An nxn matrix is said to be an orthogonal matrix if its columns form an orthonormal set.

Example 1: Consider the orthonormal basis of R^3

> u1:=vector([3/5,4/5,0]);
u2:=vector([-4/5,3/5,0]);
u3:=vector([0,0,1]);

u1 := vector([3/5, 4/5, 0])

u2 := vector([-4/5, 3/5, 0])

u3 := vector([0, 0, 1])

>

Construct the matrix whose columns are the vectors u[1], u[2], u[3]

> A:=augment(u1,u2,u3);

A := matrix([[3/5, -4/5, 0], [4/5, 3/5, 0], [0, 0, ...

>

The columns of this matrix form an orthonormal set. Thus A is called an

Orthogonal Matrix

Let us study some of its properties :

Take for example the transpose of A

> trA:=transpose(A);

trA := matrix([[3/5, 4/5, 0], [-4/5, 3/5, 0], [0, 0...

>

What is the product of A and A^T ?

> AtrA=multiply(A,trA);

AtrA = matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])

>

What is the determinant of the matrix A?

What is the inverse of the orthogonal matrix A?

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

In general, an orthogonal matrix has the following properties:

1. Its inverse is equal to its transpose, i.e. A^T = A^`-1` and A^T*A = I

2. Its determinant is equal to +1 or -1.

3. The rows of A form an orthonormal basis for R^n

4. The columns of A form an orthonormal basis for R^n

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

Example 2: Preservation of dot products, norms and angles.

> x:=vector([1, -1, 2]);
y:=vector([-2, 1, 3]);

x := vector([1, -1, 2])

y := vector([-2, 1, 3])

Dot product of x and y:

> innerprod(x,y);

3

Dot product of Ax and Ay:

> innerprod(multiply(A,x),multiply(A,y));

3

Norm of x and Ax:

> `||x||`=sqrt(innerprod(x,x));

`||x||` = sqrt(6)

> `||Ax||`=sqrt(innerprod(multiply(A,x),multiply(A,x)));

`||Ax||` = sqrt(6)

Angle between x and y is the same as the angle between Ax and Ay.

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

Eigenvectors of a real symmetric matrix that correspond to different eigenvlaues are orthogonal.

Moreover, every symmetric matrix is diagonalizable, C^`-1`*A*C = D where C can be chosen to

be an orthogonal matrix. Hence, C^T*A*C = D .

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

Example 3: Consider the matrix

>

> A:=matrix([[0,1,1],[1,2,1],[1,1,0]]);

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

>

>

> eigenvals(A);

0, 3, -1

> eigenvects(A);

[0, 1, {vector([1, -1, 1])}], [3, 1, {vector([1, 2,...

Eigenvectors are given as:

> v1 := vector([1,-1,1]);
v2 := vector([1,2,1]);
v3 := vector([-1,0,1]);

v1 := vector([1, -1, 1])

v2 := vector([1, 2, 1])

v3 := vector([-1, 0, 1])

Construct matrix C whose columns are the vectors v[1], v[2], v[3]

> C := augment(v1,v2,v3);

C := matrix([[1, 1, -1], [-1, 2, 0], [1, 1, 1]])

>

Product C^T with C

> multiply(transpose(C),C);

matrix([[3, 0, 0], [0, 6, 0], [0, 0, 2]])

>

>

We want this product to be equal to I. Want is wrong? The columns do not

have length 1.

> C := augment(v1/sqrt(3),v2/sqrt(6),v3/sqrt(2));

C := matrix([[1/3*sqrt(3), 1/6*sqrt(6), -1/2*sqrt(2...

>

> multiply(transpose(C),C);

matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])

>

Product C^T*A*C

>

>

>

> multiply(transpose(C),A,C);

matrix([[0, 0, 0], [0, 3, 0], [0, 0, -1]])

>

>

Exercises

1-17 odd.