Vector Operations

The proof of some basic identities and theorems

Professor Mohammad Ghomi
Math 426, PSU Spring 2004

Basic Definitions

Mathematica already has the operations for the cross product and dot product preprogrammed. We just need to define the norm of a vector:

norm[v_] := (Sqrt[v . v])

A vector in 3-space is just an ordered list of three numbers. For the purposes of the calculations below we define three general vectors as follows:

a = {a1,  a2,  a3}; b = {b1,  b2,  b3}; c = {c1, c2, c3};  
    d = {d1, d2, d3};

Now we can check:

a . b

a\[Cross]b

norm[a]

Cross Product Identities

Here are three identities which are not so easy to verify with bare hands:

Lagrange's Identity

(a×b) . (c×d) = (a . c) ( 
            b . d)  - (a . d) (b . c)

To verify the above formula we just need to compute each side and compare the results:

LHS = (a\[Cross]b) . (c\[Cross]d) // Simplify

RHS = (a . c) ( b . d)  - (a . d) (b . c) // 
        Simplify

LHS - RHS // Simplify

Alternatively, we may just compute:

(a\[Cross]b) . (c\[Cross]
              d) - ((a . c) ( 
                b . d)  - (a . d) (b . c)) // 
      Simplify

To see what Mathematica is doing (and to make sure that it is doing what you are expecting it to do!) you may first type:

X = (a\[Cross]b) . (c\[Cross]
              d) - ((a . c) (b . d) - (a . d) (b . 
                  c))

and then try

Simplify[X]

The Jacobi Identity

a×(b×c) + b×(c×a) + c×(a×b) = (0,0,0)

a\[Cross](b\[Cross]c) + b\[Cross](c\[Cross]a) + 
      c\[Cross](a\[Cross]b)

The "Back Cab" Rule

a×(b×c) = b(a.c) - c(a.b)

LHS = a\[Cross](b\[Cross]c) // Simplify

RHS = b (a . c) - c (a . b) // Simplify

LHS - RHS

Pythagorean Theorem in 3D

Suppose we have a tetrahedron whose vertices are at the origin and the points given below:

u = {x, 0, 0}; v = {0, y, 0}; w = {0, 0, z};

Then the square of the area of the face opposite to the origin is:

((((1/2) norm[(v - u)\[Cross](w - u)]))^2)

which is equal to the sum of the squares of the areas of the other sides.

Differentiation Formulas

We may define vector valued functions just as easily as vectors:

A[t_] := {a1[t], a2[t], a3[t]}; 
    B[t_] := {b1[t], b2[t], b3[t]};

We have the following rules for derivatives:

(∂_t) (A[t] . B[t]) = (∂_t) A[t] . B[t] +  
        A[t] . (∂_t) B[t]

(∂_t) (A[t] . B[t]) - (∂_t) A[t] . B[t] -  
      A[t] . (∂_t) B[t]

Ofcourse the above is easy enough to verufy by hand. The following, however, requires more computation:

(∂_t) (A[t]×B[t]) = (∂_t) A[t]×
          B[t] +  A[t]×(∂_t) B[t]

LHS = (∂_t) (A[t]\[Cross]B[t]) // Simplify

RHS = (∂_t) A[t]\[Cross]B[t] +  
        A[t]\[Cross](∂_t) B[t]

LHS - RHS

Exercises

Verify the following identites. Note that the third formula is just a special case of Lagrange.

(a+b)×c =  a×c + b×c

(a×b).c =  a.(b×c)

norm[a×b]^2  = norm[a]^2 
          norm[b]^2 - (((a . b))^2)

(∂_t) 
        norm[A[t]] = (∂_t) A[t] . A[t]/norm[A[t]]