January 15, 2004

Linear Algebra Widgets – a Sampler

Below is a sample of the widgets I've been developing for a course in elementary linear algebra, and some notes on their design. Please remember that they're taken out of context here; however, they should be understandable by anyone who's ever taught the course.


These two are examples of a stepped process/algorithm. The first uses standard "player" buttons.

 

The steps of the second example cycle in groups of three, and the right-most button label cycles to reflect those steps.

Much of the time spent designing this latter one was spent in finding a quintessential example – one which shows all possible situations – both occasions where you'd swap rows, for example. I think this widget works well mainly for two reasons:

  • It's user-paced and repeatable. A student learning the algorithm proceeds through it at his/her own speed, can retrace the steps or repeat the demonstration as often as wanted.
  • It removes focus from the details of the calculations by doing them itself automatically – the focus is more on learning just which row operations to do and why. This frees the student to concentrate on learning the algorithm without getting bogged down in computational details.

 

The next pair are examples of multi-part calculations in which the individual parts come from a different part of the structure. Clicking on a number shows/highlights that individual part of the calculation.

 

 


 

The following three widgets are bi-state examples – clicking the button alternates between states.

The first is a visual representation of a common and useful matrix multiplication identity. Using coloured columns instead of numerical ones helps the student focus on the pattern instead of the numerical details.

 

The next widget is one of a series dealing with the conditions under which a function has an inverse. The first of the series flipped between a function and its inverse; this one shows what goes wrong when the function is not one-one.

 

The third widget is one of many showing the effects of a matrix mapping on a vector in 2-space. It's only a two-frame animation, but I find that the brain (my brain, anyway) interpolates between the two frames, producing a very rapid rotation.

Notice the ghost of the first vector in the second frame. It's there to provide a reference for the rotated vector. Ghosts are useful when you want to compare visually the initial and final positions/states of a moving/changing object.


 

The last one is a multi-state situation. I wanted to show examples of several coordinate systems while making it clear visually that, when you change coordinate systems, you change only the representation of a vector, not the vector itself. Note that the vector v is visually the same throughout; the coordinates change "behind" it.