<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
<?xml-stylesheet type="text/xsl" href="./code/mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title> The Geometry of the Dot and Cross Products </title>
<link rel="stylesheet" type="text/css" href="./code/styles.css" />
<script src="./code/scripts.js" type="text/javascript"></script>
</head>
<body>

<h1 class="joma">Journal of Online Mathematics and Its Applications</h1>
<p class="header"><a href="http://mathdl.maa.org/mathDL/4/?pa=content&amp;sa=viewDocument&amp;nodeId=1156" title="Go to title page">Volume 6.  June 2006. Article ID 1156</a></p>

<h1 class="title">The Geometry of Dot and Cross Products</h1>

<h2 class="author">Tevian Dray and Corinne A. Manogue</h2>

<h3>Contents</h3>

<ol>
	<li><a href="#Section1">Introduction</a></li>
	<li><a href="#Section2">Dot Product</a></li>
	<li><a href="#Section3">Examples</a></li>
	<li><a href="#Section4">Gram-Schmidt Orthogonalization</a></li>
	<li><a href="#Section5">Cross Product</a></li>
	<li><a href="#Section6">Cross Product Pedagogy</a></li>
	<li><a href="#Section7">Divergence and Curl</a></li>
	<li><a href="#Section8">Discussion</a></li>
</ol>

<hr title="Header Division" />

<h2><a name="Section1">1. Introduction</a></h2>

<p>Most students first learn the algebraic formula for the dot and cross products in rectangular coordinates, and only then are shown their geometric interpretations.  We believe this should be done in the other order.  Students tend to remember best the first definition they use; this should not be an algebraic formula devoid of context.  The geometric definition is coordinate independent, and therefore conveys invariant properties of these products, not just a formula for calculating them.  Furthermore, it is easier to derive the algebraic formula from the geometric one than the other way around, as we demonstrate below.</p>

<h2><a name="Section2">2. Dot Product</a></h2>

<p class="graphic"><a name="Figure1"><img src="./figures/dot.gif" alt="dot.gif" /></a><br />
Figure 1: The dot product is fundamentally a projection.</p>

<p>The dot product is fundamentally a projection.  As shown in <a href="#Figure1">Figure 1</a>, the dot product of a vector with a unit vector is the projection of that vector in the direction given by the unit vector.  This leads to the geometric formula</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq1">(1)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>&verbar;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&verbar;</mo><mo>&InvisibleTimes;</mo><mo>&verbar;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&verbar;</mo><mo>&InvisibleTimes;</mo><mi>cos</mi><mi>&theta;</mi></mrow>
		</math></td>
	</tr>
</table>

for the dot product of any two vectors
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover></mrow>
</math>&nbsp;
and
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
</math>.

<p>An immediate consequence of (<a href="#eq1">1</a>) is that the dot product of a vector with itself gives the square of the length, that is</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq2">(2)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>&verbar;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><msup><mo>&verbar;</mo><mn>2</mn></msup></mrow>
		</math></td>
	</tr>
</table>

<p>In particular, taking the "square" of any unit vector yields 1, for example</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq3">(3)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<mrow><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>=</mo><mn>1</mn></mrow>
		</math></td>
	</tr>
</table>

<p>where
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover></mrow>
</math>
as usual denotes the unit vector in the <var>x</var> direction (<a href="JavaScript:openAncillary('UnitVector.xml', 500, 200)" class="ancillary" title="Open in a popup window">note </a>).</p>

<p>Furthermore, it follows immediately from the geometric definition that two vectors are orthogonal if and only if their dot product vanishes, that is</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq4">(4)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&bottom;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&Leftrightarrow;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mn>0</mn></mrow>
		</math></td>
	</tr>
</table>

<p>For instance, if
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow>
</math>
denotes the unit vector in the <var>y</var>-direction, then</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq5">(5)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>=</mo><mn>0</mn></mrow>
		</math>
		</td>
	</tr>
</table>

<p>The geometry of an orthonormal basis is fully captured by these properties; each basis vector is normalized, which is&nbsp;(<a href="#eq3">3</a>), and each pair of vectors is orthogonal, which is&nbsp;(<a href="#eq5">5</a>).</p>

