Você está na página 1de 66

INSTRUCTORS GUIDE

for VISUAL LINEAR ALGEBRA

by Eugene A. Herman and Michael D. Pepe

CONTENTS

Appendix C: Advice for Using Maple with

Visual Linear Algebra 45

Appendix E: Advice for Using Mathematica with

Visual Linear Algebra 54

Appendix F: Commands Used in Mathematica Tutorials 57

Part One Modes of Use 1

This guide contains the following three main parts.

Part One: Modes of Use We describe three teaching modes in which Visual Linear
Algebra can be used lecture mode, lab mode, and a mixed mode of lectures and labs.

Part Two: Introducing Technology into Your Course Integrating technology into
a course can bring substantial benefits, but it requires careful planning and extra effort the
first time through the materials. In this part, you will find practical checklists of steps you
can take to prepare yourself and your students to use technology successfully in your course.

Part Three: Teaching Notes by Section We describe the content and goals of each
section, suggest teaching strategies for the section, and offer sample assignments.

Part One: Modes of Use

Visual Linear Algebra can be used in either a traditional lecture course or in a computer lab
environment. The source of this flexibility is the student-oriented design of the tutorials,
which allows students to work on them independently. Below we describe three teaching
modes in which Visual Linear Algebra can be used lecture mode, lab mode, and a mixed
mode of lectures and labs. Which one is best for you may depend on the computing resources
available in your classroom, the computing resources available to your students outside of
class, and your own pedagogical preferences.

Lecture Mode In this mode, class time is devoted to lectures and class discussions, and
students work on the tutorials outside of class. Ideally, your lecture room has a computer
and projector display available so you can use the tutorials for classroom demonstrations
and discussions. This mode works best when your lectures incorporate topics that students
have already experienced for themselves in working through the tutorials. For example, you
can use a class session to solve a few of the Maple/Mathematica problems from a tutorial
that your students have already worked through. Many of these problems work well as part
of a lecture/demonstration with substantial student participation.

When using lecture mode, you might not want to require your students to work through a
very large number of tutorials outside of class. In that case, you can treat some tutorials
as traditional sections that students simply read from the printed textbook and that you
lecture on. (In deciding which tutorials to treat this way, see Appendix B: Options for
Using Visual Linear Algebra.) However, you will want to lecture only sparingly on the
tutorials that your students do work through outside of class. The tutorials are designed
for independent study, and you will want to encourage your students to use them in that
way.
2 Instructors Guide

Finally, we recommend that, during the first week or two, a few class sessions be held in
a computer lab so that students can work on the first few tutorials with you present to
answer questions. If this is not possible, then having a teaching assistant available during
designated open labs times is a reasonable alternative. Once students have worked through
a few tutorials, their need for outside assistance decreases considerably.

Lab Mode In this mode, you will lecture much less and interact with your students much
more. Your students come to class to work on the tutorials, and your role becomes that
of a roving mentor who engages in brief discussions with individual students and small
groups of students on the materials they are working through. Of course, in this mode
your classroom or lab must have sufficiently many computers for your students. However,
we have found that one computer for every two students can work well, and we encourage
students to work in teams of two. In fact, the tutorials are designed to support a course
that emphasizes collaborative learning. While these class periods are less structured than a
traditional lecture, the level of energy and active student learning can be quite impressive.

Finally, we recommend that you include occasional lectures or discussions to bring out the
big picture, to make connections between seemingly unrelated topics, and to reinforce topics
that your students find most difficult.

Mixed Mode Lectures and Labs An intermediate approach is one that divides the
weeks class meetings between lecture/discussions and supervised student labs. For example,
if you meet with your class five times a week, you may want to lecture two days and have
labs scheduled for the other three days. If you meet with your class three times per week,
you may want to have one lecture and two lab sessions. The ratio of lectures to labs will
vary with instructors and may very well change for an instructor depending on the type of
material being covered. In any case, keep in mind that the tutorials cover the core topics
thoroughly. Thus, in your lectures you can focus on synthesizing the material and resolving
students difficulties.
Part Two Introducing Technology into Your Course 3

Part Two: Introducing Technology into Your Course

This part of the guide contains the following sections:
Before the Course Starts
The First Day in the Lab
The First Week
Further Teaching Suggestions

Before the Course Starts

Setting up hardware and software To use the tutorials, you must have Maple 7 or
later or Mathematica 4.0 or later. Maple and Mathematica run on all the major platforms
Windows, Macintosh, and Unix/Linux. The VLA (i.e., Visual Linear Algebra) tutorials
run wherever Maple and Mathematica do. You must also have the VLA library, which is
on the VLA CD along with the VLA tutorials. The VLA library contains linear algebra
and graphics procedures that supplement the ones provided by Maple/Mathematica; they
are used extensively in the tutorials.

Checklist:

Check that Maple/Mathematica is properly installed and functioning in your computer

lab.

Install the files from the VLA CD in your computer lab or local network. See the
installation instructions on the CD and repeated in Appendix A. (You are permitted
to install these files on a network server, provided Visual Linear Algebra is a required
textbook for your course.)

Check that the VLA tutorials are working correctly by executing one of them. A good
test tutorial is Section 2.4, as it has both graphics and computations.

Check the printers in your computer lab by printing a portion of the above tutorial,
especially a portion that contains some graphics.

Check your classroom display equipment by performing a test demonstration of the

above tutorial.

Decide whether you will have students save their work on the network or on portable
file storage media. If they will be saving files on the network, you may need to have
accounts set up for them.

Decide whether you will have students turn in their work in printed form or electron-
ically. If they are to turn in printed work, check that they have access to the printers
you tested.
4 Instructors Guide

If students will be working on the tutorials at locations other than your computer
lab, check that they have access to Maple/Mathematica and the tutorials at these
locations and that they have a way to save and turn in their work.

Becoming familiar with the software You will want to be sufficiently familiar with
Maple/Mathematica and the VLA tutorials so that you will be prepared to help your stu-
dents with many of their questions about the software. Although most students find the
tutorials easy to use and the Maple/Mathematica commands we employ easy to master,
some may initially be anxious about their ability to use the computer. If you can readily
answer their technical questions as they work through the first few tutorials, you will ease
their fears and gain their confidence.

Checklist:
If you are not familiar with Maple/Mathematica, practice using it. A good resource
for Maple are the Maple Essentials tutorials, which can be freely downloaded from
the Waterloo Maple website, www.maplesoft.com.

Work through several VLA tutorials as a student might; that is, work through the
examples and exercises. We recommend the first two tutorials of Chapter 1 and the
first two tutorials of Chapter 2.

Familiarize yourself with the most frequently used commands in Appendix D, Com-
mands Used in Maple Tutorials, or Appendix F, Commands Used in Mathematica
Tutorials.

Familiarize yourself with Appendix C, Advice for Using Maple with Visual Linear
Algebra, or Appendix E, Advice for Using Mathematica with Visual Linear Algebra.
These appendices provide hints on using Maple/Mathematica and lists the most com-
mon student mistakes in using these packages. Try out the hints and attempt to
reproduce the mistakes.

Write out the solutions to some Maple/Mathematica Problems, incorporating as much

detail as you would expect of your students. Check that you can easily save your work
and print your solutions, using the same steps that your students will use.

Deciding how you will use technology Here is a list of questions to consider when you
are getting ready to teach the course.

What kind of computer equipment is available in the classroom that you will teach
the course in? Will you be able to demonstrate a tutorial by working through it in the
classroom? Will the classroom also have computers available for students to use? If
Part Two Introducing Technology into Your Course 5

so, what portion of class time will be devoted to lecture and what portion to student
work on tutorials?

If you will not be teaching in a classroom that has computers available for students,
where and when do you envision your students doing the bulk of their work on the
tutorials? During scheduled lab hours in a campus computer lab? On personal com-
puters in dorms or at home in the evenings? Will all students have adequate access
to computers outside of class?

How will you introduce Maple/Mathematica to your students? Will you simply let
them learn Maple/Mathematica by working through the tutorials, or will you arrange
for them to have training sessions in Maple/Mathematica? (Both methods have been
used successfully; use what works best for you and your students.)

How will you introduce each tutorial? Simply have the students dive right in? Urge
them to read part of the printed version (say, the first subsection) in advance? Begin
the lab by giving a brief overall description of the tutorial and some key ideas for
them to look for? Give a brief demonstration of the beginning of the tutorial and then
comment briefly on what will follow? (All these methods have been used successfully;
use what works best for you and your students.)

Will you have students work alone or in teams of two to a machine, or will you give
each student a choice between working alone or in a team? If they work together
on the tutorials, may they also work together on the Maple/Mathematica Problems?
If so, do they turn in one homework set for the group? (Working in teams on the
tutorials can provide a good learning environment.)

Students may want to know your policies regarding acceptable uses of Maple/Mathe-
matica. May they use Maple/Mathematica on all of their homework? May they use
it on exams?

The First Day in the Computer Classroom or Lab

There is quite a lot of information you need to communicate to your students on the first
day that they are in the computer lab. Below we list the practical information that you
might communicate, some of which you might put in a handout, some you might convey
orally, and some you might demonstrate.

First, however, we point out two issues of concern to students that you might address.
Students who are not accustomed to using technology in mathematics courses often want to
know why we are using this approach. In response, we particularly emphasize our belief that
they will learn linear algebra better this way and be better able to use what they learn. For
more details, we suggest they read the preface to our book. We might also point out that
experience in using Maple/Mathematica will be valuable in other courses and perhaps later
6 Instructors Guide

in their careers. We always mention that the advent of the computer radically transformed
linear algebra into the extraordinarily useful subject it is today and that those who use
linear algebra in real-world applications cannot do their work without the computer. This
is surprising to students, many of whom find it an important justification of our approach.
In this context, we might mention an application or two, being careful to select ones that
make sense to students and in which they can see that the computer is essential for the
computation or the graphic output.

Some students are concerned that working through the VLA tutorials will place burden-
some demands on them. In response, we assure them that no special computing expertise is
expected of them; that they will pick up what they need to know about Maple/Mathematica
fairly quickly; that the tutorials have been designed to be easy to use and have been thor-
oughly class tested; that the tutorials make linear algebra easier, not harder, to learn; and
that the tutorials address core material (as opposed to being enrichment labs) and thus do
not represent an added burden. To allay some of their concerns, at the beginning of the
first lab we sometimes pair up each less experienced computer user with a more experienced
one. For example, we might ask all those in the class who have used Maple/Mathematica
before or who feel comfortable learning new software packages to raise their hands; we then
ask the other students to immediately adopt one of these experts as their partner for the
first lab. (These partnerships need not be retained after the first lab.)

What to communicate:
How to quickly get better at using Maple/Mathematica.
Where to find the tutorials on the campus network.
When opening a Maple tutorial, immediately execute the initial commands:
restart: with(LinearAlgebra): with(plots): with(VLA):
UseHardwareFloats := false: Digits := 6:
When opening a Mathematica tutorial, immediately execute the initial commands:
Quit[ ]
Needs[VisualLA]
How to save your work. (Do students need to bring a diskette?)
Which Maple/Mathematica Problems are to be turned in and in what form. Use the
special problem files.
Experiment freely when working through the tutorials. For example, change the
numbers in some of the commands and insert additional commands. The tutorials are
designed to allow you to easily explore your what if questions.
In the Visual Linear Algebra book, read To the Student, which contains many
helpful hints to students.
Part Two Introducing Technology into Your Course 7

The First Week

By design, the first section of Visual Linear Algebra makes no use of technology. In Section
1.1, Solving Linear Systems, students are introduced to the language of linear systems and
the usual techniques for solving them by hand. However, we designed this section to be
highly interactive, so that students get lots of practice solving linear systems by hand and
are introduced to the student-centered style they will experience in the tutorials. Once they
have this solid foundation to build on, they are ready for their first tutorial, Section 1.2,
Geometric Perspectives on Linear Systems. Since that is their first tutorial, you may want
to demonstrate how you expect them to work through a tutorial. Spending a little time
modeling how to work through a tutorial can be helpful at this early stage.

