Instructional materials


Chapter 4.

Eigenvalues and eigenvectors: What do they all mean.

A physical example using Java animation to elucidate the meaning of eigenvalues and eigenvectors.

MATLAB programs:

Using power iteration to compute the dominant eigenvalue and its corresponding eigenvector.

A function using normalized power iteration to compute the dominant eigenvalue and its corresponding eigenvector.

script to use the above function.

A function using inverse iteration to compute the least dominant eigenvalue and its corresponding eigenvector.

script to use the above function.

Using shifted inverse iteration to compute any eigenvalue and its corresponding eigenvector.

A function using power iteration and Rayleigh quotient to compute the dominant eigenvalue and its corresponding eigenvector.

A script to call and run the above function to compute the dominant eigenvalue and its corresponding eigenvector using power iteration and Rayleigh quotient.

A function implementing QR iteration to compute the eigenvalues.

script to compute the eigenvalues of a matrix using QR iteration.


Chapter 6.

Genetic Algorithms Basics

An introduction to conventional genetic algorithms.

An excerpt from Carl Sagan's "Cosmos".

Picture of a Heike crab that was referred to in Carl Sagan's "Cosmos".

Japanese paintings depicting the sea battle at Danno-ura in the Japanese Inland Sea on April 24, 1185.

The Differential Evolution homepage.

Optimization using Storn's Differential Evolution algorithm.

MATLAB programs:

Script to use the Golden Section method to find the minimum of a function in one-dimension. Script is written specially for example 6.8 in the textbook.

A function to compute the value of the function used in example 6.8 in the above script.

A function using the Golden Section method to find the minimum of a function in one-dimension.

A function using the steepest descent method for multi-parameter optimization. Line search using the Armijo method is implemented.

A function to compute the Rosenbrock function (needed for the steepest descent method).

A function to compute the gradient of the Rosenbrock function (needed for the steepest descent method).

An implementation of a version of Storn's Differential Evolution algorithm.

Script file to run the above Differential Evolution program.

The Griewangk function used in the above script.

Script file to plot the Griewangk function in one-dimension.


Chapter 12 - Application of Finite Fourier Transform.

A chapter from Prof. Cleve Moler's book: "Numerical Computing with Matlab" - using the FFT to study the Dual Tone Multi-Frequency system used in touch-tone phones, and to study sun-spots activities for the past 300 years.

You can use the program to explore the use of the FFT to study the Dual Tone Multi-Frequency system. This program needs to read in data from the following binary file. Please save this file in the same directory as the above Matlab program.

The Matlab GUI program allows you to explore various aspects of the DFT.

A Matlab program showing some of Matlab's sound processing capabilities.

To run the above program, you will need the Matlab program as well as the following 2 sound data files: fh.wav whistle.wav.


Use of Singular Decomposition to Image Compression

A Matlab program illustrating the use singular decomposition to images. A low-rank approximation is used for image compression.


Introduction to Steganography

Introduction to Steganography. Illustrate how images can be embedded in the least-significant bits of seemingly harmless image.

A Matlab program for the above example.


Application of Matrices over Finite Fields to Cryptography: Hill Cipher.

Illustration of matrices defined over a finite field, handling of character set and strings using the "Hill Cipher".

A Matlab function implementing the above example.

A Matlab function utilizing the above function to encrypt the text in a given text file.


Analysis of a Predominantly Vowel-Following-Consonant Language using Singular Decomposition

A method using the singular decomposition to determine the vowels and consonants of encrypted text written in a predominantly vowel-following-consonant language. The notes were prepared by two students at the University of Redlands.

This program implements the above procedure to analyze Lincoln's famous Gettysburg address.


Google's PageRank Procedure.

Here we discuss Google's PageRank procedure.

This program computes the pageranks of an example used in the lecture.

This program from C. Moler uses the URLs and adjacency matrix produced by surfer.m, to compute and plot a bar graph of page rank, and print the dominant URLs in page rank order. The surfer program create the adjacency graph of a portion of the Web starting from a specified URL root and follows Web links until it forms an adjacency graph with a specified number of nodes.

This program, from Moler, computes the pageranks of 500 web pages under the web page of Harvard University.


Application of QR and SVD to Information Retrieval.

"Matrices, Vector Spaces, and Information Retrieval" by M. W. Berry, Z. Drmac, and E. R. Jessup, SIAM Review, 335-362 (1999).

Lecture notes on Vector Space in Information Retrieval based on the above article.

Program used to illustrate the vector space approach to information retrieval.

Program using QR factorization to improve information retrieval.

Program using singular decomposition to improve information retrieval.


Sparse Matrices

Lecture notes on the use of sparse matrices in Matlab.

Matlab program illustrating the use of sparse matrices.

An example to study the Bucky balls.


Lecture notes from Prof. Michael T. Heath