<p>The components of a vector
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover></mrow>
</math>
in an orthonormal basis are just the dot products of
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover></mrow>
</math>
with each basis vector.  For instance, in two dimensions, setting</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq6">(6)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mtable>
			<mtr>
				<mtd><mrow><msub><mi>v</mi><mi>x</mi></msub><mo>=</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover></mrow></mtd>
			</mtr>
			<mtr>
				<mtd><mrow><msub><mi>v</mi><mi>y</mi></msub><mo>=</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow></mtd>
			</mtr>
			</mtable>
		</math>
		</td>
	</tr>
</table>

<p>implies
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>=</mo><msub><mi>v</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow>
</math>.
The component form of the dot product now follows from its properties given above.  For example, if
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><msub><mi>w</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>w</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow>
</math>,
then</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq7">(7)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mtable>
			<mtr>
				<mtd columnalign="left"><mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>(</mo><msub><mi>v</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>)</mo><mo>&middot;</mo><mo>(</mo><msub><mi>w</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>w</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>)</mo></mrow></mtd>
			</mtr>
			<mtr>
				<mtd columnalign="left">&emsp;&emsp;&emsp;<mrow><mo>=</mo><msub><mi>v</mi><mi>x</mi></msub><msub><mi>w</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>y</mi></msub><msub><mi>w</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>x</mi></msub><msub><mi>w</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>y</mi></msub><msub><mi>w</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover></mrow></mtd>
			</mtr>
			<mtr>
				<mtd columnalign="left">&emsp;&emsp;&emsp;<mrow><mo>=</mo><msub><mi>v</mi><mi>x</mi></msub><msub><mi>w</mi><mi>x</mi></msub><mo>+</mo><msub><mi>v</mi><mi>y</mi></msub><msub><mi>w</mi><mi>y</mi></msub></mrow></mtd>
			</mtr>
			</mtable>
		</math>
		</td>
	</tr>
</table>

<p>This computation clearly works for any orthonormal basis.  A special case is the dot product of a vector with itself, which reduces to the Pythagorean theorem, for example</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq8">(8)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>&verbar;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><msup><mo>&verbar;</mo><mn>2</mn></msup><mo>=</mo><msubsup><mi>v</mi><mrow><mi>x</mi> </mrow><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>v</mi><mrow><mi>y</mi> </mrow><mn>2</mn></msubsup></mrow>
		</math></td>
	</tr>
</table>

<p class="graphic"><a name="Figure2"><img src="./figures/law.gif" alt="law.gif" /></a><br />
Figure 2: The Law of Cosines is just the definition of the dot product!</p>

<p>What happens if you don't use an orthonormal basis?  Consider <a href="#Figure2">Figure 2</a>, in which
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">C</mi><mo>&rarr;</mo></mover><mo>=</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover></mrow>
</math>,
or equivalently
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">C</mi><mo>&rarr;</mo></mover><mo>=</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover><mo>-</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover></mrow>
</math>.
Then</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq9">(9)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<mtable>
			<mtr>
				<mtd><mrow><mover><mi fontweight="bold">C</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">C</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>(</mo><mo>-</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover><mo>)</mo><mo>&middot;</mo><mo>(</mo><mo>-</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover><mo>)</mo></mrow></mtd>
			</mtr>
			<mtr>
				<mtd><mrow><mo>=</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover><mo>-</mo><mn>2</mn><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover></mrow></mtd>
			</mtr>
			</mtable>
		</math>
		</td>
	</tr>
</table>

<p>or equivalently</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq10">(10)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mo>&verbar;</mo><mover><mi fontweight="bold">C</mi><mo>&rarr;</mo></mover><msup><mo>&verbar;</mo><mn>2</mn></msup><mo>=</mo><mo>&verbar;</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><msup><mo>&verbar;</mo><mn>2</mn></msup><mo>+</mo><mo>&verbar;</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover><msup><mo>&verbar;</mo><mn>2</mn></msup><mo>-</mo><mn>2</mn><mo>&verbar;</mo><mover><mi fontweight="bold">A</mi><mo>&rarr;</mo></mover><mo>&verbar;</mo><mo>&verbar;</mo><mover><mi fontweight="bold">B</mi><mo>&rarr;</mo></mover><mo>&verbar;</mo><mi>cos</mi><mi>&theta;</mi></mrow>
		</math></td>
	</tr>