You will be especially busy in the initial labs, helping students gradually get accustomed to
your computer network, Maple/Mathematica, and the VLA tutorials. Try to answer their
questions early and be supportive, so they do not become frustrated. As you circulate about
the lab, observe their work; when you see them working inefficiently or making too many
technical mistakes, provide helpful hints that make them more productive. If you see many
such mistakes and inefficient strategies, consider giving a short class demonstration of better
techniques. Some of the techniques you might emphasize are: How to copy, paste, and edit
commands; how to use online help, which includes help on the VLA commands; and how to
avoid or recover from the common errors described in Appendices C and E. Reassure your
students that their work will go much more smoothly as they gain experience. (It will!)

As you observe your students working through these early tutorials, watch for the following
unwise but common student behavior that they may have used with some success in earlier
mathematics classes. Some students may skim the reading and try the Maple/Mathematica
Problems without working through the tutorial in detail; they may even look for template
examples that they can imitate. They will soon discover, however, that these shortcuts do
not work with the VLA tutorials; students can only solve the Maple/Mathematica Problems
after they have worked through the tutorial thoughtfully. You can save them from learning
this the hard way by urging them to work through the tutorial in detail and explaining why.

Some students will finish the tutorial early and some late. Be flexible in allowing students
to work at their own pace, but keep to weekly deadlines so the class stays roughly together.
Students who finish early can be encouraged to start working on the Maple/Mathematica
Problems. Students who finish late may need more assistance in the lab to help them learn
to work more productively. Also, you can offer them individual help during office hours.

Either you or a course assistant should be available to help students outside of the scheduled
lab time, especially in the first week. Students who are more anxious or who work more
slowly will appreciate your effort to provide extra assistance during their first exposure to
this unfamiliar approach.
8 Instructors Guide

What to communicate:

How to print your solutions.

Report any technical difficulties you encounter while using the tutorials, so these can
be cleared up quickly.

Further Teaching Suggestions

While the tutorials and their accompanying Maple/Mathematica Problems are a central
part of Visual Linear Algebra, we recognize that different instructors will use them in
different ways depending on their needs and circumstances. Hare some suggestions you
may find useful. When deciding on a homework assignment for a tutorial section, attempt
to balance the Pencil and Paper Problems and the Maple/Mathematica Problems that
you assign. Alternatively, you might assign the tutorial but only a small number of the
Maple/Mathematica Problems. In that case, you might divide the class into groups and
assign each group a different set of Maple/Mathematica Problems. This can be followed
up by student presentations of some of their solutions, so the entire class gets some benefit
from all the Maple/Mathematica Problems you assigned.

Keep to a steady pace in the course while allowing some flexibility. Since the tutorials are
designed to let students work at their own pace, some flexibility is advisable. However, since
students do not always judge their pace wisely, keep to regular deadlines, such as listing all
the work that must be completed each week. Monitor students pace, so you know when to
suggest to a student that he or she needs to catch up.

Students can benefit from the instructors guidance in seeing the big picture. Set aside
times for occasional lectures or class discussions in which you summarize the main ideas,
connect recent concepts and methods with earlier ones, reinforce material that students
found difficult, and describe briefly where the course is headed next.

If students are working exclusively on tutorials in any week, one can normally expect them
to complete two tutorials in that week. The number of Maple/Mathematica Problems that
you can reasonably assign in a week depends on the students ability and workload, but
between 10 and 15 is the likely range.

Grading the Maple/Mathematica Problems can be time consuming, but there are ways to
do it more efficiently. A student grader can do a good job with the help of our complete set
of solutions. If you use a student grader, you might grade one or two of the more theoretical
Part Two Introducing Technology into Your Course 9

problems yourself. If many students have difficulty with a particular problem, you might
distribute a copy of the solution to your class, or you might go over the problem at the next
class meeting.

On your exams, you may want to include some questions that allow students to use
Maple/Mathematica and that test them on the material in the tutorials. Here are some for-
mats that have been used successfully. (1) Put the computer-based questions on a take-home
exam, and confine the in-class exam to questions that do not require Maple/Mathematica.
(2) Give a two-part in-class exam, in which one part requires the computer and the other
does not. If you do not have enough computers for every student, half the class can work
on one part while the other half works on the other part; then midway through the exam
period, the students can switch. (3) If you have enough computers for every student, you
can give an exam with a mixture of computer-based questions and ones that do not require
the computer. However, if you have in mind that students should use Maple/Mathematica
on some questions and should not on others, do indicate which these are.
10 Instructors Guide

Part Three: Teaching Notes by Section

For each section, we provide the following categories of information.

Main Topics: We list the main topics covered in the section.

Pedagogy: We describe our goals for the section and suggest teaching strategies that have
proved helpful in reaching these goals.

Pencil and Paper Problems: We offer a typical assignment of Pencil and Paper Problems
for the section and single out any problems that have proved to be particularly instructive
or especially difficult.

For tutorial sections, we provide the following additional categories:

Time Estimate for Tutorial: We give an estimate of the amount of time that an average
student is likely to need in order to work through the tutorial conscientiously. Our estimate
does not include the time needed for the Maple/Mathematica Problems.

Maple/Mathematica Problems: We offer a typical assignment of Maple/Mathematica

Problems for the section and single out any problems that have proved to be particularly
instructive or especially difficult.

Technical Notes: We mention any commands or features of Maple or Mathematica that

students may find confusing.

Section 1.1, Solving Linear Systems

Main Topics: This section introduces the language of linear systems and develops the
techniques used in solving them. Gaussian elimination is explained initially for 3 by 3
linear systems. Once the logic of the algorithm has been established, we shift to using row
operations on the augmented matrices of arbitrary linear systems. Although Section 1.1 is
not a computer tutorial, it is written in the form of a pencil and paper tutorial with many
interspersed exercises. Answers to the exercises are on page 15. (No other section in the
textbook is written in this style.)

Pedagogy: Since the material of this section is the foundation for much of what follows in
the text, students need to develop a complete mastery of its content. We believe that this
can only be accomplished by working many examples by hand. We wait until Section 1.3
to introduce computer commands for solving linear systems.
Part Three Teaching Notes by Section 11

Pencil and Paper Problems: We generally assign a large number of problems from this
section to give students the practice they need to master the material. Part of this practice
should develop the ability to quickly draw conclusions about the solution set of a linear
system from an echelon form of its augmented matrix. Problems 16 and 17 are particularly
instructive in that regard.

Section 1.2, Geometric Perspectives on Linear Systems (tutorial)

Main Topics: This section looks at the geometry of linear systems in two and three
unknowns. The emphasis here is on working back and forth between the algebraic repre-
sentation of the system and the corresponding geometry of lines and planes.

Pedagogy: Since this is the first computer tutorial, we have made it easy and, we hope,
engaging. It uses only a few computer commands and these are all graphical. We do not yet
introduce commands for solving linear systems. Thus, students continue to practice solving
linear systems by hand while developing their geometric intuition. Developing that intuition
is crucial to our visual approach; hence this tutorial should not be skipped, even if your
students have studied lines and planes in an earlier course. For such students the tutorial
will be a useful review; for others, it will be a necessary study. Since even experienced
students may have forgotten how to work with parametric equations of a line or normal
vectors to a plane, be prepared to answer review questions.

Pencil and Paper Problems: There are no pencil and paper problems for this section.

Time Estimate for Tutorial: 40 minutes. (Students who are experienced in using
Maple/Mathematica will need less time; students for whom this material is review may
need even less time.)

Maple/Mathematica Problems: Problem 3 may hard for students, especially if they

have not worked with equations of planes before. Problem 6 is easy but is good preparation
for Section 1.4. Problem 7 offers an excellent way to summarize the tutorial, but many
students are not used to giving the careful and complete analysis required.

Sample assignment: 1, 3, 4, 6, 7.

Section 1.3, Solving Linear Systems Using Maple/Mathematica (tutorial)

Main Topics: This section introduces several Maple/Mathematica commands for solving
linear systems.
12 Instructors Guide

Pedagogy: The goal of the section is not merely to introduce these useful commands.
It also reinforces students understanding of the algorithm by giving them experience in
carrying out the procedures without the tedious arithmetic, so they can focus on the overall
strategy and on interpreting the results.

Pencil and Paper Problems: There are no pencil and paper problems for this section.

Time Estimate for Tutorial: 50 minutes. (Students who are experienced in using
Maple/Mathematica may need less time.)

Maple/Mathematica Problems: Problem 7 is fairly challenging. Students may have

difficulty giving good explanations for Problems 6 and 7, especially if they are not used to
such questions.

Sample assignment: 1, 2, 4, 5, 6.

Section 1.4, Curve Fitting and Temperature Distribution (tutorial)

Main Topics: This section provides a sampling of applications that are particularly ac-
cessible and easy for students to appreciate. The applications include curve fitting by a
single polynomial and by a cubic spline, and discretization of a steady-state temperature
distribution in a planar region.

Pedagogy: You might discuss the ubiquity of large linear systems in real-world applications
and mention other examples that your students would appreciate. If time is short, you might
assign only subsection 1.4.1 of the tutorial.

Pencil and Paper Problems: There are no pencil and paper problems for this section.

Maple/Mathematica Problems: Problem 6 is particularly instructive; it requires careful

thinking about the augmented matrix of a linear system and the compatibility condition
for splines. In problems 3 and 4, students enjoy the fact that they get to see plots of their
solutions.

Sample assignment: 1, 3, 5, 6.

Technical Notes: Maple has a powerful Spline command, which you can find in the
Student Workspace for Problem 6.
Part Three Teaching Notes by Section 13

Section 2.1, Geometry of Vectors (tutorial)

Main Topics: This section reviews the geometry of vectors in the plane and in 3-space.
Vector addition, scalar multiplication, translation by vectors, and the vector form of lines
are discussed and illustrated.

Pedagogy: Although your students may have seen this material in an earlier course, we
strongly recommend against skipping this section. Even if they are comfortable with the
algebraic manipulations of vectors, they might not thoroughly understand the corresponding
geometry, which is crucial in all that follows. In particular, the discussions of vector addition
as a translation operation and the vector form of a line will be built upon in later sections.

Pencil and Paper Problems: Many of the problems require students to make sketches
or to work from information presented visually. These are particularly instructive.

Sample assignment: 3, 5, 7, 13, 15, 17.

Time Estimate for Tutorial: 50 minutes. (Students for whom this is review may need
much less time.)

Maple/Mathematica Problems: Problem 3 is particularly instructive because of the

geometric thinking it requires. All the problems ask students to check their work visually,
which students find particularly satisfying.

Sample assignment: 2, 3, 5.

Section 2.2, Linear Combinations of Vectors (tutorial)

Main Topics: This section introduces the concepts of linear combination and span of
a set of vectors in Rn and examines these concepts from both algebraic and geometric
perspectives. Also, the rules of algebra for vectors in R n are introduced.

Pedagogy: It is crucial that students develop a good geometric understanding of linear

combinations and span in working through this section. Having a strong geometric intu-
ition will be important, for example, in their later study of the critical concepts of linear
independence and basis.

The concept of unit span that is introduced in this section is not standard. However, it
seems quite effective in giving students something that is easier to visualize than the entire
span and yet is strongly suggestive of it.
14 Instructors Guide

Pencil and Paper Problems: Problem 10 is the first of several Can You Speak Linear
Algebra exercises in this book. We have found that these exercises can be unusually effec-
tive in helping students learn to use the language of linear algebra precisely and thoughtfully.
Problem 11 is challenging, especially part (d).

Maple/Mathematica Problems: Problem 6 provides a non-geometric application of the

concepts developed in the section; there is a follow-up problem in Section 2.4.

Sample assignment: 1, 2, 3, 4, 6.

Section 2.3, Decomposing the Solution of a Linear System (tutorial)

Main Topics: This section is devoted to the interplay of the algebra of decomposing a
solution set in the form p + Span{v1 , . . . , vk } and the corresponding geometry of the vector
form of lines and planes.

Pedagogy: Although not all textbooks emphasize this geometric interpretation of the
solution set, we have found that it helps students develop important insights. You might
also emphasize the wide range of choices one has in selecting a position vector and a set of
direction vectors for the solution set of a linear system.

Pencil and Paper Problems: Problems 1 through 5 reinforce students geometric un-
derstanding of the concepts developed in this section. Problems 7 and 8 provide practice
using the method of decomposition.

Maple/Mathematica Problems: Problems 5b and 8 are instructive and challenging.

