Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Vector Triple Product

  1. Nov 18, 2011 #1
    1. The problem statement, all variables and given/known data

    This isn't a coursework question. Rather, I'm asking for help on a geometric proof of the vector triple product. I find it strange and annoying that I can't find this proof anywhere online, because everyone just uses the messy expansion proof, and I hate that proof because it lacks insight. So, I attempted my own proof. Here goes.

    2. Relevant equations

    Ax(BxC) = (A.C)B - (A.B)C

    3. The attempt at a solution

    The following is a diagram that I drew.

    [PLAIN]http://img695.imageshack.us/img695/6313/unledwbx.png [Broken]

    Both BxC and A are out of the plane. B, C, and Ax(BxC) are in the plane.

    B and C span a plane. It's known (and not necessary to prove that) BxC is orthogonal to B and C, so it is not contained in span{B,C}. Let A be any vector. Then Ax(BxC) is in the span of B and C, because B and C span the unique plane that is orthogonal to all planes containing BxC.

    Therefore, B and C form a basis for Ax(BxC), so bB+cC = Ax(BxC). Thus, all that's left is to determine the coefficients b and c.

    At this step, I wasn't sure how to continue, but I thought it may be worthwhile to find the projection of A onto the plane so that we're only working with quantities in span{B,C}. I'm going to denote the projection of A onto the plane as (proj A), since (proj A) is very messy. Let BxC be one of the two perpendicular bases for A. Then the projection of A onto BxC is as follows:


    It follows that the projection of A onto the plane is:

    proj A = A-(A.(BxC)/|BxC|2)(BxC)

    Since Ax(BxC) is orthogonal to the projection of A onto the plane (the above), we have the following:

    [Ax(BxC)].[proj A]=0

    [bB+cC].[proj A] = 0

    b[B.(proj A)]+c[C.(proj A)] = 0

    c = -b[B.(proj A)]/[C.(proj A)]

    Since this is an equation of two variables, in order find a unique solution, I need to find another equation that is linearly independent of the above equation. To obtain a second equation, I know that |Ax(BxC)| = |A||BxC|sin(θ), where θ is the angle between A and BxC. This can be equivalently expressed as the cross product of (proj A) with BxC. This is because |A|sin(θ) is also the length of (proj A). Therefore:

    |Ax(BxC)|= |BxC||A|sin(θ) = |BxC||proj A|

    |bB+cC|=|BxC||proj A|

    Here, I replace c using c = -b[B.(proj A)]/[C.(proj A)]

    |bB-b[B.(proj A)/C.(proj A)]C|=|BxC||proj A|

    b|B-C[B.(proj A)/C.(proj A)]|=|BxC||proj A|

    b=|BxC||proj A|/|B-C[B.(proj A)/C.(proj A)]|

    Recall that proj A = A-(A.(BxC)/|BxC|2)(BxC)


    Holy crap that's messy.

    Now I have a unique b, but I'm lost. How do I reduce the above equation to b=A.C? I am already this far, but I'm just about out of brainpower for the night. I wanted every step to have an obvious geometric implication, but this end step is a tough cookie. I feel like as long as the b=A.C relationship can be shown, I can show that c=-A.B.
    Last edited by a moderator: May 5, 2017
  2. jcsd
  3. Nov 24, 2011 #2
    Okay. So it turns out that I took a wrong step here:

    [A×(B×C)].[proj A]=0

    Instead of using proj A, I can just use A.


    Therefore, the constants b and c are m(C.A) and -m(B.A), respectively, and it turns out that m=1 (by any vector we choose to test what k is).


    Since [A×(B×C)]=(C.A)B-(B.A)C, I obtain the following relation:

    ∇×∇×C = ∇(∇.C)-(∇.∇)C = ∇(∇.C)-∇.(∇C)
    (This isn't really precalc anymore.)

    Hence, the curl of the curl of a function exists in ℝn, since the gradient is defined as

    ∇ = (d/dx1, d/dx2, ... , d/dxn)

    and the divergence is defined as the dot product of ∇ and a vector of the same size.

    As you can see, one question leads right into another. This still isn't a coursework question (or even remotely related to anything I'm doing in class), but that doesn't mean it's inferior to coursework questions. I hope you people of PF can actually try (gasp!) -responding- this time instead of completely ignoring my threads. :(

    1. The problem statement, all variables and given/known data

    Why is the curl of the curl of a function C in ℝn defined under the pre-existing definition of the gradient, while the curl of C is only defined when the function is in ℝ3? In symbols, let the curl of the curl of C be written as:


    How come (∇×)2nC (where n∈Z) is defined in ℝn, but not (∇×)2n+1C? Does there exist a process ((∇×)2)1/2 such that after two iterations on C, ∇(∇.C)-∇.(∇C) is obtained? That's the equivalent of asking if there exist operations (∇×) and (∇×)-1. If so, how would I go about finding out what they are, and are they generalizable to ℝn such that the curl is defined for ℝn?

    2. Relevant equations

    I want to avoid all tensor use.

    3. The attempt at a solution

    Let C = (x1, x2, x3)
    Let ∇×C in ℝ3 be (v1, v2, v3), where
    v1 = (d/dx2)x3-(d/dx3)x2
    v2 = (d/dx3)x1-(d/dx1)x3
    v3 = (d/dx1)x2-(d/dx2)x1

    Then it makes sense to generalize the curl by:

    ∇×C = (v1, v2, ... , vn)

    v1 = (d/dx2)x3-(d/dx3)x2
    v2 = (d/dx3)x4-(d/dx4)x3
    vn-1 = (d/dxn)x1-(d/dx1)xn
    vn = (d/dx1)x2-(d/dx2)x1

    Is there a way to write this using ∇ and (∇.) only?

    Since this is a vector function that is arrived at from a vector function, both operations must be used at least once. The divergence produces a scalar, and the gradient produces a vector. Therefore, C = ∇F for some function F. But it's known that ∇×(∇F) = 0. So there's obviously a contradiction.

    -Is super confused-
    Last edited: Nov 24, 2011
  4. Nov 24, 2011 #3


    User Avatar
    Science Advisor
    Homework Helper

    I don;t understand your dilemma. The curl is well defined in R^n, likewise the divergence and the gradient and also the laplacian.
  5. Nov 24, 2011 #4
    What terms had to vanish in this step:

    ∇×C → (∇×)2C

    such that (∇×)2C is expressible in only ∇ and (∇.) alone?
  6. Jun 6, 2013 #5
    This paper might help:

    http://mathdl.maa.org/images/cms_upload/0746834213321.di020720.02p0099b.pdf [Broken]
    Last edited by a moderator: May 6, 2017
  7. Jun 6, 2013 #6


    User Avatar
    Homework Helper

    You cannot avoid all tensor use, you can only hide it. The tensors are still there.
    I think all those planes obscure the point

    Ax(BxC) = aA(B.C)+bB(A.C) + cC(B.A)

    for suitable constants a,b,c which are obviously a=0,b=1,c=-1

    (∇×)2C is analogous

    The generalization you suggest is not the useful accepted one which is


    curl is only defined for R3 and in R7 we have something very curl like
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted