From hrm@math.mit.edu Sun Aug 10 16:15:15 2003 Dear Hu, A lot of work here! You wrote a bunch of text, I'm sorry, I had a second batch but failed to forward it to you, it's broken down into tools below. I'll be talking with Bolek Wyslouch on Monday afternoon around 2, in my office, about these tools. He teaches the waves course in the physics department here, and has used some pretty crude Matlab visualization routines. I think he'll like this stuff. I want him to adopt it. You're welcome to join us. When the stuff below gets incorporated and checked out, we'll want to create clean and equivalent copies for Linux, SunOS, PC, and, I think, Mac. We can make executables for those last two platforms as well, can't we? That might be simpler than the plugin. I spent an hour with Dan Freedman last week, showing him some of this stuff and what Mattuck did with it in the spring. He's pretty obdurate, but I offered various forms of support. It really would help his class if he used this. - haynes Beats Interesting new stuff. The zoom button is a terrific idea. I guess it doesn't hurt to have f and g optionally displayed in the top window. I don't think that "sin((w-1)t)" adds much. The other option, sin(((w+1)/2)t) [missing a left paren and with w in place of omega, as printed; and I think (1+omega)/2 looks better than (omega+1)/2] is suprisingly interesting and maybe we should keep it. The lesson is that while it's clear that the "tone" frequency can't generally be the average of 1 and omega (just take A = 0 to see that), it comes surprisingly close most of the time. This is a bit subtle. To see it you have to compare the top screen to the bottom screen. Still, it has a negative lesson as well - it confirms that the average frequency really isn't quite right (unless A = 1). I guess long ago I proposed those double arrow keys, to produce what the engineers call chirps. But in fact moving the omega slider does a perfectly adequate job. So: let's kill the >> and << keys and the sin((w-1)t) option. Also, the horizontal rule is in green. This keys to the sum, but the rule can be used for many purposes. I think it's probably better to leave it in white, and the x read out in white too. I'm still vacillating between phi and theta!! Otherwise this looks very good to me. I'm real proud of the envelope! Help Text: This tool supports graphical exploration of the formation of beats in the sum of two sinusoidal waveforms. The bottom graphs show f(t) = sin(t) in red and g(t) = A sin(omega t - phi) in yellow. The amplitude A , the circular frequency omega , and the phase lag theta, can each be controlled by the sliders at the bottom. Hash marks on sliders are active, and arrow keys on the omega slider allow for fine adjustments. Rolling the cursor over the top window to produces crosshairs and readouts of t and x. A "zoom" button toggles between a time range from 0 to 20 pi and from 0 to 60 pi. An "envelope" button displays the graph of an enveloping curve in the top window. Toggles allow any combination of f(t), g(t), or sin(((1+omega)/2)t) to be displayed in the top window. Complex Roots Help Text: This tool supports graphical exploration of the formation of roots of complex numbers. A window displays the real and imaginary axes and the unit circle in white, a radius vector to a complex number z in cyan, the circle containing the nth roots of z in blue, and the n nth roots of z in yellow, with green radius vectors. The value of z can be controlled by a mouse click and drag on the graphing window, or by the angle and modulus sliders at bottom. Hashmarks on the sliders are active. The modulus of z is automatically decreased as necessary as the angle is changed, so z fits on the screen. The number n can be chosen by buttons from integers between 2 and 9. A zoom key toggles between a screen size of 20x20 and 4x4. If the modulus of z exceeds 2 then it is reset to 2 when the zoom is toggled to the smaller window. The value of z is read out on the right. Below this buttons allow the display of the modulus of z and its nth roots, the angle of z and of its principle nth root, or the values of the nth roots. Complex Exponentials I still prefer the display of the full line and its image, rather than just the segment corresponding to [0,1], as in http://www-math.mit.edu/~ashot/ComplexExponential.htm Help Text The effect of the exponential function on the complex plane is illustrated. The z plane is displayed at left, and the w = e^z - plane is displayed at right. The complex number 0 is marked with a red diamond at left, and its image under the exponential map, the complex number 1, is marked with a red diamond at right. A complex number z can be chosen by a mouse click on the left window, and is marked in blue. Its value is read out in blue below the left window, and the value of e^z is read out in blue below the right window. The straight line through 0 and z is marked in yellow on the left window, and its image under the exponential map appears in yellow on the right window. Sliders under the left window also control the number z = a + bi. If the a slider is used, the line in the z plane parametrized by a + bi (for the given value of b ) appears in dark blue on the left screen, and the image of this line under the exponential map (which is a ray from the origin making an angle of b with the positive real axis) appears on the right screen. If the b slider is used, the line in the z plane parametrized by a + bi (for the given value of a ) appears in dark blue on the left screen, and the image of this line under the exponential map (which is a circle centered at 0 with radius e^a) appears on the right screen. A slider at lower right allows a choice of t between 0 and 1. When it is selected, the yellow curves turn white and a yellow diamond appears on the left window at (a+bi)t and in the left window at e^{(a+bi)t} . Damped Vibrations gives me exception 8101 caused at line 1168 in initialconditions, 85 in thisprogram in Main program, 201 in Main program. Damping Ratio I think the window at middle bottom needs some sort of label. "Roots of p(s)" maybe, in yellow. The characteristic equation looks out of place and coloring it in cyan associates it with x, which is not intended. It might be good to write p(s) = s^2 + 2 zeta omega_n s + omega_n^2 somewhere, also in yellow. Can we think of a way to associate the value of omega_n with the magnitude of the roots? if the roots are not real, omega_n = |r_1|. Help Text: This tool supports the visual exploration of the meaning of the damping ratio zeta in an unforced second order LTI system. The window at top displays a solution to the ODE x" + 2 zeta omega_n x' + omega_n^2 x = 0. The vertical scale of this window can be set by means of four buttons below it. Crosshairs show when you roll the cursor over the window, and the values of t and x are displayed. Set the initial conditions on the window at lower left or using the sliders. Set the undamped natural circular frequency omega_n using the slider at lower right. Set the damping ratio zeta using the slider at bottem center (which actually reads out the negative of zeta). The characteristic polynomial is displayed symbolically, and its roots are displayed in yellow and also represented by yellow diamonds in the window at bottom center. The green dot in that window is the value of - zeta. That window also displays the left half of the unit circle, and the line segment connecting two conjugate roots. The arrangement reveals the geometric relationship bewteen zeta and the roots, most easily observed when omega_n = 1 . Buttons control the vertical scale of the right hand graphing window. The solution is displayed in blue on that window. Euler's Method "Start/Next Step" works well. Let's make this even more logical, as follows: when you click on a position on the graphing plane, all that shows up is the starting diamond. In order to display the first Euler segment, you have to go and press the "start" key (which the switches to "next step"). I wonder if we might not find a way to distinguish the active "starting point" visually on the screen. The value of (t_0,y_0) could be color coded to that point. If you set several positions using the cursor, you end up with several white diamonds on the screen, and the only way of telling which is the "start" position is by comparing with the read out value of (t_0,y_0). I think I'd prefer to have the Delta y/Delta t read out labeled "f(t,y) = ... " And I know I'd prefer to have the menu choices written "f(t,y) = ..." , since some of them depend upon y as well as on t. There is something slightly illogical about showing the direction vector that you do when "Actual" is pressed, but I think what you do is the best choice. Help Text This tool supports visual exploration of Euler's method of approximating solutions to the first order ODE dy/dt = f(t,y). A function f(t,y) is chosen from a menu at lower right. A toggle permits the display of the corresponding direction field in the main window. The stepsize is chosen by means of buttons, and the corresponding Euler polygons are displayed in corresponding colors. It is also possible to cause all these stepsizes to be used simultaneously, or the "actual" solution curve (computed in fact using RK4). The initial condition is selected by clicking on the main window. A click sets the value of (t_0,y_0) and leaves a white diamond on the screen. The polygon is begun by clicking the "Start" button, and continued by clicking the "Next step" button. If "All Euler" has been selected, then "Start" will cause all four forward time Euler polygons to appear. The screen may be cleared of graphics, leaving only the currently active initial value, by means of the "Clear" button. Rolling the cursor over the main window causes the display of a direction vector i + f(t,y) j at position (t,y), and the coordinates (t,y) and the value of f(t,y) are read out at upper right. To the left is a column of values of (t,y) , starting with the selected initial condition and continuing with the verticies of the Euler polygon. Forced Damped Vibrations When you chnage the zoom, the x'(0) label loses its close-parenthesis. I think that the yellow initial condition dot should stay on even if the solution curve is not displayed. I guess I think the same for the green diamond; it should stay even if the graph of the steady state is turned off. When b = 0 and omega^2 = k , all the displays go off. This is resonance. Let's be clear here. When b = 0, it's somewhat of a misnomer to talk about "transients," since the only homogeneous solution which dies off as t grows is the zero solution. Still, it does make sense to talk about "steady state," for the poor reason that there is a uniform formula for the steady state when b > 0 which continues to make sense when b = 0: then it is cos(omega t) / (omega_n^2 - omega^2) . This is what you show as long as omega differs from omega_n You are correct, this formula does NOT make sense when the two are equal. So neither steady state nor transient make sence in that situation, and it's correct to make them vanish. You should also make the readout for the green steady state initial conditions vanish (with the green expressions x(0) = , x'(0) = ). Nevertheless there IS a solution with the given initial conditions, and it should be drawn. Here's the formula for it. Remember, this is when b = 0 and k = omega^2: x(t) = (x(0) + t/(2 omega)) cos(omega t) + (x'(0)/omega) sin(omega t) . This should be displayed (in yellow). Let's open this tool with "Solution" selected and the other two off. Help Text In this tool the ODE x" + bx' + kx = cos(omega t) is studied. The parameters b, k, and omega, can be set by sliders at the bottom. The contents of the time series window are controlled by three buttons labeled "Steady State," "Transient," and "Solution." The corresponding functions are displayed in green, blue, and yellow, respectively. The vertical scale of this window can be set by buttons below it. A rollover causes crosshairs to appear, and a readout of the value of (t,x). Initial conditions are set by cursor click on the window at left, or by sliders. The initial condition of the steady state solution is indicated on that window in green. The values of these initial conditions are read out above. Fourier Coefficients Let's rename this and drop the "Series." The font of the new distance readout isn't as pretty as the old one, and has some definite oddities (such as the '2'). I got used to the new location quickly but not the new font. I see that the the new normalization is in place. We could simplify the screen slightly by saying just "Sine" and "Cosine" in place of "Sine Series" and "Cosine Series." Help Text Fourier coeffients of a periodic function are the coefficients of sines and cosines contributing to the root mean square optimal approximation. Buttons at lower center select whether to use cosine or sines. Below them, a further choice is offered of all terms, only the even terms, or only the odd terms. The "Formula" key toggles a display of the expression in which the coefficients appear. Sliders and < , > keys at right control the value of the first few coefficients of the selected type. "Reset" clears these selections. The graphing window displays the graph of the sum in yellow. If a slider is used to change one of the coefficients, the graph of the corresponding term alone is also displayed, in pale white. Buttons labeled A through F present six target functions, graphed in green. The target is cleared by the "Clear" key. If a target is selected, the root mean square distance from the selected finite Fourier series to it can be displayed by pressing the "Distance" toggle. Harmonic Frequency Response Help Text: The harmonic oscillator with circular frequency omega is driven by a periodic signal of fixed period 2 pi. This tool shows the periodic system response. The main graphing window shows the signal in blue and the periodic system response in yellow. The cursor invokes crosshairs and a readout of the values of t and x. A menu at bottom right selects the signal f(t). Each signal is marked with a * when it has been invoked. A slider and < , > buttons at right control the natural circular frequency omega_n of the harmonic oscillator. Above this slider is a graph of the root mean square size of the system response, with the value corresponding to the current value of omega marked by a yellow diamond and line segment. First Order Frequency Response Help Text: This is paired with "Second order frequency response." It illustrates the equation governing e.g. temperature response in insulated container to a sinusoidally varying ambient temperature. A slider at right controls the circular frequency of the ambient temperature omega. A slider at bottom controls the coupling constant k, which is a measure of the degree of insulation. Time can be set using the t slider, animated using the >>> key, or moved incrementally using the < , > keys, and the value is read out at right. The middle graphing window shows the signal in blue and the periodic system response in yellow. The values corresponding to the chosen time are marked with blue and yellow diamonds and connected by a white bar. The window at left illustrates the relationship between the value of the signal and the system response at the selected time. The minimal period P and the time lag t_0 are recorded at bottom center. The time lag is also indicated by a red bar on the main graphing window, connecting the t = 0 line to the first maximum of the system response. A yellow horizontal line indicating the amplitude appears when the cursor is in the main graphing window. The "Bode and Nyquist Plots" button opens up three other windows on the right side of the screen. The top one shows the amplitude response curve, with the amplitude, A, corresponding to the selected circular frequency marked by a yellow line segment and diamond. The second one shows the phase shift curve, with the phase shift, - phi, corresponding to the selected circular frequency marked by a green line segment and diamond. Rolling the cursor over either one of those windows causes a horizontal rule and a read out value to appear. The bottom window shows the trajectory of the complex number k/p(i omega) as omega varies from 0 to +infinity, with the value corresponding to the selected circular frequency marked by a yellow diamond. The line segment joining the origin to that complex number is marked in yellow and the angle of that complex number in green, since the modulus of that complex number is the amplitude and the angle of that complex number is the phase gain. The characteristic polynomial of the operator, p(s) , is indicated at bottom right. Note: These are not quite truly Bode or Nyquist plots. A Bode plot graphs log(A) vs log(omega) or - phi vs log(omega). A Nyquist plot displays k/p(i omega) as omega ranges from -infinity to + infinity; it has a portion above the real axis which is symmetric with what is drawn. Second order frequency response Help Text: This is paired with "First order frequency response." It illustrates the equation governing e.g. a mass/dashpot/spring system responding to the motion of a sinusoidally oscillating plunger attached to the end of the spring. A slider at right controls the circular frequency of the ambient temperature omega. A slider at bottom controls the coupling constant k, which is a measure of the degree of insulation. Time can be set using the t slider, animated using the >>> key, or moved incrementally using the < , > keys, and the value is read out at right. The middle graphing window shows the signal in blue and the periodic system response in yellow. The values corresponding to the chosen time are marked with blue and yellow diamonds and connected by a white bar. The window at left illustrates the plunger (blue) attached to the top of a spring, moving a mass (yellow), which is attached to a dashpot at bottom. The system is shown at the time selected. The minimal period P and the time lag t_0 are recorded at bottom center. The time lag is also indicated by a red bar on the main graphing window, connecting the t = 0 line to the first maximum of the system response. A yellow horizontal line indicating the amplitude appears when the cursor is in the main graphing window. The "Bode and Nyquist Plots" button opens up three other windows on the right side of the screen. The top one shows the amplitude response curve, with the amplitude, A, corresponding to the selected circular frequency marked by a yellow line segment and diamond. The second one shows the phase shift curve, with the phase shift, - phi, corresponding to the selected circular frequency marked by a green line segment and diamond. Rolling the cursor over either one of those windows causes a horizontal rule and a read out value to appear. The bottom window shows the trajectory of the complex number k/p(i omega) as omega varies from 0 to +infinity, with the value corresponding to the selected circular frequency marked by a yellow diamond. The line segment joining the origin to that complex number is marked in yellow and the angle of that complex number in green, since the modulus of that complex number is the amplitude and the angle of that complex number is the phase gain. The characteristic polynomial of the operator, p(s) , is indicated at bottom right. Note: These are not quite truly Bode or Nyquist plots. A Bode plot graphs log(A) vs log(omega) or - phi vs log(omega). A Nyquist plot displays k/p(i omega) as omega ranges from -infinity to + infinity; it has a portion above the real axis which is symmetric with what is drawn. Linear Phase Portraits: Matrix Entry This is looking very good. One more thing here: when the "companion matrix" box is checked, the matrix entry sliders for the top row of the matrix should become inactive: a = 0 , b = 1 are the values, period. I'm not sure how we should indicate this When one of the matrix entries gets into two digits, it's represnted by *****. This is not entirely erased later on, neither next to the slider nor in the matrix display. It's an interesting challenge to figure out how to make the entries as large as you want. Help Text: This tool supports the visual exploration of the relationship between the matrix A, its trace and determinant, the corresponding vector field, and the trajectories of solutions to x' = Ax. The matrix entries are controlled by sliders at lower right and the matrix A is displayed at left. Above that is a readout of the trace and determinant of A. At upper left the trace/determinant plane is displayed, divided into regions corresponding to geometric type of the phase portrait of the differential equation. If tr A and det A are both between -4 and 4, the point is indicated in that window by a "+." The matrix may also be controlled by a mouse click or drag in that window. In this mode, the matrix will either be the companion matrix, with top row [ 0 1 ] , or the matrix with the currently active angular and asymetry properties (which are then fixed until the matrix entries are changed manually or the companion matrix is selected). At upper right the direction field is displayed, along with all eigenlines. Rolling over that window gives a readout of the coordinates as an initial value, and clicking in it creates the trajectory through that point. The color of the trajectory and the color of the eigenlines match the color of the region in the (tr,det) plane. Below this window the name of the geometric and stability type is displayed. The "clear" button clears all trajectories except those along eigenlines. The "eigenvalues" button at bottom toggles a window displaying the complex plane with the eigenvalues of A marked, and a readout of the two eigenvalues. Linear Phase Portraits: Cursor Entry Help Text: This tool supports the visual exploration of the relationship between the matrix A, its trace and determinant, the corresponding vector field, and the trajectories of solutions to x' = Ax. The matrix entries cannot be controlled directly. Rather, the trace and determinant are selected by sliders at lower right or by a cursor click in the window at lower left. The set of matrices with given trace and determinant are parametrized by an angular value and an "asymmetry" parameter s , which are controled by sliders or window mouse click at upper left. The trace-determinant window is divided into regions corresponding to geometric type of the phase portrait of the differential equation. At upper right the direction field is displayed, along with all eigenlines. Rolling over that window gives a readout of the coordinates as an initial value, and clicking in it creates the trajectory through that point. The color of the trajectory and the color of the eigenlines match the color of the region in the (tr,det) plane. Below this window the name of the geometric and stability type is displayed. The "clear" button clears all trajectories except those along eigenlines. At bottom the matrix A is displayed, along with its eigenvalues. Phase Line I hate to fiddle with this, but: First, there's an exception that occurs when y' = r + ay - y^2 and you drive r across zero with the bifurcation plane on. Actually, for our purposes the examples with the parameter r are surplus, but B+D may love them. As far as we are concerned we could scrub the last two examples. In y' = ay + y^3, when a > 0 , x = 0 is an unstable equilibrium and so should be drawn in red. (There IS a red dot, but the line is green.) Also, in all the examples, when the bifurcation plane or the phase line is toggled on or off, the slider indicator for a is reset to zero, but the rest of the tool retains the current value of a . (This latter is the correct behavior.) I wonder what the discussion was about insisting on starting the solutions at t = 0 no matter where the cursor is positioned. Of course, we know that it doesn't matter, it's time independent. But the students don't have this instinct yet, and as it is now it's quite hard to see that the various solution curves you can draw (between two given critical points) are all time translates of each other. If the solution could be drawn through any point, the students could use this tool to learn to visualize that fact. It would mean you have to backwards solve. It would still make sense to have a click on the phase line start the solution at t = 0. I'm holding off on proposing Help Text for the moment. Taylor Polynomials [Let's change the name to this.] I see that John Cantwell's radii of convergence have reappeared. They really don't belong in this tool. This tool does not help to understand their meaning, and they are distracting from what the tool does do. Help Text: A function is selected from a menu at lower left. Its graph is drawn in blue on the graphing window. Below it a slider selects a value a of x. The value of a can be increased or decreased using the > and < keys, or animated using the >>> key. At bottom center a slider selects n between 0 and 9. The Taylor polynomial of this order at the point a is displaayed in yellow. A toggle at bottom right allows display of the Taylor polynomial formulae, and a readout of the polynomial at the selected value of a. Transients This seems to be an older form of Forced Damped Vibrations. Trochoid Curves [To simplify language it might be better to call this "Cycloids." I'm intimidated by words like "trochoid," and the word doesn't occur in the tool itself.] Any chance of an arrow head on the velocity vector? I think we should adopt the conventions we have been standardizing, and have a rollover create crosshairs and a white readout (rather than green, which wrongly associates with the green circle). Also, of course, when the cursor is not on the time series window the readout values should be blank. There's a bug here. Try setting b = 4 and theta to something positive, and then a = .56 or so. Theta gets reset to zero but the velocity vector is not recomputed, and ends up leaving the drawing plane and then remaining there un-erased. I would like to make another small change here, to the "trace" option. I'd like to think of another color, say purple for the sake of this description, and draw the trace of the horizontal line at y = a in that color. The axel of the wheel should be a purple dot. When "trace" is selected, the horizontal line at y = a should trace out in purple (instead of pale white as it is). And: the fixed equations x = a theta - b sin(theta) y = a - b cos(theta) should be color coded: x and y in yellow; a theta and b in purple; and - b sin(theta) and - b cos(theta) in blue. Help Text: This tool supports visual exploration of the relationship between the velocity vector and the trajectory of a particle, and of the formation of complex parametrized curves as sums of simpler ones. The "time" parameter is theta. The two parametrized curves are: x = a theta, y = a (parametrizing a horizontal straight line) and x = - b sin(theta), y = - b cos(theta) (parametrizing a circle) The sum parametrizes the path of a spot b units from the center of a wheel of radius a, as the wheel rolls along the x-axis. The wheel is illustrated in green, its center in purple. In the graphing window, the purple dot marks the position on the first curve. The green circle has radius a and center at the purple point. The radius vector for the second parametrized curve (translated) is represented in blue. The position on the curve parametrized by the vector sum is represented by the yellow dot. Sliders control the values of a , b , and theta. Theta can be animated using the >>> key, or incremented using the < , > keys, or reset to zero using the "reset" key. When the cursor rolls over the graphing window, crosshairs appear and the value of (x,y) is read out below the window. The "trace" button causes the yellow and purple dots to leave curves behind them. The "velocity vector" button causes the velocity vector to be illustrated, in red. Linearized Trigonometry Help Text: The terms in a Maclaurin series are visualized, using the base and height of a right triangle with unit hypotenuse as functions of the slope of the hypotenuse. A slider or arrow keys control the value of the slope m. The corresponding trangle is displayed in a window above, with the base in green, the height in blue, and the arc in white. Values to twelve decimal places are displayed for m, theta, a, and b. A key opens a readout of the first few Maclauren coefficients of a as a function of m. Convolution Forward Help Text: The convolution integral is visualized as a superposition of impulse responses. Select the signal function f(t) (in green) and the weight function g(t) (in white) using menus at right. Select a step size Delta u from the choices 1/2, 1/4, or 1/8, using buttons at upper right. The bottom graphing window contains the graph of the signal function f(t) in pale white. The upper window contains the graph of the convolution f(t)*g(t), in in pale white. To understand this visual, select f(t) = 1 + cos(bt) and g(t) = e^{-at}. We have a model of farm runoff into a lake. It varies seasonally, and the rate at which phosphates, say, enter the lake is given by f(t). These chemicals are washed out of the lake, as well; the amount in the lake decays exponentially, so that of every kilogram in the lake at time u , g(t-u) kilograms remains in the lake at time t , i.e. time t - u later. The assumption is made that at t = 0 the phosphate load is zero ("rest initial conditions"). Select stepsize 1/4 and click u = 3. An animation ensues in which the weight function g(t) is shifted progressively to the right, given by g(t-u) for u stepping through quarters up to the value 3, multiplied at each stage by f(u) for the appropriate value of u. The representation of the signal turns green as this process proceeds. These blue graphs in the lower window are multiplied by 1/4 and laid down on top of what has been contributed already, for smaller values of u. So the upper graph displays the cumulative total amount of phosphate in the lake. The yellow curve gives this answer; it is the convolution f(t)*g(t). With u = 3, if you follow the yellow curve and then the top blue curve, you are tracing out the amount of phosphate in the lake resulting from runoff which proceeds at the rate f(t) for t < u but is then reduced to zero for t > u. The contribution made in a given time interval of length 1/4 can be visualize by clicking on either of the graphing windows. In more mathematically precise terms: Clicking on a value of u on the slider at the bottom animates the construction of the covolution f(t)*g(t) as a sum of terms of the form f(u) g(t-u) Delta u. The function f(Delta u) g(t - Delta u) is graphed in blue in the bottom graphing window and f(Delta u) g(t - Delta u) Delta u is recorded in the upper graphing window; then the function f(2 Delta u) g(t - 2 Delta u) is graphed in blue in the bottom graphing and f(2 Delta u) g(t - 2 Delta u) is added to the function already represented in the upper window; and so on, till the multiple of Delta u has reached the chosen value of u . At the same time, the actual value of the convolution, up to the chosen value of u, is built up in yellow in the upper window. Also, the signal as it exists up to this point is represented in green in the bottom window. Moving the cursor over either graphing window results in a vertical rule at that value of the time variable. Clicking the mouse key then causes the region below the graph of f(u) g(t-u) to appear in blue in the bottom window, and a representation of f(u) g(t-u) Delta u, as it appears laid down on top of the previous contributions to the convolution, appears in the upper window. The values of u are constrained to be multiples of Delta u. The curve in the upper window given by the yellow curve continued to the right by the topmost blue curve represents the convolution of the weight function with the signal truncated at the selected value of t (extended to the rigth with value zero). Convolution Backward Let's have the default time setting way back at t = -1. Help Text: to come. I don't have access to a working current copy here at home.