You can help your students succeed with these problems by urging them to visualize the
solution sets in the vector form of lines and planes.

Sample assignment: 1, 4, 5, 6, 8.
Part Three Teaching Notes by Section 15

Section 2.4, Linear Independence of Vectors (tutorial)

Main Topics: This section introduces the fundamental concept of linear independence of
a set of vectors. The concept is introduced geometrically in R 3 first; later in the section,
the complete, algebraic definition is presented for vectors in R n .

Pedagogy: Although students working through this tutorial generally develop a very good
grasp of the definitions of linear independence and dependence, the logic of the definition
is slippery. One way to follow up the tutorial is to assign noncomputational problems in
which students determine linear independence or dependence simply by inspection or by
geometric reasoning. Another way is to give additional elementary proof problems.

Pencil and Paper Problems: Since linear independence is such an important concept,
we recommend assigning a large number of these problems and discussing some in class.

Maple/Mathematica Problems: Problems 8de and 9 are moderately difficult. Problem

8 is valuable in making the concepts concrete.

Sample assignment: 1, 2, 4, 5, 8.

Section 2.5, Theory of Vector Concepts

Main Topics: This section summarizes and reviews the important concepts, definitions,
and methods from the first four sections of the chapter. The second half of the section
contains three theorems on span and linear dependence; these provide good practice using
the definitions and are used in Chapter 5 in the proofs of theorems on basis and dimension.

Pedagogy: This is a good point at which to have a class discussion on the concepts of
Chapter 2 and their connections with the material of Chapter 1. You might encourage your
students to illustrate their assertions with pictures in R 2 and R3 . One way to encourage
student participation is to designate a few students in advance to serve as discussion leaders
who guide the class through the review. For other chapters, you can choose different groups
of students to play this role.

Pencil and Paper Problems: Many of these problems can be used effectively in class
discussions as part of a review of the chapter. Problem 12 is challenging.

Sample assignment: 1b, 4, 7, 8, 11, 12.

16 Instructors Guide

Section 3.1, Product of a Matrix and a Vector (tutorial)

Main Topics: This section introduces the matrix-vector product and explores its connec-
tions with linear combinations of vectors, span, linear independence, linear systems, and
the decomposition of the solution set of a linear system discussed in Section 2.3.

Pedagogy: Students prefer to think of the matrix-vector product in terms of dot products;
so you might emphasize to them the usefulness of thinking of it as a linear combination,
which will serve them better in many of the problems and proofs.

Pencil and Paper Problems: We especially recommend assigning problems that give
students practice thinking about a matrix-vector product as a linear combination. Problems
9 and 10 can be used effectively for in-class discussion.

Time Estimate for Tutorial: 50 minutes.

Maple/Mathematica Problems: Students often need help with the geometric arguments
required in Problems 3 and 4. Since these are particularly instructive problems, giving
students help and encouragement is worthwhile. Problem 7 provides an opportunity for
students to discover once more (with new algebraic tools) the wide range of choices one has
in selecting the position and direction vectors of a solution set.

Sample Assignment: 2, 3, 4, 5, 7.

Technical Notes: The tutorial introduces a command for solving the matrix-vector equa-
tion Ax = b. In Maple, this command is Matsolve(A,b) or Matsolve(A,b,free=x) to
specify that you want the names xi for the free variables in the solution set. In Mathemat-
ica, it is MatrixSolve[A,b,x]. However, when using Maple, be careful not to assign the
output of Matsolve to the same variable that you use for the name of the free variables.
For example, x := Matsolve(A,b,free=x) gives an error message or may even crash older
versions of Maple.

Section 3.2, Matrix Multiplication (tutorial)

Main Topics: This section defines and explores the properties of the product of two
matrices and powers of a square matrix. Partitioned matrices and block multiplication are
investigated in Maple/Mathematica Problem 8.

Pedagogy: A major feature of this tutorial is that students are asked to find patterns
Part Three Teaching Notes by Section 17

in various products and powers involving various special types of matrices. These explo-
rations are valuable because, by leaving the tedious details to the computer, students can
concentrate on thinking about the way products work to produce these patterns.

Pencil and Paper Problems: We especially recommend assigning problems that require
thinking of matrix products in terms of matrix-vector or vector-matrix products.

Maple/Mathematica Problems: Problems 4, 5, and 6 blend computation and con-

ceptual understanding. Particularly instructive are the parts of these problems that ask
students to justify their conclusions and to describe the general patterns.

Sample assignment: 1, 3, 5, 6, 7.

Section 3.3, Rules of Matrix Algebra

Main Topics: In this section, the rules of matrix algebra, including those for the transpose
of a matrix, are stated and applied. Proofs for many of the rules are included; easier proofs
are left to the problems.

Pedagogy: The tutorial highlights the similarities and differences between the rules of
matrix algebra and the rules of ordinary algebra, so students can focus on using the rules
effectively.

Pencil and Paper Problems: Problems 3 and 4 are well suited for class discussion.

Sample assignment: 1, 3, 6, 7, 9.

Section 3.4, Markov Chains Application (tutorial)

Main Topics: Topics covered include stochastic and regular stochastic matrices, steady-
state vectors, and limit vectors and limit matrices. This topic is revisited and extended in
Section 7.3, Discrete Dynamical Systems.

Pedagogy: By using the computer to calculate high powers of a stochastic matrix, one
can introduce the topic of Markov chains quite early in the course and can do a lot with
it. Students find the topic fascinating and challenging. Part of the fascination is that the
18 Instructors Guide

Pencil and Paper Problems: Problem 3 is particularly instructive.

Sample assignment: 1, 3, 5.

Time Estimate for Tutorial: 60 minutes.

Maple/Mathematica Problems: Problems 6 and 7 are student favorites and are also
particularly instructive.

Section 3.5, Inverse of a Matrix (tutorial)

Main Topics: This section introduces the matrix inverse and explores many of its proper-
ties. The Invertibility Theorem describes the relationship between invertibility of a matrix
and the fundamental vector concepts of linear independence and span. LU -factorization is
investigated in Maple/Mathematica Problem 10.

Pedagogy: Students often find the definition of matrix inverse slippery. They may benefit
from a follow-up discussion that gives them additional practice using the definition in proofs.

Since this section provides substantial connections between important concepts and tech-
niques from Chapters 2 and 3, one might use the opportunity to have a discussion with the
class about the big picture: Where is the course headed and what progress have we made
so far?

Pencil and Paper Problems: Problem 8 can serve as a good starting point for a class
discussion.

Sample assignment: 2, 4, 6, 7, 8.

Maple/Mathematica Problems: Problems 1 and 2 combine computation with careful

application of the rules of matrix inverses. Problem 3 explores the standard algorithm for
finding a matrix inverse by hand. Problems 6 and 7 explore some consequences of the
Invertibility Theorem. Problem 9 provides additional preparation for Section 3.6.

Sample assignment: 1, 2, 5, 7, 8, 9.
Part Three Teaching Notes by Section 19

Section 3.6, Theory of Matrix Inverses

Main Topics: This section reviews the theory of matrix inverses developed in Section 3.5
and provides all the remaining proofs.

Pedagogy: Courses that emphasize theorem and proof will want to include subsection
3.6.2, which uses elementary matrices to prove the harder parts of the Invertibility Theorem
and includes two theorems not mentioned in Section 3.5.

Pencil and Paper Problems: If you assign problems requiring proof, you may want to
give an additional sample proof or two in class as guidance for your students work.

Sample assignment: 1, 2, 5, 7.

Section 3.7, Cryptology Application (tutorial)

Main Topics: The principal example studied in this section is the Hill cipher, which uses
multiplication by a matrix (to encipher) and its inverse (to decipher) and also uses modular
arithmetic. A brief self-contained treatment of modular arithmetic is included.

Pedagogy: The emphasis throughout the section is on the general concept of a transfor-
mation (which enciphers) and its inverse (which deciphers).

Pencil and Paper Problems: There are no pencil and paper problems for this section.

Time Estimate for Tutorial: 50 minutes.

Maple/Mathematica Problems: The four problems in this tutorial are simply four
encrypted messages to decode. These problems are popular with students because of the
feeling of accomplishment they get when breaking a code.

Sample Assignment: 1, 2, 3, 4.

Main Topics: In this section, matrix transformations from R n to Rm are introduced.

Geometric transformations of R2 and R3 are emphasized in the examples. Kernel and
range of a matrix transformation are also defined; again, the emphasis is on geometric
visualization.
20 Instructors Guide

Pedagogy: This short section is designed to prepare students for the main work in Sections
4.2 and 4.3 by acquainting them with the concepts beforehand and by emphasizing geometric
examples and geometric reasoning.

Pencil and Paper Problems: The emphasis in the problems is on geometric reasoning.

Sample assignment: 1, 2, 3, 5, 6.

Section 4.2, Geometry of Matrix Transformations of the Plane (tutorial)

Main Topics: This section introduces five types of geometric transformations of the plane:
scaling transformations, shears, rotations, reflections, and projections. Composite transfor-
mations are presented algebraically and geometrically. Animations are used to illustrate
transformations dynamically.

Pedagogy: Students may need additional discussion to understand thoroughly the relation-
ship between the algebra of matrix products and inverses on the one hand and the geometry
of composition and inversion of matrix transformations on the other hand. Students find
shears and projections harder to understand geometrically; be prepared to discuss these
further. You may also need to remind students that in the composition AB, the matrix B
is applied first.

Pencil and Paper Problems: Encourage students to make hand sketches when working
on the problems. Problems 10 and 11 are well suited for class discussion.

Sample assignment: 1, 2, 5, 7, 10.

Time Estimate for Tutorial: 70 minutes. (Although this is an unusually long tutorial,
it is also one of the more popular ones; so students rarely complain about its length.)

Maple/Mathematica Problems: Although determinants are not formally introduced

until Chapter 6, Problem 3 assumes some prior knowledge of determinants.

Sample assignment: 1, 2, 5, 6, 9.

Section 4.3, Geometry of Matrix Transformations of 3-Space (tutorial)

Main Topics: This section extends the discussion of geometric transformations to 3-space.
Kernel and range are explored further.
Part Three Teaching Notes by Section 21

Pedagogy: This tutorial requires that students visualize the action of geometric transfor-
mations on 3-space, which many find unfamiliar and challenging. Although the computer
helps them a great deal, you might consider providing them with physical models. For
example, you might give them three or four flexible pipe cleaners, which can be twisted
together to form a model of the (x, y, z) coordinate system.

Pencil and Paper Problems: Encourage students to draw pictures either by hand or on
the computer to help them understand the problems.

Sample assignment: 1, 3, 4.

Maple/Mathematica Problems: Because these problems require that students visualize

in three dimensions, you may find they need extra help with some of these problems.

Problem 8 is difficult, but students who solve it are rewarded by being able to demonstrate
that their answer is correct. For example, you can suggest that they use the Movie command
to create an animation that applies their solution matrix with a small value for to the
Cube3d figure.

Sample assignment: 1, 3, 4, 5, 6.

Main Topics: In this section, the definition of a linear transformation from R n to Rm

and the definitions of the algebraic operations on these transformations are presented. Also
included are proofs of the correspondence between operations on linear transformations and
operations on matrices.

Pedagogy: With the experience and intuition gained from working through Sections 4.2
and 4.3, students usually have little difficulty with the more formal content of this sec-
tion. Encourage students to move back and forth between their geometric and algebraic
understanding of the concepts.

Pencil and Paper Problems: If you assign problems requiring proof, you may want to
give an additional sample proof or two in class as guidance for your students work.

Sample assignment: 1, 2, 3, 5, 7.
22 Instructors Guide

Main Topics: Homogeneous coordinates are introduced as a technical device to incorporate

translations in the framework of matrix transformations; no projective geometry is used.

Pedagogy: Students enjoy learning to create their own animations, which makes this a
particularly popular tutorial. It usually goes quite smoothly, as students who have com-
pleted Sections 4.2 and 4.3 are now proficient at visualizing transformations. However, you
may find that students have questions about homogeneous coordinates. If time is short,
you can assign just subsection 4.5.1, or subsections 4.5.1 and 4.5.2, or 4.5.1 and 4.5.3.

Pencil and Paper Problems: There are no pencil and paper problems for this section.