</table>

<p>which is just the Law of Cosines!  The Law of Cosines is usually used to derive the geometric form of the dot product&nbsp;(<a href="#eq1">1</a>) from the algebraic form&nbsp;(<a href="#eq">7</a>), which is taken as the definition.  Instead, by starting with geometry, the Law of Cosines follows immediately.</p>

<p class="mathlet"><a name="Figure3"></a>
<iframe src="./ggb/dot.html" width="475" height="485"></iframe>
<br />
Figure 3: A geometric proof of the linearity of the dot product. (<a href="JavaScript:openAncillary('GeoGebra.xml', 475, 475)" class="ancillary" title="Open in a popup window">GeoGebra Commands</a>)</p>

<p>Not so fast!  Did you spot the flaw in the above argument?  In the computation&nbsp;(<a href="#eq7">7</a>) of the algebraic formula for the dot product in terms of components, it was assumed without comment that the dot product distributes over addition, or in other words that the dot product is linear. If one starts with the geometric definition&nbsp;(<a href="#eq1">1</a>), this must be proved.</p>

<p>However, the proof is straightforward, as shown in <a href="#Figure3">Figure 3</a>. We must show that</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq11">(11)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mo>(</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover><mo>)</mo><mo>&middot;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
		</math></td>
	</tr>
</table>

<p>But this is equivalent to showing that the projection of
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover></mrow>
</math>
(green) along
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
</math>
(black) is the sum of the projections of
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover></mrow>
</math>
(blue) and
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover></mrow>
</math>
(red), which is immediately obvious from <a href="#Figure3">Figure 3</a>.</p>

<h2><a name="Section3">3. Examples</a></h2>

<p>What is the bonding angle of carbon tetrachloride?  Take a tetrahedron, and connect each vertex (a chlorine atom) to the center (a carbon atom).  What is the angle between the lines that meet at the center?</p>

<p class="mathlet"><a name="Figure4"></a>
<iframe src="./ggb/tetra.html" width="475" height="485"></iframe>
<br />
Figure 4: The geometry of the bonding angle of carbon tetrachloride. (<a href="JavaScript:openAncillary('GeoGebra.xml', 475, 475)" class="ancillary" title="Open in a popup window">GeoGebra Commands</a>)</p>

<p>This problem can be done by brute force using high school geometry - try it. A simpler approach is to represent the tetrahedron using vectors.  It helps to realize that a tetrahedron is formed by connecting alternating vertices of a cube, as shown in <a href="#Figure4">Figure 4</a>, and that the center of the tetrahedron is at the center of the cube.  It is now straightforward to write down the coordinates of the vertices, thus obtaining the components of the vectors from the center (shown in red in the figure).  Compute the dot product (algebraically), divide by the magnitudes, and use the geometric expression for the dot product to read off the cosine of the angle.  The answer?  A bit more than 109&deg;</p>

<p>A simpler version of this problem would be to determine the angle between the diagonal of a cube and one of its edges, that is, between the green (or red) lines and the adjacent black lines in <a href="#Figure4">Figure 4</a>.  Or between the diagonals of adjacent faces - the blue lines in the figure.  Again, both the geometric and algebraic expressions for the dot product are involved in the solution.</p>

<h2><a name="Section4">4. Gram-Schmidt Orthogonalization</a></h2>

<p>The most common use of the dot product in applications in physics and engineering is to decompose vectors into their components parallel and perpendicular to a given vector, for which an understanding of the geometric definition&nbsp;(<a href="#eq1">1</a>) is essential.</p>

<p class="mathlet"><a name="Figure5"></a>
<iframe src="./ggb/gs.html" width="475" height="485"></iframe>
<br />
Figure 5: The geometry of the Gram-Schmidt orthogonalization process. (<a href="JavaScript:openAncillary('GeoGebra.xml', 500, 300)" class="ancillary" title="Open in a popup window">GeoGebra Commands</a>)</p>

<p>The Gram-Schmidt orthogonalization process uses this idea to construct an orthonormal basis from a given set of (linearly independent) vectors.  This can be beautifully illustrated in three dimensions, as shown in <a href="#Figure5">Figure 5</a> and described below.  Stick out three fingers of one hand in arbitrary directions.  Pick one of these vectors (black) as the first of the new orthogonal basis vectors.  Then pick a second (thick red), and subtract from this vector its projection parallel to the first, resulting in a vector perpendicular to the first (thin red).  Now subtract from the remaining vector (thick blue) its projections parallel to both the first and second vectors, resulting in a vector perpendicular to both (thinnest blue).  If your fingers are limber enough, you have an orthogonal basis.  These three vectors (black, thin red, thinnest blue) can be normalized if desired, yielding an orthonormal basis.  Students who see this geometric idea behind the Gram-Schmidt process have a much easier time sorting their way through the morass of formulas in textbooks.</p>

<p>In advanced courses, the fact that two vectors are perpendicular if their dot product is zero may be used in more abstract settings, such as Fourier analysis.  A problem which asks students to find the vector perpendicular to a given vector, first in two and then in three dimensions, provides an excellent introduction to this idea.</p>

<h2><a name="Section5">5. Cross Product</a></h2>

<p class="graphic"><a name="Figure6"><img src="./figures/cross.gif" alt="cross.gif" /></a><br />
Figure 6: The geometric definition of the cross product, whose magnitude is defined to be the area of the parallelogram.</p>

<p>The cross product is fundamentally a directed area.  The magnitude of the cross product is defined to be the area of the parallelogram shown in <a href="#Figure6">Figure 6</a>.  This leads to the formula</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq12">(12)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mo>&verbar;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&verbar;</mo><mo>=</mo><mo>&verbar;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&verbar;</mo><mo>&verbar;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&verbar;</mo><mi>sin</mi><mi>&theta;</mi></mrow>
		</math>
		</td>
	</tr>
</table>

<p>an immediate consequence of which is that</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq13">(13)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&parallel;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&Leftrightarrow;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mover><mrow><mn>0</mn></mrow><mo>&rarr;</mo></mover></mrow>
		</math>
		</td>
	</tr>
</table>

<p>The direction of the cross product is given by the right-hand rule, so that in the example shown
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
</math>
points into the page.  This implies that</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq14">(14)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>-</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover></mrow>
		</math>
		</td>
	</tr>
</table>

<p>so that the cross product is not commutative (<a href="JavaScript:openAncillary('NonCommutative.xml', 500, 300)" class="ancillary" title="Open in a popup window">note</a>). Another important property of the cross product is that</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq15">(15)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
			<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>=</mo><mover><mrow><mn>0</mn></mrow><mo>&rarr;</mo></mover></mrow>
		</math>
		</td>
	</tr>
</table>

<p>which also follows immediately from (<a href="#eq12">12</a>).</p>

<p>In terms of the standard orthonormal basis, the geometric formula quickly yields</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq16">(16)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<mtable>
			<mtr>
				<mtd><mrow><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>=</mo><mover><mi fontweight="bold">k</mi><mo>&Hat;</mo></mover></mrow></mtd>
			</mtr>
			<mtr>
				<mtd><mrow><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">k</mi><mo>&Hat;</mo></mover><mo>=</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover></mrow></mtd>
			</mtr>
			<mtr>
				<mtd><mrow><mover><mi fontweight="bold">k</mi><mo>&Hat;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>=</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow></mtd>
			</mtr>
			</mtable>
		</math>
		</td>
	</tr>
</table>

<p>with the remaining products being determined by (<a href="#eq14">14</a>) and (<a href="#eq15">15</a>).  This cyclic nature of the cross product can be emphasized by diagramming the multiplication table (<a href="JavaScript:openAncillary('Quaternions.xml', 500, 300)" class="ancillary" title="Open in a popup window">note</a>) as shown in <a href="#Figure7">Figure 7</a>. Products in the direction of the arrow get a plus sign (e.g.&nbsp;
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mrow><mi fontweight="bold">k</mi></mrow><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>=</mo><mo>+</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow>
</math>),
while products against the arrow get a minus sign (e.g.&nbsp;
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&middot;</mo><mover><mrow><mi fontweight="bold">k</mi></mrow><mo>&Hat;</mo></mover><mo>=</mo><mo>-</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow>
</math>).
</p>