Time Estimate for Tutorial: 50 minutes. (Students may need more or less time, de-
pending on how many of the three subsections you assign.)

Maple/Mathematica Problems: Problem 5 is more difficult and depends on subsection

4.5.3.

Sample assignment: 1, 2, 3.

Technical Notes: Maple users can employ either of the following two methods for speci-
fying that homogeneous coordinates are to be used: The optional argument homogeneous
= on can be included in each relevant command, or the command homogeneous := on can
be given just once. (The latter turns on a global variable, which can be turned off using
the command homogeneous := off.)

Section 5.1, Subspaces of Rn

Main Topics: Subspaces of Rn are introduced in this section. Examples include the span
of a set of vectors, the kernel and range of a matrix transformation, and subspaces of R 2 .

Pedagogy: The emphasis on geometry and on concrete examples of a type that students
have encountered earlier make the concept of subspace especially accessible.

Pencil and Paper Problems: Problem 2 is well suited for class discussion. Problem
8 requires a thorough analysis of cases that not all students handle well; those who do,
however, are better prepared for some of the later arguments about bases.

Sample assignment: 1, 2, 7, 8, 9, 15, 20.

Part Three Teaching Notes by Section 23

Section 5.2, Basis and Dimension (tutorial)

Main Topics: Basis and dimension are introduced in this section. Several geometric
examples are considered, and a general method is presented for finding a basis of a null
space by decomposition of a solution set. Also, coordinates of a vector relative to a basis
are introduced.

Pedagogy: The goal in this section is for students to gain an understanding of the concepts
of basis and dimension and of their properties before working through the harder proofs.
Thus, although the usual theorems on linear independence, span, basis, and dimension
(Theorems 3 through 6) are stated here, their proofs are postponed until the next section.
We have found that students are better at working through the proofs of these theorems
and are better motivated for doing so, if they first work with the statements of the theorems
and begin to appreciate what these statements mean.

Pencil and Paper Problems: The emphasis in these problems is on finding bases by
inspection or with very little calculation. Problems 11 and 12 work well in class discussions.

Maple/Mathematica Problems: These problems are fairly straightforward. However,

you may want to remind students to be careful to consider all possible cases when solving
problems 2 and 4.

Sample assignment: 1, 2, 4, 5.

Main Topics: This section presents proofs of Theorems 3 through 6.

Pedagogy: One alternative to presenting the proofs in a lecture is to engage the class in a
collaborative exercise to produce the proofs of the theorems in the section. The instructor
could present parts of proofs or give outlines or hints of proofs; the students task might be
to write proofs on the board or give proofs orally or write up several proofs.

Pencil and Paper Problems: Problems 1 and 2 are well suited for class discussion. The
remaining problems require proofs.

Sample assignment: 1 or 2, and 3, 5, 7.

24 Instructors Guide

Section 5.4, Subspaces Associated with a Matrix (tutorial)

Main Topics: In this section we introduce the column space, row space, and null space
of a matrix and provide students with extensive practice finding bases of these subspaces
using a variety of methods.

Pedagogy: Although students catch on readily to the techniques developed in the tutorial,
they might benefit from a follow-up discussion of the quick method presented in subsection
5.4.3 for finding a column space basis. Since several key ideas underlie this method, you
might want to reinforce the role these ideas play.

Pencil and Paper Problems: Most problems check for conceptual understanding by
asking students to find bases by inspection or geometric reasoning rather than calculation.
Problems 9 and 11 are well suited for class discussion.

Maple/Mathematica Problems: Problems 4 and 5 are somewhat challenging but are

particularly instructive.

Sample assignment: 1, 2, 4, 5.

Section 5.5, Theory of Subspaces Associated with a Matrix

Main Topics: This section reviews the concepts, methods, and facts developed in Section
5.4. Theorems 7 and 8 are the fundamental theorems describing the relationships among
the dimensions of the column space, row space, and null space.

Pedagogy: The proofs of Theorems 7 and 8 make use of the methods discussed in Section
5.4 for finding bases of the column space, row space, and null space. This provides a useful
review of these methods in a fresh context.

Pencil and Paper Problems: Problems 1 and 5 are particularly instructive. Problems 6
through 15 require proofs.

Sample assignment: 1, 4, 5, 6, 8, 14.

Part Three Teaching Notes by Section 25

Section 5.6, Loops and Spanning Trees Application (tutorial)

Main Topics: This section demonstrates how bases of subspaces can be used to analyze
the flow through a network. The two examples considered are a traffic network of streets
and a network of oil pipelines.

Pedagogy: A strong appeal of this section is that it gives students two new geometric
representations of a basis. It also reinforces the connection between null space basis vectors
and column space basis vectors developed in Section 5.4.

Pencil and Paper Problems: There are no pencil and paper problems for this section.

Maple/Mathematica Problems: Problem 7 is somewhat challenging, but it helps stu-

dents put together the main ideas in the tutorial.

Sample assignment: 1, 2, 3, 5, 7.

Section 5.7, Abstract Vector Spaces

Main Topics: In this section, abstract vector spaces and their properties are presented.
The main examples discussed are the vector space of m by n matrices, the vector space of
real-valued functions defined on an interval, and subspaces of these spaces.

Pedagogy: The placement of this section at the conclusion of Chapter 5 reflects our
strategy of working from the concrete to the abstract. Our experience is that students are
much more likely to appreciate abstract vector spaces once they are comfortable with the
corresponding concepts in Rn .

Pencil and Paper Problems: Problems 1 through 18 are straightforward questions based
on the examples presented in the section.

Section 6.1, Determinants and Cofactors

Main Topics: This short section introduces the determinant of an n by n matrix via
cofactor expansions.
26 Instructors Guide

Pedagogy: This section is intended only to introduce the determinant, so that the next
section, a tutorial, can focus entirely on the properties of the determinant.

Pencil and Paper Problems: The problems are all straightforward applications of the
material in the section.

Sample assignment: 2, 4, 5, 6.

Section 6.2, Properties of Determinants (tutorial)

Main Topics: This section explores the usual elementary properties of the determinant
the effect of row operations, the criterion for invertibility, and the algebraic properties. The
geometric meaning of the determinant of 2 by 2 and 3 by 3 matrices is also investigated.

Pedagogy: More than in any other tutorial, students are encouraged to discover most of
the results discussed in the section. The properties of determinants are particularly well
suited to a discovery mode, in which students work through guided explorations.

Pencil and Paper Problems: Problems stress application of the properties of the deter-
minant rather than calculation. Problems 8d and 8e are somewhat tricky.

Sample assignment: 2, 4, 5, 6, 8.

Maple/Mathematica Problems: Cramers rule, which is introduced in Problem 5, is

proved at the end of the next section.

Sample assignment: 1, 3, 4, 6.

Section 6.3, Theory of Determinants

Main Topics: This section reviews the introductory material in Section 6.1 and gives
proofs of Theorems 3 through 6 from Section 6.2.

Pedagogy: Among mathematicians, there is a wide range of opinion on the emphasis and
amount of detail one should accord the determinant in an introductory linear algebra course.
Those who wish to cover determinants in depth will find complete proofs of the principal
theorems in this section.
Part Three Teaching Notes by Section 27

Pencil and Paper Problems: All the problems in this section require proof. Problem 2
introduces the adjoint of a matrix.

Sample assignment: 2, 3, 4.

Section 7.1, Eigenvalues and Eigenvectors (tutorial)

Main Topics: This section introduces eigenvalues, eigenvectors, and eigenspaces and ex-
plores these concepts algebraically and geometrically.

Pedagogy: Students build up their geometric understanding of the concepts by applying

visualization tools to geometric transformations and by using geometric reasoning to find
eigenvalues and eigenvectors. The characteristic polynomial is not introduced in this tuto-
rial, which keeps students from applying that tool blindly and keeps them focused on the
definitions.

Pencil and Paper Problems: A large number of problems are provided, all with the goal
of reinforcing the definitions and fostering a geometric understanding of eigenvalues and
eigenvectors. Problems 10 and 17 are well suited to class discussion. Problems 19 through
26 give students the opportunity to practice using the definitions in fairly straightforward
proofs.

Maple/Mathematica Problems: Problem 5 is an effective guided discovery problem.

Problem 8 is a student favorite.

Sample assignment: 1, 2, 5, 6, 8.

Section 7.2, The Characteristic Polynomial (tutorial)

Main Topics: This section introduces the characteristic polynomial. It also includes
several explorations in which patterns of eigenvalues and eigenvectors are sought.

Pedagogy: The explorations in subsection 7.2.3 give students practice determining pat-
terns of eigenvalues and eigenvectors using little or no computation. For example, they
must apply what they know about linear independence, linear dependence, and dimension.
Since this is challenging material, you might go through an additional example in class,
28 Instructors Guide

such as the letter S matrix discussed in the Worked example for problems 6, 7 and 8.

Pencil and Paper Problems: Conceptual problems requiring little or no computation,

such as problems 3, 4, and 7, are particularly valuable.

Maple/Mathematica Problems: The problems on patterns of eigenvalues and eigen-

vectors (numbers 3, 6, 7, and 8) are particularly valuable. However, students may need
additional guidance in how to perform a thorough analysis and justify their conclusions

Sample assignment: 1, 2, 3, 4, 6.

Section 7.3, Discrete Dynamical Systems Application (tutorial)

Main Topics: This section uses eigenvector bases to analyze the long-term behavior of
discrete dynamical systems.

Pedagogy: The section builds on students experience with Markov chains in Section 3.4.
It uses two types of visualizations to help students see how the eigenvalues and eigenvectors
of a matrix A determine the long-term behavior of a sequence of vectors {x k } defined by
xk+1 = Axk .

Pencil and Paper Problems: Problems 2, 4, 5, 6, and 7 are valuable conceptual prob-
lems in which students get to practice using the methods of the section with little or no
calculation.

Sample assignment: 2, 4, 7.

Maple/Mathematica Problems: Although Problems 5 and 6 are somewhat long, they

are not very hard and they are effective illustrations of the power of the ideas in the section.
In Problem 6, one gets a few complex eigenvalues and eigenvectors, but they do not affect
the results.

Sample assignment: 2, 3, 4, 5.
Part Three Teaching Notes by Section 29

Section 7.4, Diagonalization and Similar Matrices (tutorial)

Main Topics: In this section, diagonalization and similar matrices are introduced. The
geometric meaning of the composite transformation P 1 AP is thoroughly explored.

Pedagogy: The computer allows students to get a lot of practice using the equation
P 1 AP = K, since the diagonalizing matrix P and diagonal matrix K are easily con-
structed. The visualizations of the composite P 1 AP help students develop good insight
into the geometric meaning of similarity. Since the ideas behind that geometric meaning
are subtle, you might want to go through an example in a classroom demonstration and
discussion.

Pencil and Paper Problems: Problem 6 is well suited for class discussion.

Sample assignment: 1, 5, 6.

Maple/Mathematica Problems: The algebraic problem 3 and the geometric problems

5 through 8 are all quite instructive although somewhat difficult.

Sample assignment: 1, 2, 3, 4, 5.

Section 7.5, Theory of Eigenvalues and Eigenvectors

Main Topics: This section reviews the main concepts, methods, and facts developed in
the first four sections of the chapter. The proofs of the harder theorems are provided here.

Pedagogy: The review in subsection 7.5.1 of the most important material from Sections
7.1 and 7.2 will be useful to all students. Subsection 7.5.3, which focuses on two hard proofs,
might only be of interest in courses that emphasize mathematical proofs.

Pencil and Paper Problems: All the problems require proofs. Note that problems 4 and
6 assume that the student has completed Section 7.4, Diagonalization and Similarity.

Sample assignment: 1, 4, 7.
30 Instructors Guide

Section 7.6, Systems of Linear Differential Equations (tutorial)

Main Topics: In this section, eigenvalues and eigenvectors are used to solve systems of
homogeneous linear differential equations with constant coefficients. The long-term behavior
of the solutions is also investigated.

Pedagogy: Although this section does not presuppose knowledge of differential equations,
some previous exposure to differential equations, as in a calculus course, might be helpful.
The study of long-term behavior of the solutions parallels the corresponding study in Section
7.3. Although such analogies are always useful, there are differences that can lead to
confusion; look for signs of possible confusion, and be prepared to intervene.

Pencil and Paper Problems: For simplicity, the tutorial deals solely with 2 by 2 systems.
The problems, on the other hand, ask students to reason about n by n systems.

Sample assignment: 1, 2.

Maple/Mathematica Problems: Problem 6 is an application that students have found

interesting and instructive.

Sample assignment: 1, 3, 4, 6.

Section 7.7, Complex Numbers and Complex Vectors

Main Topics: This short section presents the elementary properties of complex numbers
and complex vectors. It also briefly introduces complex eigenvalues and eigenvectors.

Pedagogy: The purpose of this section is to establish these elementary properties in prepa-
ration for the tutorial that follows. Even if most of your students are already familiar with
complex numbers, we recommend that they read over this section and do some review prob-
lems. Of course, all students should read subsection 7.7.3, as this material will be new to
them all.

Pencil and Paper Problems: Problems 1 through 8 are straightforward applications of

the material in the section.

Sample assignment: 1, 2, 4, 5, 6, 7b.

Part Three Teaching Notes by Section 31

Section 7.8, Complex Eigenvalues and Eigenvectors (tutorial)

Main Topics: This section focuses on 2 by 2 real matrices with complex eigenvalues and
eigenvectors. Such a matrix is shown to be similar to a scale-rotation (a nonzero multiple
of a rotation). The analysis of such matrices is then used to study the long-term behavior
of the corresponding discrete dynamical systems. The analysis is also applied to a Leslie
model.

Pedagogy: As in Section 7.3, students use two types of visualizations to see how the
complex eigenvalues and eigenvectors of a matrix A determine the long-term behavior of a
sequence of vectors {xk } defined by xk+1 = Axk . Students are unlikely to have seen such
a vivid, realistic application of complex numbers before, which adds to the appeal of this
material.

Pencil and Paper Problems: Problems 3 through 7 provide good practice in applying
the main results of the section to scale-rotations.

Sample assignment: 1, 3, 5, 7.

Maple/Mathematica Problems: Since the analysis in the section is fairly challenging

material, you might go through an additional example in class, such as one of the examples
in Problem 2. You might focus on the decomposition equation (equation , page 423) and
how one uses it in determining long-term behavior. Problem 4 is quite instructive although
somewhat difficult.

Section 8.1, Dot Product and Orthogonal Vectors

Main Topics: This section presents properties of the dot product, orthogonal sets of
vectors, and orthogonal bases. Included are proofs of several elementary results, including
the Pythagorean theorem for Rn and the formula for the coordinates of a vector relative to
an orthogonal basis.

Pedagogy: This short section establishes several concepts and results that are fundamental
to the rest of the chapter. Since it is essential that students are comfortable with all the
topics covered here, be prepared to clarify any aspect of the section. For example, working
through the proof of Theorem 4 or 5 in class may be helpful.
32 Instructors Guide

Pencil and Paper Problems: Most of the problems are straightforward applications of
the material in the section. Problems 13 through 16 require short proofs.

Section 8.2, Orthogonal Projections in R2 and R3 (tutorial)

Main Topics: This section explores projections of a vector onto a line and a plane; visual-
ization in R2 and R3 is emphasized. Also, projections are used to find the shortest distance
from a point to a line or a plane.

Pedagogy: One of the goals of this chapter is to use the projection of a vector onto
a subspace to solve the problem of finding the shortest distance between a point and a
subspace. This section solves that problem for subspaces of R 2 and R3 . It therefore
represents a concrete version of the more general problem they will encounter in Sections
8.3, 8.6, 8.7, and 8.8. The images and geometric language of this section will help build
students intuition about projections, which will be crucial in these later sections.

Pencil and Paper Problems: Some problems emphasize the algebra of projections, some
the geometry. We recommend assigning both types.

Maple/Mathematica Problems: We recommend assigning all three of these straight-

forward problems.

Sample assignment: 1, 2, 3.

Section 8.3, Orthogonal Projections and Orthogonal Bases in Rn (tutorial)

Main Topics: In this section, we use projections and orthogonal bases to show how to
find the shortest distance from a point to a subspace of R n . The Gram-Schmidt process is
introduced for constructing orthogonal bases. Subsection 8.3.3, on the QR-factorization, is
optional.

Pedagogy: With the intuition developed in the preceding section, students handle the
transition to greater generality in this section quite well. Using the computer and stressing
the analogies with Section 8.2 help keep the focus on the big picture instead of the details
Part Three Teaching Notes by Section 33

of the computations.

Pencil and Paper Problems: We recommend assigning at least two of the first four
problems; they are helpful practice problems.

Sample assignment: 1, 3, 4, 8.

Maple/Mathematica Problems: Problems 2 through 4 are designed to be most effective

when assigned together. We recommend assigning at least two of them.

Sample assignment: 1, 2, 3, 4, 5.

Section 8.4, Theory of Orthogonality

Main Topics: This section begins with a review of the theory developed in Section 8.3
and adds proofs of Theorems 6 and 7, which were stated there without proof. Subsection
8.4.2, on orthogonal complements, presents four more theorems, the first two of which are
used in Section 8.5. That subsection and subsection 8.4.3, on orthogonal matrices, can be
omitted if time is short.

Pedagogy: Students will find the review in subsection 8.4.1 very helpful. If you assign
8.4.2 and 8.4.3 as well, you may want to go over some of this challenging material in class.

Pencil and Paper Problems: Problems 4 and 8 are well suited for class discussion.

Sample assignment: 4, 7, 8, 9.

Section 8.5, Least-Squares Application (tutorial)

Main Topics: This section introduces least-squares solutions and derives the normal equa-
tions. Subsection 8.5.3 uses this theory to develop the least-squares method of fitting a curve
to a set of data points.

Pedagogy: Our development of the theory of least-squares solutions is quite efficient, which
gives students more time for the applications. The application problems engender a lot of
student interest. However, be sure that students write out some of the linear equations that
arise in the applications, so they clearly understand how the equation Ax = b arises.
34 Instructors Guide

Pencil and Paper Problems: Problems 1 and 2 are straightforward applications of the
material in the section.

Sample assignment: 1, 2.

Maple/Mathematica Problems: Students enjoy the applied problems in this section,

in part because the results are so visual. Be sure to assign a variety of them, including at
least one of problems 6 and 7.

Sample assignment: 1, 2, 3, 5, 6.

Section 8.6, Weighted Least-Squares and Inner Products on Rn (tutorial)

Main Topics: In this section, the least-squares problem is generalized to include weights
for the data points. General inner products on R n are introduced next, along with the
related concepts of orthogonality, length, and projection. Then the solution of the weighted
least-squares problem is reformulated using inner products to show that it is formally the
same as the solution for nonweighted least-squares.

Pedagogy: The solution of the least-squares problem in subsection 8.5.3 is used to motivate
the solution of the weighted least-squares problem. That solution then motivates the idea
of a general inner product on Rn . Students find this progression of ideas easy to follow and
appreciate.

Pencil and Paper Problems: There are no pencil and paper problems for this section.

Maple/Mathematica Problems: Problem 2 is especially instructive, as it builds on an

earlier problem and uses real data.

Sample assignment: 1, 2, 3, 4, 6.

Section 8.7, Approximation of Functions and Integral Inner Products

(tutorial)

Main Topics: This section introduces the shortest-distance problem of finding the best
approximation to a function from a finite-dimensional subspace of functions. The integral
Part Three Teaching Notes by Section 35

inner product is defined next, along with the related concepts of orthogonality, length, and
projection. Next, these concepts are used to solve the shortest-distance problem. Finally,
this material is applied to approximations of functions by trigonometric polynomials.

Pedagogy: The solution of the least-squares problem in subsection 8.5.3 is used to motivate
both the formulation of the best-approximation problem in terms of an integral and the
solution of the best-approximation problem. This section is entirely independent of Section
8.6. If time is short, subsection 8.7.4 can be omitted.

Pencil and Paper Problems: Problem 4 is especially instructive, as it puts together the
main ideas of the section.

Sample assignment: 1, 2, 4, 5.

Maple/Mathematica Problems: Problems 1 through 3 are designed to be most effective

when all three are assigned.

Sample assignment: 1, 2, 3, 4.

Section 8.8, Inner Product Spaces

Main Topics: In this section, abstract inner products and inner product spaces are in-
troduced. Examples are drawn mainly from Sections 8.6 and 8.7. The related concepts of
orthogonality, length, and projection are also studied. The analogs of Theorems 2 through
8 from Sections 8.1 and 8.3 are presented and then are used to solve a general version of
the shortest-distance problem.

Pedagogy: The material in this section ties together the material from the entire chapter,
as it encompasses orthogonality, length, and projection, the properties of these concepts,
and solution of an all-encompassing shortest-distance problem. To appreciate this section,
students should have already studied Section 5.7 and at least one of Sections 8.6 and 8.7.

Pencil and Paper Problems: The problems in this section all require proofs.

Sample assignment: 2, 5, 6, 9, 11.

36 Instructors Guide

Appendix A
Installation Instructions
This appendix contains the following sections:

VLA Installation for Maple (version 7 and later) in Windows

VLA Installation for Maple (version 9 and later) on a Macintosh using OSX
VLA Installation for Maple (version 7 and later) in Unix/Linux
VisualLA Installation for Mathematica
(on a Macintosh using OSX, in Unix/Linux, and in Windows)

1. Exit Maple before installing the VLA files.

2. Open the Maple VLA folder on the VLA CD, and copy the VLA folder to the top
level of the c: drive.

3. Copy the file maple.ini from the Windows folder in the Maple VLA folder to Maples
Lib folder. (Maple is usually in the folder c:\Program Files. maple.ini is an initial-
ization file that will tell Maple where to find the VLA library.)
If you already have a file called maple.ini in Maples Lib folder, copy the contents
of the maple.ini file on the CD to the end of your existing maple.ini file. (You can
use Notepad to do so.)

4. (This step applies only if, in step 2, you put the VLA folder somewhere other than
the top level of the c: drive.)
Using Notepad, you must edit the first line in the maple.ini file so it includes the full
path name for the VLA library. For example, if you put the VLA folder in MyFolder,
change
VLAlibpath := c:\\VLA\\library:
to
VLAlibpath := c:\\MyFolder\\VLA\\library:

This completes the installation.

Note: We strongly recommend using Maples Classic Worksheet interface, if you use
version 9 or later of Maple.
Appendix A Installation Instructions 37

Maple VLA Folders and Files

Within the VLA folder are three subfolders: library, which contains the four VLA library
files, maple.hdb, maple.ind, maple.lib, and maple.rep, tutorials, which contains the 30
Maple tutorials, and problems, which contains the 30 corresponding files of Maple problems.
Also in the Maple VLA folder is the Windows subfolder, which contains the files maple.ini
and readme.pdf (which contains this document).

In a blank Maple worksheet, enter the Maple command

with(VLA);

If the result is a list of VLA library procedures, the installation has succeeded. If, instead,
an error message appears, type

libname;

The first name in the output should be c:\VLA\library\, since that is the first name
assigned to libname by the commands in maple.ini. If it is not, then Maple is not reading
maple.ini. Check that you have put maple.ini in the correct folder.

If the first name in the output of libname is the correct folder name but Maple does not
find the VLA library, check that you did put the VLA folder on the c: drive.
38 Instructors Guide

VLA Installation for Maple (version 9 and later) on a Macintosh using OSX

1. Exit Maple before installing the VLA files.

2. Open the Maple VLA folder on the VLA CD, and drag and drop the VLA folder onto
the icon for your hard drive.

3. Open your home folder on your hard drive. Then open the Macintosh folder (in the
Maple VLA folder), and drag and drop the file init into your home folder. (init is
an initialization file that will tell Maple where to find the VLA library.)

4. (This step applies only if, in step 2, you put the VLA folder within another folder
rather than directly on the icon for your hard drive.)
Using TextEdit, you must edit the first line in the init file so it includes the full
path name for the VLA library. For example, if you put the VLA folder in MyFolder,
change
VLAlibpath := "/VLA/library/":
to
VLAlibpath := "/MyFolder/VLA/library/":
Then save the file and quit TextEdit.

5. For your final step, choose between the network installation (5a) and the single-user
installation (5b). In either case, you will need to open a Terminal window to give a
Unix command. Find the Terminal program, which is in the Utilities folder within
the Applications folder. Open a Terminal window by starting the Terminal program.

5a [Network installation of init] We will assume that Maple is installed in your Ap-
plications folder and that you are using Maple 9. (If Maple is installed somewhere
else or your version of Maple is later than 9, adjust the following Unix command
accordingly.) In the Terminal window, execute the following command, which
moves init to the appropriate Maple folder:
mv ~/init "/Applications/Maple 9.app/Contents/MacOS/lib"
After pressing Return, quit the Terminal program.
5b [Single-user installation of init] In the Terminal window, execute the following
command, which changes the name of init to .mapleinit:
mv ~/init ~/.mapleinit
After pressing Return, quit the Terminal program.

This completes the installation.

Appendix A Installation Instructions 39

Maple VLA Folders and Files

Within the VLA folder are three subfolders: library, which contains the four VLA library
files, maple.hdb, maple.ind, maple.lib, and maple.rep, tutorials, which contains the 30
Maple tutorials, and problems, which contains the 30 corresponding files of Maple problems.
Also in the Maple VLA folder is the Macintosh subfolder, which contains the files init and
ReadMeFirst.pdf (which contains this document).

In a blank Maple worksheet, enter the Maple command

with(VLA);

If the result is a list of VLA library procedures, the installation has succeeded. If, instead,
an error message appears, type

libname;

The first name in the output should be VLA/library (or whatever folder name you assigned
to VLAlibpath in the init or .mapleinit file). If it is not, then Maple is not reading its
initialization file. Check that you have put the init or .mapleinit file in the correct folder
and given it the correct name.

If the first name in the output of libname is the correct folder name but Maple does not
find the VLA library, check that you put the VLA/library folder in the location specified
by VLAlibpath.
40 Instructors Guide

1. Exit Maple before installing the VLA files.

2. Choose a directory in which to place the VLA directory. We will refer to this directory
as hVLAparenti, and you will have to insert the actual full path name wherever
you see this placeholder. We assume below that you have mounted the CD drive
at /mnt/cdrom; if you used a different mount point, adjust the command below
accordingly.
From the Maple VLA directory on the VLA CD, copy recursively the VLA directory
to hVLAparenti:
cp -r /mnt/cdrom/Maple VLA/VLA hVLAparenti

3. Your next step will be to copy the init file from the Unix Linux directory in the
Maple VLA directory to an appropriate directory. Choose between the network in-
stallation (4a) and the single-user installation (4b).

3a [Network installation of init] Determine where Maple is installed on your sys-

tem. We will refer to this directory as hMaplediri.
Copy the file init from the Unix Linux directory in the Maple VLA directory
to the lib subdirectory of hMaplediri:
cp /mnt/cdrom/Maple VLA/Unix Linux/init hMaplediri/lib
Change the protection code on the file init so you can edit it (see step 4):
chmod 644 hMaplediri/lib/init
3b [Single-user installation of init] Change the name of the file init to .mapleinit
and install it in your home directory:
cp /mnt/cdrom/Maple VLA/Unix Linux/init ~/.mapleinit
Change the protection code on the file .mapleinit so you can edit it (see step
4):
chmod 644 ~/.mapleinit

4. Edit the following line in the file init or .mapleinit. Replace hVLAparenti by the
full path name of the directory containing the VLA directory.
VLAlibpath := "hVLAparenti/VLA/library/":

This completes the installation.

Note: We strongly recommend using Maples Classic Worksheet interface, if you use
version 9 or later of Maple.
Appendix A Installation Instructions 41

Maple VLA Directories and Files

Within the VLA directory are three subdirectories: library, which contains the four VLA
library files, maple.hdb, maple.ind, maple.lib, and maple.rep, tutorials, which contains
the 30 Maple tutorials, and problems, which contains the 30 corresponding files of Maple
problems. Also in the Maple VLA directory is the Unix Linux subdirectory, which contains
the files init and ReadMe.pdf (which contains this document).

In a blank Maple worksheet, enter the Maple command

with(VLA);

If the result is a list of VLA library procedures, the installation has succeeded. If, instead,
an error message appears, type

libname;

The first filename in the output should be the directory in which you placed the VLA library.
If it is not, then Maple is not reading the initialization (init or .mapleinit). Check that
you have put the initialization file in the correct directory.

If the first filename in the output of libname is correct but Maple does not find the VLA
library, check that you did insert the correct path name in place of hVLAparenti.

The system-wide Maple initialization file, init, should have permission 644 so it is readable
by all users.
42 Instructors Guide

VisualLA Installation for Mathematica

OS X

Copy the VisualLAMacintosh.dmg disk image to your machine and double click it to mount
the image. A detailed OSXReadme.pdf file contained in the disk image gives installation
instructions for Macintosh OS X systems.

Unix/Linux

Copy the VisualLAUnix.tar.gz file to your machine and use gunzip and tar to unarchive
the file (see commands below). A detailed UnixReadme.pdf file contained in the archive
gives installation instructions for Unix/Linux systems.

Expand: gunzip VisualLAUnix.tar.gz

Unarchive: tar xvf VisualLAUnix.tar

Windows

Copy the self-extracting VisualLAWindows.exe file to your machine and expand the file
by double clicking on it. A detailed WindowsReadme.pdf file contained in the archive gives
installation instructions for Microsoft Windows systems
Appendix B Options for Using Visual Linear Algebra 43

Appendix B
Options for Using Visual Linear Algebra
In designing Visual Linear Algebra, we have tried to accommodate a wide variety of linear
algebra courses. The chart below will help instructors choose the sections and emphasis most
appropriate to their course. The last three columns of the chart partition the sections of the
text into three categories. The core sections are those we expect almost all instructors
will want to include. The application sections are in a separate category even though we
think of many of them as core. We expect instructors will often choose liberally from
this category. The additional topics category includes a range of material from which
instructors can choose to supplement the core. In that way, one can adjust to a variety of
course syllabi and goals.

It is also possible to treat some of the computer tutorials as traditional text sections. The
instructor can lecture on the material, and the students can read the printed version in
the textbook. If the classroom has a computer and projector, the lecture can include a
demonstration of part or all of the tutorial. Several instructors have found that this works
well and encourages class discussion. In the table below, the tutorials marked with both
symbols, N, are the ones we suggest can be treated as traditional text sections.

legend: N = computer tutorial section  = traditional section

N = computer tutorial that can be treated as a traditional section

Mode Core Applications Topics
 1.1 Solving Linear Systems
N 1.2 Geometric Perspectives on Linear Systems
N 1.3 Solving Linear Systems Using
Maple/Mathematica
N 1.4 Curve Fitting and Temperature Distribution

N 2.1 Geometry of Vectors

N 2.2 Linear Combinations of Vectors
N 2.3 Decomposing the Solution of a Linear System
N 2.4 Linear Independence of Vectors
 2.5 Theory of Vector Concepts

N 3.1 Product of a Matrix and a Vector

N 3.2 Matrix Multiplication
 3.3 Rules of Matrix Algebra 3.3.1-2 3.3.3
N 3.4 Markov Chains
N 3.5 Inverse of a Matrix
 3.6 Theory of Matrix Inverses 3.6.1 3.6.2
N 3.7 Cryptology
44 Instructors Guide

 4.1 Introduction to Matrix Transformations

N 4.2 Geometry of Matrix Transformations of the Plane
N 4.3 Geometry of Matrix Transformations of 3-Space
 4.4 Linear Transformations
N 4.5 Computer Graphics

 5.1 Subspaces of Rn
N 5.2 Basis and Dimension
 5.3 Theory of Basis and Dimension
N 5.4 Subspaces Associated with a Matrix
 5.5 Theory of Subspaces Associated with a Matrix
N 5.6 Loops and Spanning Trees
 5.7 Abstract Vector Spaces

 6.1 Determinants and Cofactors

N 6.2 Properties of Determinants
 6.3 Theory of Determinants

N 7.1 Introduction to Eigenvalues and Eigenvectors

N 7.2 The Characteristic Polynomial
N 7.3 Discrete Dynamical Systems
N 7.4 Diagonalization and Similar Matrices
 7.5 Theory of Eigenvalues and Eigenvectors 7.5.1 7.5.2-3
N 7.6 Systems of Linear Differential Equations
 7.7 Complex Numbers and Complex Vectors
N 7.8 Complex Eigenvalues and Eigenvectors

 8.1 Dot Product and Orthogonal Vectors

N 8.2 Orthogonal Projections in R2 and R3
N 8.3 Orthogonal Projections and Orthogonal 8.3.1-2 8.3.3
Bases in Rn
 8.4 Theory of Orthogonality 8.4.1 8.4.2-3
N 8.5 Least-Squares Solutions
N 8.6 Weighted Least-Squares and Inner Products on Rn
N 8.7 Approximation of Functions and
Integral Inner Products
 8.8 Inner Product Spaces
Appendix C Advice for Using Maple with Visual Linear Algebra 45

Appendix C
Advice for Using Maple with Visual Linear Algebra
Execute first line You MUST execute the first input region every time you open a Visual
Linear Algebra tutorial:

> restart: with(LinearAlgebra): with(plots): with(VLA):

UseHardwareFloats := false: Digits := 6:

Many of the commands you will use are in the LinearAlgebra, plots, or VLA library, and
these commands are not available to you until you execute the corresponding with com-
mands.

Use help Maples on-line help is extensive, and the VLA library is integrated into this
on-line help. To get more information on any command, highlight or click on the command
name, and then select help on that command from Maples Help menu.

Save often Computers do sometimes crash and lose your work. Save to a hard drive, and
save often simply by clicking on the diskette icon. Also, change the file name occasionally,
so you have a recent back-up copy.

Semicolons Every Maple command must end in a semicolon or a colon. (The colon tells
Maple not to display the output.) If you forget the semicolon or colon, just type one in and
execute the command again.