<p class="graphic"><a name="Figure7"><img src="./figures/qmult.png" alt="qmult.png" /></a><br />
Figure 7: The cross product multiplication table.</p>

<p>Using an orthonormal basis such as
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mo>{</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>,</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>,</mo><mover><mrow><mi fontweight="bold">k</mi></mrow><mo>&Hat;</mo></mover><mo>}</mo></mrow>
</math>,
the geometric formula reduces to the standard component form of the cross product.  If
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>=</mo><msub><mi>v</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mrow><mi>z</mi></mrow></msub><mo>&InvisibleTimes;</mo><mover><mrow><mi fontweight="bold">k</mi></mrow><mo>&Hat;</mo></mover></mrow>
</math>
and
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><msub><mi>w</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>w</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>w</mi><mrow><mi>z</mi></mrow></msub><mo>&InvisibleTimes;</mo><mover><mrow><mi fontweight="bold">k</mi></mrow><mo>&Hat;</mo></mover></mrow>
</math>,
then</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq17">(17)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<mtable>
			<mtr>
				<mtd columnalign="left"><mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>(</mo><msub><mi>v</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>z</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">k</mi><mo>&Hat;</mo></mover><mo>)</mo><mo>&times;</mo><mo>(</mo><msub><mi>w</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>w</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>w</mi><mi>z</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">k</mi><mo>&Hat;</mo></mover><mo>)</mo></mrow></mtd>
			</mtr>
			<mtr>
				<mtd columnalign="left"><mrow>&emsp;&emsp;&emsp;<mo>=</mo><msub><mi>v</mi><mi>x</mi></msub><msub><mi>w</mi><mi>x</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><msub><mi>v</mi><mi>x</mi></msub><msub><mi>w</mi><mi>y</mi></msub><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><mo>&middot;&middot;&middot;</mo></mrow></mtd>
			</mtr>
			<mtr>
				<mtd columnalign="left"><mrow>&emsp;&emsp;&emsp;<mo>=</mo><mo>(</mo><msub><mi>v</mi><mi>y</mi></msub><msub><mi>w</mi><mi>z</mi></msub><mo>-</mo><msub><mi>v</mi><mi>z</mi></msub><msub><mi>w</mi><mi>y</mi></msub><mo>)</mo><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><mo>(</mo><msub><mi>v</mi><mi>z</mi></msub><msub><mi>w</mi><mi>x</mi></msub><mo>-</mo><msub><mi>v</mi><mi>x</mi></msub><msub><mi>w</mi><mi>z</mi></msub><mo>)</mo><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>+</mo><mo>(</mo><msub><mi>v</mi><mi>x</mi></msub><msub><mi>w</mi><mi>y</mi></msub><mo>-</mo><msub><mi>v</mi><mi>y</mi></msub><msub><mi>w</mi><mi>x</mi></msub><mo>)</mo><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">k</mi><mo>&Hat;</mo></mover></mrow></mtd>
			</mtr>
			</mtable>
		</math>
		</td>
	</tr>
</table>

<p>which is often written as the symbolic determinant</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq18">(18)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML">
		<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>|</mo>
		<mtable>
			<mtr>
				<mtd><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover></mtd>
				<mtd><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mtd>
				<mtd><mover><mrow><mi fontweight="bold">k</mi></mrow><mo>&Hat;</mo></mover></mtd>
			</mtr>
			<mtr>
				<mtd><msub><mi>v</mi><mi>x</mi></msub></mtd>
				<mtd><msub><mi>v</mi><mi>y</mi></msub></mtd>
				<mtd><msub><mi>v</mi><mi>z</mi></msub></mtd>
			</mtr>
			<mtr>
				<mtd><msub><mi>w</mi><mi>x</mi></msub></mtd>
				<mtd><msub><mi>w</mi><mi>y</mi></msub></mtd>
				<mtd><msub><mi>w</mi><mi>z</mi></msub></mtd>
			</mtr>
		</mtable>
		<mo>|</mo></mrow>
		</math>
		</td>
	</tr>
</table>

<p>As with the dot product, this derivation works in <em>any</em> (right-handed) orthonormal basis.</p>

<p class="mathlet"><a name="Figure8"></a>
<iframe src="./ggb/cross.html" width="475" height="485"></iframe>
<br />
Figure 8: A geometric proof of the linearity of the cross product. (<a href="JavaScript:openAncillary('GeoGebra.xml', 475, 475)" class="ancillary" title="Open in a popup window">GeoGebra Commands</a>)</p>

<p>OK, this time you surely noticed; we must again check linearity, that is, whether the cross product distributes over addition, or in other words whether</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq19">(19)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mo>(</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover><mo>)</mo><mo>=</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover><mo>&times;</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover></mrow>
		</math></td>
	</tr>
</table>

<p>As we now show, this follows with a little thought from <a href="#Figure8">Figure 8</a>.

Consider in turn the vectors
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover></mrow>
</math>
(blue),
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover></mrow>
</math>
(red), and
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover></mrow>
</math>
(green) at the ends of the prism.  The cross product of each of these vectors with
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
</math>
(black) is proportional to its projection perpendicular to
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
</math>.
These projections are shown as thin solid lines in the figure.  Since the projections lie in the plane perpendicular to
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
</math>,
they can be combined into the triangle shown in the middle of the figure.  Two of the vectors making up the sides of a triangle add up to the third; in this case, the sides are the projections of
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover></mrow>
</math>,
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover></mrow>
</math>,
and
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>+</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover></mrow>
</math>,
and the latter is clearly the sum of the first two.  But each cross product is now just a rotation of one of the sides of this triangle, rescaled by the length of
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">w</mi><mo>&rarr;</mo></mover></mrow>
</math>;
these are the arrows perpendicular to the faces of the prism.  Two of these vectors therefore still add to the third, as indicated by the vector triangle in front of the prism.  This establishes&nbsp;(<a href="#eq19">19</a>).</p>

<h2><a name="Section6">6. Cross Product Pedagogy</a></h2>

<p>We digress briefly to mention some pedagogical issues which arise when teaching students about the cross product.</p>

<p>First of all, we strongly discourage teaching, or even reviewing, the dot and cross products at the same time - students tend to get them mixed up!</p>

<p>As for the calculation of the cross product, we encourage students to compute the determinant&nbsp;(<a href="#eq18">18</a>), rather than memorizing&nbsp;(<a href="#eq17">17</a>). But we also encourage students to use the multiplication table directly for simple cross products, such as
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mo>(</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><mn>3</mn><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>)</mo><mo>&times;</mo><mover><mrow><mi fontweight="bold">k</mi></mrow><mo>&Hat;</mo></mover></mrow>
</math>,
rather than using determinants at all.</p>

<p>However, we <i>discourage</i> students from working out the determinant using minors, which would result in the final expression in&nbsp;(<a href="#eq17">17</a>) but with two sign changes in the term involving
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow>
</math>.
Instead, we encourage students to take
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mn>3</mn><mo>&times;</mo><mn>3</mn></mrow>
</math>
determinants in the form</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq20">(20)</a></td>
		<td class="math"><img src="./figures/determinant.gif" alt="determinant.gif"/></td>
	</tr>
</table>

<p>where one multiplies the terms along each diagonal line, subtracting the products obtained along lines going down to the left from those along lines going down to the right.  While this method works only for
(<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mn>2</mn><mo>&times;</mo><mn>2</mn></mrow>
</math>
and)
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mn>3</mn><mo>&times;</mo><mn>3</mn></mrow>
</math>
determinants, and is therefore usually omitted from a linear algebra course, it has the definite advantage of emphasizing the cyclic nature of the cross product - whereas students who use minors often make sign errors.</p>

<h2><a name="Section7">7. Divergence and Curl</a></h2>

<p>The geometric approach extends naturally to the divergence and curl of a vector field.</p>

<p>It is straightforward to define divergence as flux per unit volume.  This amounts to taking an infinitesimal version of the Divergence Theorem as the <i>definition</i> of divergence; the computation traditionally done to prove the theorem become instead the derivation of the component representation of the divergence, expressed in rectangular coordinates.</p>