Entering Maple input To get a Maple input prompt (which is required for entering a
Maple command), click on the [> icon.

Entering Maple text To get a Maple text region (which is required for entering text in
Maple), first get an input prompt as above and then click on the letter T icon.

Copy and paste A quick way to enter a long Maple command is to copy a similar
command from elsewhere, paste it into a Maple input region, and edit it. You can also copy
output from a Maple command (even a plot) and paste it into a text region.

Assignment requires colon-equals A common oversight is omitting the colon ( : ) before

the equal sign in a Maple assignment statement. Maple assignment statements have the
form Name := Expression, which tells Maple to calculate the value of the Expression and
assign the result of the calculation to the Name. Example: x := 1/sqrt(Pi); means:

assign the value of 1/ to the name x.
46 Instructors Guide

Lists and sets Some Maple commands apply only to lists of expressions (which you
recognize by the fact that they are enclosed in square brackets [ , ]); others apply only to
sets of expressions (which you recognize by the fact that they are enclosed in curly braces
{ , }). So check Maple commands carefully to see which they require.

Maples forgetfulness When you open a worksheet that contains output, Maple does
not actually know the values of any of the variables in the output regions, even though it
may look like values have been assigned to some variables. Think of it this way: Maple
forgets the values assigned in a worksheet as soon as you exit Maple or execute a restart
command. So if you want Maple to know the values of these variables, you have to execute
the commands in the worksheet again. Better yet, before you save a Maple worksheet,
remove all the output; do this by going into the Edit menu and selecting Remove Output
/ From Worksheet.

Maples lack of forgetfulness Unless you exit Maple or execute a restart command
or do something else to force Maple to wipe out the values of some variables, Maple will
retain these values. So its a good idea not to use the same variable names repeatedly,
since Maple will remember the values of those variables. If you find that you are getting
strange responses to Maple commands, the cause may be exactly this unwise repeat of
variable names. The cure is to execute the restart and with commands at the top of
the worksheet; then re-execute all the commands you need to get your answer, but change
names that you have repeated.

Execute commands in order When you go through a tutorial, execute all the commands
and execute them in the order in which they appear. Otherwise, you may get incorrect
results. Keep in mind the order in which Maple processes commands: Maple processes each
command in the order in which it is executed; Maple pays no attention to the order in
which the commands appear in the worksheet.

WARNING:

Always use the Classic Worksheet interface if you are using Maple 9 or later. Maples
new Java-based interface is not adequate for some of the Visual Linear Algebra materials.
Appendix D Commands Used in Maple Tutorials 47

Appendix D
Commands Used in Maple Tutorials
Standard Maple commands

animate(expr,x=a..b,t=c..d); an animation that plots the expression expr in the successive

frames corresponding to the values of t from c to d.

argument(z); produces the polar angle (i.e., argument) of the complex number z.

variables.

GramSchmidt([u1,u2,u3]); produces an orthogonal basis of the subspace spanned by

{u1 , u2 , u3 }, using the Gram-Schmidt process.

implicitplot(eqn,x=a..b,y=a..b); plots the curve defined implicitly by the equation eqn

in the xy-plane.

map(cmd,M); applies the command cmd (which stands for any command) to every entry in the
matrix or vector M.

Matrix([[a,b],[c,d]]); defines the matrix with rows [a, b] and [c, d].

Matrix([u,v,w]); produces the matrix whose columns are the vectors u, v, w.

Minor(A,i,j); produces the minor in which row i and column j are removed from the ma-
trix A.
48 Instructors Guide

plot([exprx,expry,t=a..b]); plots a parametrized curve, where exprx and expry describe

x and y, respectively, as functions of t.

plot3d(expr, x=a..b, y=c..d); plots a graph of a function of two variables.

pointplot([pt1,pt2,...,ptn]); plots the list of points pt 1 , pt2 , . . . , ptn , where each point is
given as a list of two coordinates.

pointplot3d([pt1,pt2,...,ptn]); plots the list of points where each point is pt 1 , pt2 , . . . , ptn ,
given as a list of three coordinates.

seq(f,i=m..n); constructs the sequence of expressions f (m), . . . , f (n), where f is a funtion

of i.

solve({eqn1,eqn2},{x,y}); finds exact solutions for the unknowns x and y in the system of
equations given by eqn1 and eqn2.

spacecurve([expr1,expr2,expr3],t=a..b); plots a curve in 3-space where expr1, expr2,

expr3 are the component functions and the parameter t ranges from a to b.

Alphabetic([n1,n2,...,nk]); converts the integers n 1 , n2 , . . . , nk (which must be in the

range 0 to 28) to a string of corresponding letters.

Analysis(message); displays a frequency histogram of the letters in the string message.

Appendix D Commands Used in Maple Tutorials 49

Backidmat(n); produces the n by n backwards identity matrix.

Backsolve(R); solves the linear system for which R is a row echelon form of the augmented
matrix.

Bandmat(n); produces the n by n matrix with two diagonals of 1s (just above and below the
main diagonal) and zeros elsewhere.

Basisgrid(u,v,[a,b]); draws xy- and uv-coordinate grids and the point au + bv.

Block([n1,n2,...,nk],m); produces a matrix of m rows whose columns contain the integers

n1 , n 2 , . . . , n k .

Caesar(n,message); produces a new string by shifting each letter in the string message to
the right n places.

Charpoly(A,t); produces det(A tI), the characteristic polynomial of the matrix A.

Clock(A); an animation which simultaneously displays a rotating unit vector v and its image
Av, where A is a 2 by 2 matrix.

Componentplot(A,x0,points=n); plots (in an animation) the components of the vectors A k x0

for k from 0 to n.

Copyinto(A,B,m,n); copies the matrix A into the matrix B with the (1, 1) entry of A going
into the (m, n) entry of B.

Cramer(A,b); produces a list of matrices in which the ith matrix in the list is the matrix A
with its ith column replaced by the vector b.

Dotprod(u,v); calculates the dot product of the vectors u and v.

50 Instructors Guide

Drawlines([eqn1,eqn2]); draws the graphs of eqn1 and eqn2, which are equations of lines
in the plane.

Drawmatrix(F); draws the two-dimensional or three-dimensional figure whose vertices are the
columns of the matrix F.

Drawplanes([eqn1,eqn2]); draws the graphs of eqn1 and eqn2, which are equations of planes
in 3-space.

Drawspline([pt1,pt2,...,ptn]); draws the cubic spline through the points pt 1 , pt2 , . . . , ptn .

Drawvec(u,[v,w]); draws the vector u with tail at the origin and the vector from the tip of
v to the tip of w.

Expand(expr); expands and evaluates the vector or matrix expression expr.

Fourier(f,n); produces the nth partial sum of the Fourier series of the function f.

Genmatrix([eqn1,eqn2],[x,y]); produces the augmented matrix for the linear system

[eqn1, eqn2] in the unknowns x and y.

Gridgame(a,b); displays the vector au + bv, where u and v are given vectors, and target
points are indicated.

Headtail(A,vector=n); displays n equally-spaced unit vectors v and their images Av, where
A is a 2 by 2 matrix.

Inverse(M); produces the inverse of the matrix M.

Iprod(f,g,a,b); calculates the integral inner product of f and g on the interval [a, b].

Iproject(f,g,a,b); calculates the projection of f onto g, using the integral inner product
on the interval [a, b].
Appendix D Commands Used in Maple Tutorials 51

Jordanmat(n); produces the n by n matrix with 1s along the diagonal just above the main
diagonal and zeros elsewhere.

Leastfitmat(t,n); produces the matrix whose columns are the powers 0 through n of the
entries of the vector t.

by 3 matrix.

Matsolve(A,b,free=t); solves the matrix-vector equation Ax = b for x. The solution is

expressed in terms of the free variables t i .

Movie(M,F,frames=n); a two-dimensional or three-dimensional animation whose successive

frames are plots of the figures M k F , for k from 0 to n.

Nullbasis(A); produces a basis for the null space of the matrix A.

Numeric(message); converts the letters in the string message to a list of corresponding integers
in the range 0 to 28.

Path([exprx,expry,t=a..b]); plots a parametrized curve, where exprx and expry describe

x and y, respectively, as functions of t.

Pivots(M,i,j); produces the matrix obtained by pivoting on the (i, j) entry of the matrix
M to obtain 0s below the (i, j) entry.

Plotfourier(f); an animation of the first 20 partial sums of the Fourier series of f.

52 Instructors Guide

Plotpoints(pt1,pt2,...,ptn); plots the points pt 1 , pt2 , . . . , ptn , where either each point is
given as a list of two coordinates or each is a list of three coordinates.

Project(u,v); calculates the projection of the vector u onto the vector v.

Projectmat(theta); produces the 2 by 2 matrix that projects vectors onto the line through
the origin making the angle with the x -axis.

Projectmat3d(n); produces the 3 by 3 matrix that projects vectors onto the plane through
the origin with normal vector n.

Reduce(M,form=rref); produces the reduced row echelon form of the matrix M.

Reflectmat(theta); produces the 2 by 2 matrix that reflects vectors across the line through
the origin making the angle with the x -axis.

Reflectmat3d(n); produces the 3 by 3 matrix that reflects vectors across the plane through
the origin with normal vector n.

Residuals(f,data); plots the points [x, y] in data (a list of lists), the graph of the function
f, and the residuals between the values of f and the data points.

Rotatemat(theta); produces the 2 by 2 matrix that rotates vectors through the angle .

Rotatemat3d(v,theta); produces the 3 by 3 matrix that rotates vectors about the axis with
direction vector v through the angle .

Transform(M,F); draws the two-dimensional or three-dimensional figure whose vertices are

the columns of the matrix F and also draws the transformed figure M F .
Appendix D Commands Used in Maple Tutorials 53

Translatemat(v); produces the 3 by 3 matrix that translates vectors in 2-space by the vec-
tor v.

vector v.

Unblock(M); produces a list of numbers from the columns of the matrix M.

Unitspan(v,w); shades in the parallelogram of points av + bw, where a and b range from 0
to 1.

Vectorgrid(u,v,[a1..a2,b1..b2]); displays a grid based on the vectors u and v, and shades

in all the points au + bv, where a is between a 1 and a2 , b is between b1 and b2 .

Vectorline(p,v); draws the line through the origin with direction vector v and the parallel
line with position vector p.

Vectranslate(p,F); draws the figure whose vertices are the columns of F and also the trans-
late of this figure by the vector p.

Yshearmat(k); produces the 2 by 2 vertical shear matrix with parameter k.

54 Instructors Guide

Appendix E
Advice for Using Mathematica with Visual Linear Algebra
Execute the first two lines. You MUST execute the first two input regions every time
you open a Visual Linear Algebra tutorial.

Quit[ ]

Needs["VisualLA` "]

Many of the commands you will use throughout the text are defined in the VisualLA package
and are not available until you execute the corresponding Needs command.

Use Mathematicas Help Browser, ? operator, and the Options command. Docu-
mentation for all of the commands in the VisualLA package is integrated into Mathematicas
Help Browser. Youll find help for VisualLA commands in the Add-ons & Links area of
Mathematicas Help Browser.

To read complete documentation on any command, highlight or click on the command

name in a notebook and then select Find Selected Function from the Help menu. A
brief description, or usage statement, of any VisualLA and/or Mathematica command can
be retrieved with the ? operator. For example, this gives the usage statement for Plot:

?Plot

A list of all of the options for any VisualLA and/or Mathematica command can be retrieved
with the Options command. For example, this gives the options for Plot:

Options[Plot]

When viewing documentation in Mathematicas Help Browser, all of the Mathematica input
commands can be evaluated and/or modified in place inside the Help Browser. None of the
outputs, or modifications, will be saved. It is also useful to copy example commands from
the Help Browser to a notebook for further editing before evaluation.

Use Cell Tags to move around in a Visual Linear Algebra notebook. Every
section, subsection, example, exercise, definition, theorem, and numbered equation has been
assigned a descriptive cell tag name which facilitates moving around within a notebook. To
go to a specific location within a notebook, select Cell Tags from the Find menu to see
the named locations that are defined in the notebook. Use the Go Back item on the Find
Appendix E Advice for Using Mathematica with Visual Linear Algebra 55

Use the Visual Linear Algebra stylesheet. The look and feel of the Visual Linear
Algebra materials is determined by the VisualLA stylesheet. If you want a new notebook
to look like the Visual Linear Algebra materials (fonts, text regions, inputs/output, etc.),
select VisualLA from the Format > Style Sheet menu after opening a new notebook.
All the Visual Linear Algebra tutorial files and Mathematica problem files already use the
VisualLA stylesheet.

There are many keyboard shortcuts defined in the VisualLA stylesheet that are useful when
writing mathematics in Mathematica text regions. See the Overview section in the Visual
Linear Algebra help documentation for additional details.

Save often. Software does sometimes crash and lose your work. Save your notebook often.
Also, change the file name occasionally, so you have a recent back-up copy.

Evaluating Mathematica input. The two Return/Enter keys on a fullsize keyboard are
not treated equally by Mathematica. The Return/Enter key above the Shift key creates
a newline wherever the cursor is located. The Return/Enter key on the number pad tells
Mathematica to evaluate the input cell. On keyboards without a number pad (such as
laptop computers) the key combination Shift-Return is used to evaluate input cells. The
cursor can be anywhere in an input region when the input is evaluate.

Entering Mathematica text. To get a Mathematica text region, select Text style from
the Format > Style menu and start typing your text. To enter formatted mathematics
in a text cell type Ctrl-( to create an inline mathematics region and Ctrl-) to leave the
mathematics region and continue typing text.

Copy and paste. A quick way to enter a long Mathematica command is to copy a
similar command from elsewhere (another notebook or the Help Browser), paste it into a
Mathematica input region, and edit it. You can also begin typing in an output region from
a Mathematica input and Mathematica will automatically copy the output to a new input
region where you can continue editing the new input region. All Visual Linear Algebra
tutorials have a Command Palette that can be opened and used to quickly copy command
templates into input regions to edit.

Equality in Mathematica. When we write mathematics by hand, we use the equal sign
for several different purposes. We use it to assign values to variables (as in x = 10), to define
functions (as in f (x) = x2 ), and to write equations (as in 3x 5y + z = 9). Mathematica
distinguishes these different uses of the equal sign by using different symbols. Assignment
of values to variables uses =, function definition uses :=, and the equal sign in an equation
is denoted with the double equal symbol ==. As you work with Visual Linear Algebra and
Mathematica, pay careful attention to which of these symbols applies.
56 Instructors Guide

[ ], ( ), and { } in Mathematica. Mathematica requires careful use of these symbols.

Square brackets are ALWAYS used in Mathematica to delimit the input to functions and
commands, parentheses are ONLY used for grouping in Mathematica (never to delimit
function inputs or enter points), and curly braces are used for lists of things (numbers,
expressions, pictures, etc). This can be especially troublesome when working with functions,
since on paper the notation f (5) is read as f of 5 but in Mathematica input this would be
interpreted as f times 5. To write f of 5 in Mathematica input, we must enter f.

Mathematicas forgetfulness. When you open a notebook that contains output, Mathe-
matica does not actually know the values of any of the variables in the output regions, even
though it may look like values have been assigned to some variables. Think of it this way:
Mathematica forgets the values assigned in a notebook as soon as you exit Mathematica
or execute a Quit[ ] command (or quit the kernel from the Kernel menu). So if you want
Mathematica to know the values of these variables, you have to execute the commands in
the notebook again. Better yet, before you save a Mathematica notebook, remove all the
output; do this by going into the Kernel menu and selecting Delete All Output.

Mathematicas lack of forgetfulness. Unless you exit Mathematica or execute a Quit[ ]

command or do something else to force Mathematica to wipe out the value of some variables,
Mathematica will retain these values (even from notebook to notebook). So its a good idea
not to use the same variable names repeatedly, since Mathematica will remember the values
of those variables (even if they are in different notebooks). If you find that you are getting
strange responses to Mathematica commands, the cause may be exactly this unwise repeat
of variable names. The cure is to execute the Quit[ ] and Needs["VisualLA"] commands
at the top of the notebook; then re-execute all the commands you need to get your answer,
but change names that you have repeated.

Execute commands in order. When you go through a notebook, execute all the com-
mands and execute them in the order in which they appear. Otherwise, you may get
incorrect results. Keep in mind the order in which Mathematica processes commands:
Mathematica processes each command in the order in which it is executed; Mathematica
pays no attention to the order in which the commands appear in the worksheet.
Appendix F Commands Used in Mathematica Tutorials 57

Appendix F
Commands Used in Mathematica Tutorials
Standard Mathematica commands

A[[i]] gives the ith row of the matrix A.

Abs[x] produces the absolute value of x if x is a real number and the modulus of x if x is a
complex number.

Arg[z] produces the polar angle (i.e., argument) of the complex number z.

A12, A21, A22.

CharacteristicPolynomial[A,x] computes det(A I), i.e., the characteristic polynomial

of the square matrix A.

Dot[u,v], or u.v, calculates the dot product of the vectors u and v.

expr/.{a->3,b->13} substitutes the values for a and b in the expression expr. The operator
/. is an alternate form of the ReplaceAll command.

GramSchmidt[{u1,u2,u3}] produces an orthonormal basis of the subspace spanned by vectors

{u1 , u2 , u3 }, using the Gram-Schmidt process.

Im[z] produces the imaginary part of the complex number or vector z.

58 Instructors Guide

Inverse[M] produces the inverse of the matrix M . The Mathematica input M^{-1} raises each
entry of M to the power 1 and is not equivalent to Inverse[M]!

ListPlot[{pt1,pt2,pt3}] plots the list of points {pt 1 , pt2 , pt3 } in R2 , where each point is
given as a list of two coordinates.

Map[f,{a,b,c}] applies the function f to each element of the list {a, b, c}, i.e., the command
returns {f (a), f (b), f (c)}.

MatrixPower[A,n] computes the nth power of the square matrix A. The Mathematica in-
put A^n raises each element of the matrix A to the power n and is not equivalent to
MatrixPower[A,n].

ParametricPlot[{x[t],y[t]}, {t,tMin,tMax}] plots a parametrized curve in R 2 where

x[t] and y[t] are the component functions and the parameter t ranges from tMin to
tMax.

ParametricPlot3D[{x[t],y[t],z[t]},{t,tMin,tMax}] plots a parametrized curve in R 3

where x[t], y[t], z[t] are the component functions and the parameter t ranges from
tMin to tMax.

Plot3D[f[x,y],{x,xMin,xMax},{y,yMin,yMax}] plots a graph of a function of two variables.

Projection[u,v] calculates the orthogonal projection of the vector u onto the vector v.

Show[{pict1,pict2,pict3}] displays together a group of previously defined pictures.

Solve[{eqn1,eqn2},{x,y}] finds exact solutions for the unknowns x and y in the system of
equations given by eqn1 and eqn2.

Table[expr,i,iMin,iMax] generates a list of the values of expr as i runs from iMin to iMax.
Appendix F Commands Used in Mathematica Tutorials 59

TakeMatrix[A,{a,b},{c,d}] extracts a submatrix from A beginning with the entry in the

row a and column b and ending with the entry in row c and column d.

VisualLA Package Commands

Analysis[S] displays a relative frequency histogram of the letters in the string S. All lowercase
letters are converted to capitals and spaces are removed before the histogram is constructed.

Augment[A,B] augments the matrix A by the matrix B.

BackSolve[R,x] solves the linear system for which R is a row echelon form of the augmented
matrix and uses xi for free variables.

BackwardIdentityMatrix[n] produces the n by n backwards identity matrix.

BasisGrid[u,v,{a,b}] draws xy- and uv-coordinate grids and together with the point au+bv.

Caeser[n,S] performs a Caesar shift on the string S by shifting n places to the right.

Clock[A] generates an animation which simultaneously displays a rotating unit vector v and
its image Av where A is a 2 by 2 matrix.

ComponentPlot[A, x0, Pointsn] generates an animation showing the components of the

vectors Ak x0 for k = 0, . . . , n.

CopyInto[A,B,{m,n}] copies the matrix A into the matrix B with the entry in the first row
and first column of A going into the mth row and nth column of B.

DrawLines[{eqn1,eqn2},{x,y}] draws the graphs of eqn1 and eqn2, which are equations in
x and y of lines in R2 .

DrawMatrix[F] draws the figure whose vertices are the columns of the matrix F .
60 Instructors Guide

DrawPlanes[{eqn1,eqn2},{x,y,z}] draws the graphs of eqn1 and eqn2 which are equations
in x, y and z of planes in R3 .

DrawSpline[points] computes and then plots the cubic splines passing through points.

DrawVector[{u,v,w}] draws the vectors u, v, and w in standard position in R 2 .

DrawVector[{u,{v,w}}] draws the vector u in standard position and the vector from the tip
of v to the tip of w in R2 .

DrawVector3D[{u,v,w}] draws the vectors u, v, and w in standard position in R 3 .

DrawVector3D[{u,{v,w}}] draws the vector u in standard position and the vector from the
tip of v to the tip of w in R3 .

EigenVectors[A] produces the eigenvectors of the matrix A.

FourierApproximation[f[x],x,n] computes the nth partial sum of the Fourier series for
f (x).

FourierApproximationsPlot[f[x],x] constructs an animation showing the graph of f (x)

along with the first 20 Fourier series approximations of f (x).

GenerateMatrix[{eqn1,eqn2,eqn3},{x,y,z}] produces the augmented matrix for the linear

system {eqn1,eqn2,eqn3 } in the unknowns x, y, and z.

GridGame[a,b] displays the vector au+bv, where u and v are given vectors, and target points
are indicated.

HeadTail[A] displays equally spaced unit vectors v and their images Av, where A is a 2 by 2
matrix.

IProduct[f[x],g[x],{x,a,b}] computes the integral inner product of f (x) and g(x) on the
interval [a, b].

IProjection[f[x],g[x],{x,a,b}] computes the projection of f (x) onto g(x) using the inte-
gral inner product.
Appendix F Commands Used in Mathematica Tutorials 61

JordanMatrix[n] produces the n by n matrix with 1s along the diagonal just above the main
diagonal and 0s elsewhere.

LeastFitMatrix[v,n] creates a matrix whose columns are the powers 0 through n of the
entries of the vector v.

LUDecompositionVisualLA[M] generate the LU-decomposition of the square matrix M . The

three matrices P , L, U returned satisfy M = P LU .

matrix.

MatrixSolve[A,b,x] solves the matrix-vector equation Ax = b for x. The solution is ex-

pressed in terms of the free variables x i .

ModMultiplicativeInverse[A,p] computes the multiplicative inverse modulo p of A. The

first argument A can be either an integer or a square matrix of integers.

Movie[M, F, Frames->n] generates an animation whose successive frames are plots of the
figures M k F for k = 0, . . . , n.

NullBasis[A] returns a matrix whose columns form a basis for the null space of the matrix A.

PathPlot[{x[t],y[t]},{t,tMin,tMax}] creates a plot of the trajectory of (x(t), y(t)) for t

values from tMin to tMax using vectors showing motion along the path.

Pinball[M,p,n] constructs an animation of a game of Markov pinball. M is a 9 by 9 Markov

matrix, p is the initial position, and n is the number of transitions.

Pivot[M,{i,j}] applies elementary row operations to the matrix M , pivoting on the entry in
the ith row and jth column of M .

PointPlot3D[{pt1,pt2,pt3,pt4}] plots the points {pt 1 , pt2 , pt3 , pt4 } in R3 where each point
is given as a list of three coordinates.
62 Instructors Guide

PolygonPlot[{pt1,pt2,pt3,pt4}] plots the polygon in R 2 whose vertices are

{pt1 , pt2 , pt3 , pt4 }.

PolygonPlot3D[{pt1,pt2,pt3,pt4}] plots the polygon in R 3 whose vertices are

{pt1 , pt2 , pt3 , pt4 }.

ProjectionMatrix[] produces the 2 by 2 matrix that projects vectors onto the line making
the angle with the x-axis.

ProjectionMatrix3D[n] produces the 3 by 3 matrix that projects vectors onto the plane with
normal vector n.

ReduceMatrix[M] produces a row echelon form of the matrix M .

ReduceMatrix[M, RREFTrue] produces the reduced row echelon form of the matrix M .

ReflectionMatrix[] produces the 2 by 2 matrix that reflects vectors across the line making
the angle with the x-axis.

ReflectionMatrix3D[n] produces the 3 by 3 matrix that reflects vectors across the plane with
normal vector n.

ResidualPlot[data,f[t],{t,tMin,tMax}] plots the n points (x, y) in data (an n by 2 ma-

trix), the graph of the function f (t) in t, and the residuals between the values of function
and the data points.

RotationMatrix[] produces the 2 by 2 matrix that rotates vectors through the angle .

RotationMatrix3D[v,] produces the 3 by 3 matrix that rotates vectors about the axis with
direction vector v through the angle .

RowOperation[M,rj,c*rj] replaces row j of the matrix M with c times row j.

RowOperation[M,rj,rj+c*rk] replaces row j of the matrix M with the sum of row j and c
times row k.

RowOperation[M,rj,rk] interchanges row j and row k of the matrix M .

Appendix F Commands Used in Mathematica Tutorials 63

SimulatePinball[M,p,n,num] returns a list of 9 integers that represent the outcomes of sim-

ulating num plays of the Markov pinball game.

ToAlphabetic[L] converts the list L of integers in the range 0 to 28 into a string of capital
letters.

ToNumeric[S] converts the string S into a list of integers. Lowercase letters are converted to
capitals and spaces are removed.

0, . . . , n.

Trajectory3D[A, x0, Pointsn] creates an animation of the points A k x0 in R3 for k =

0, . . . , n.

Transform[M,F] draws the figure whose vertices are the columns of the matrix F along with
the transformed figure M F .

from 0 to 1.

tor v.

VectorGrid[{u,v},aa1,bb1] generates a grid based on the vectors u and v, and draws

the vector a1 u + b1 v.

VectorGrid[{u,v},a{a1,a2},b{b1,b2}] generates a grid based on the vectors u and v,

and shades in all the points au + bv, where a 1 a a2 and b1 b b2 .

VectorLine[v,p] draws the line through the origin with direction vector v and the parallel
line with position vector p.
64 Instructors Guide

VectorTranslate[F,p] draws the figure whose vertices are the columns of F and the translate
of this figure by the vector p.

YShearMatrix[k] produces the 2 by 2 vertical shear matrix with parameter k.

ZerosBelow[M,{i,j}] produces the matrix obtained by pivoting on the (i, j) entry of the
matrix M to obtain 0s below the (i, j) entry.