<p>This approach is beautifully summarized in&nbsp;[<a href="#Schey">2</a>], and is included in some physics textbooks, such as&nbsp;[<a href="#Griffiths">3</a>, <a href="#Lorrain">4</a>, <a href="#Reitz">5</a>], but has not been adopted in many mathematics textbooks (a notable exception being&nbsp;[<a href="#Harvard">6</a>]).  It not only emphasizes the geometric relationship between divergence and flux, but makes clear how to derive the component representation in other coordinate systems.</p>

<p>It then seems natural to define curl as (oriented) circulation per unit area, turning an infinitesimal version of Stokes' Theorem into a definition, which is then used to derive the component representation of curl in rectangular coordinates.  This is indeed the approach taken in [<a href="#Schey">2</a>] (and [<a href="#Harvard">6</a>]).</p>

<p class="graphic"><a name="Figure9"><img src="./figures/tetra.gif" alt="tetra.gif" /></a><br />
Figure 9: The decomposition of a triangle into "component" triangles in the coordinate planes.</p>

<p>However, there is an issue of principle which we have not seen addressed in textbooks: One must argue that this procedure defines a vector field!  It is not enough to derive the separate formulas for the circulation per unit area in each (rectangular) coordinate plane, one must also show that the circulation in <i>any</i> plane is equal to an appropriate sum of these circulations.  But this follows immediately from the diagram in <a href="#Figure9">Figure 9</a>, which decomposes an arbitrary triangle into three triangles in the coordinate planes; it is straightforward to check that the circulation around the original triangle is equal to the sum of the (appropriately oriented!) circulations around the "component" triangles. The contributions of the circulations along all the "extra" sides cancel pairwise.</p>

<h2><a name="Section8">8. Discussion</a></h2>

<p>We have shown how to prove geometrically that the dot and cross products are linear (i.e.&nbsp;that they distribute over addition), using <a href="#Figure3">Figure 3</a> and <a href="#Figure8">Figure 8</a>, respectively.  These proofs are important for faculty wishing to emphasize the geometric definitions in their classroom.  However, it is not at all clear that these proofs are relevant for students, especially in introductory courses.  Most students will accept, say, the argument presented in&nbsp;(<a href="#eq7">7</a>) without question, failing to notice that linearity is an issue.  While faculty should of course be prepared to justify this if asked, we see nothing wrong with not raising the issue of linearity otherwise.  Similarly, the proof that the curl is a vector field can be omitted.</p>

<p>As shown above, the Law of Cosines follows immediately from the geometric definition of the dot product, in direct contrast to the traditional treatment, in which the order is reversed.  Indeed, many students who have memorized the Law of Cosines are delighted with this derivation.  This suggests to us that it might be beneficial to include the dot product in trigonometry courses, even in high school, rather than saving it for later.  A strong argument in favor of such an approach is the ease with which the addition formulas could then be derived: From the unit circle definition of the trig functions, any vector on the unit circle can be written in the form
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mi>cos</mi><mi>&theta;</mi><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><mi>sin</mi><mi>&theta;</mi><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover></mrow>
</math>,
where
<math xmlns="http://www.w3.org/1998/Math/MathML">
	<mrow><mi>&theta;</mi></mrow>
</math>
is the angle to the positive <var>x</var>-axis. But the cosine of the angle between any two such vectors is just their dot product, since both are unit vectors, so that</p>

<table class="math">
	<tr>
		<td class="label"><a name="eq21">(21)</a></td>
		<td class="math">
		<math xmlns="http://www.w3.org/1998/Math/MathML">
			<mtable>
			<mtr>
				<mtd columnalign="left"><mrow><mi>cos</mi><mo>(</mo><mi>&beta;</mi><mo>-</mo><mi>&alpha;</mi><mo>)</mo><mo>=</mo><mover><mi fontweight="bold">u</mi><mo>&rarr;</mo></mover><mo>&middot;</mo><mover><mi fontweight="bold">v</mi><mo>&rarr;</mo></mover><mo>=</mo><mo>(</mo><mi>cos</mi><mi>&alpha;</mi><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><mi>sin</mi><mi>&alpha;</mi><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>)</mo><mo>&middot;</mo><mo>(</mo><mi>cos</mi><mi>&beta;</mi><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&imath;</mi><mo>&Hat;</mo></mover><mo>+</mo><mi>sin</mi><mi>&beta;</mi><mo>&InvisibleTimes;</mo><mover><mi fontweight="bold">&jmath;</mi><mo>&Hat;</mo></mover><mo>)</mo></mrow></mtd>
			</mtr>
			<mtr>
				<mtd columnalign="left">&emsp;&emsp;&emsp;&emsp;&emsp;<mrow><mo>=</mo><mi>cos</mi><mi>&alpha;</mi><mi>cos</mi><mi>&beta;</mi><mo>+</mo><mi>sin</mi><mi>&alpha;</mi><mi>sin</mi><mi>&beta;</mi></mrow></mtd>
			</mtr>
			</mtable>
		</math>
		</td>
	</tr>
</table>

<p>as illustrated in <a href="#Figure10">Figure 10</a>.</p>

<p class="graphic"><a name="Figure10"><img src="./figures/trigadd.gif" alt="trigadd.gif" /></a><br />
Figure 10: Deriving the addition formula for cosine using the dot product.</p>

<p>Why aren't geometric proofs such as those presented here more common?  We believe this lies in part with the difficulty in translating them into words on the printed page.  Consider for example the Gram-Schmidt orthogonalization process.  As discussed in <a href="#Section4">Section 4</a>, the geometry of this construction can be beautifully illustrated by (literally) waving one's hands. It is easy to write down the formulas after seeing this demonstration, but the formulas by themselves are much less enlightening.  You may have had some trouble sorting through the arguments in this paper, but try them in the classroom, where you can point at the pictures.  They work like a charm.</p>

<hr title="Divider" />

<h3>Acknowledgments</h3>

<p>This work was partially supported by NSF grants DUE-0088901 and DUE-021032. Early versions of the figures used to prove linearity were constructed while we were Noyce Visiting Professors at Grinnell College, an opportunity for which we are grateful.  The print version of this manuscript was prepared using L<font size="-1">A</font>T<sub>E</sub>X, then converted to MathML using T<sub>T</sub>M&nbsp;[<a href="#TtM">7</a>] for online use; the color figures were originally drawn using Maple, then converted to Java applets using JavaView [<a href="#JV">8</a>].</p>

<h3>References</h3>

<ol>
	<li><a name="Dray"></a>Tevian Dray and Corinne A. Manogue, Dot and Cross Products webpage. Retrieved June 20, 2005 from <a href="http://www.math.oregonstate.edu/bridge/ideas/dotcross" target="_blank" title="Open in a new window">http://www.math.oregonstate.edu/bridge/ideas/dotcross</a>.</li>
	<li><a name="Schey"></a> H. M. Schey, <cite>Div, Grad, Curl and all that</cite>, 4th edition Norton, New York, 2005.</li>
	<li><a name="Griffiths"></a> David J. Griffiths, <cite>Introduction to Electrodynamics</cite>, 3rd edition, Prentice-Hall, New York, 1999.</li>
	<li><a name="Lorrain"></a>Paul Lorrain, Dale P. Corson, and Fran&#231;ois Lorrain, <cite>Electromagnetic Fields and Waves</cite>, 3rd edition, Addison-Wesley, New York, 1988.</li>
	<li><a name="Reitz"></a>John R. Reitz, Frederick J. Milford, Robert W. Christy <cite>Foundations of Electromagnetic Theory</cite>, 4th edition, W. H. Freeman, New York, 1993.</li>
	<li><a name="Harvard"></a>William McCallum, Deborah Hughes-Hallett, Andrew Gleason, et al., <cite>Multivariable Calculus</cite>, 3rd edition Wiley, New York, 2001.</li>
	<li><a name="TtM"></a>Ian Hutchinson, T<sub>T</sub>M website. Retrieved January 28, 2006 from <a href="http://hutchinson.belmont.ma.us/ttm" target="_blank" title="Open in a new window">http://hutchinson.belmont.ma.us/ttm</a>.</li>
	<li><a name="JV"></a>Konrad Polthier, JavaView website. Retrieved June 19, 2005 from <a href="http://www.javaview.de" target="_blank" title="Open in a new window">http://www.javaview.de</a>.</li>
</ol>



</body>
</html>
