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

Different ways to define vector multiplication?

  1. Aug 28, 2013 #1
    The context in which this question arises (for me), is I was trying to take the curl of the magnetic field of a moving point charge, however my question is purely mathematical. But I will explain the situation anyway. The point charge is located at [itex]\vec{r_{0}}[/itex], moving with velocity [itex]\vec{v}[/itex]. The magnetic field, [itex]\vec{B}[/itex] is a vector field defined for every point [itex]\vec{r}[/itex] in the space, and is given by:

    [itex]\vec{B}[/itex] = [itex]\frac{\mu_{0}}{4\pi}[/itex][itex]\frac{\vec{v}×\left(\vec{r}-\vec{r_{0}}\right)}{\left\|\vec{r}-\vec{r_{0}}\right\|^{3}}[/itex]

    So I took the curl and ended up with the following:
    ∇×[itex]\vec{B}[/itex] = [itex]\frac{1}{\left\|\vec{Δr}\right\|^{5}}[/itex][itex]\left[\stackrel{\stackrel{\Large\left(3Δx\vec{v}-v_{x}\vec{Δr}\right)\bullet\vec{Δr}}{\normalsize\left(3Δy\vec{v}-v_{y}\vec{Δr}\right)\bullet\vec{Δr}}}{\scriptsize\left(3Δz\vec{v}-v_{z}\vec{Δr}\right)\bullet\vec{Δr}}\right][/itex]

    where x,y,z are components of [itex]\vec{r}[/itex], and Δx = (x-x[itex]_{0}[/itex]), and [itex]\vec{Δr} = \vec{r} - \vec{r_{0}}[/itex].

    So I was wondering if there is an operation which takes a vector A, and scalar multiplies each of its components to a vector B, and the resulting vectors become components of a new vector. For example, the x component of the new vector would be: a[itex]_{x}\vec{B}[/itex], so it would be a "vector of vectors". I was also wondering if there is an operation which would take a vector of vectors [itex]\vec{C}[/itex] and dot products each of its components by another vector, [itex]\vec{R}[/itex], and the resulting scalars from those operations form the new components, i.e. the x-component of the new vector would be: [itex]\vec{C_{x}}\bullet\vec{R}[/itex].

    If we call the first operation [itex]\otimes[/itex], and the second operation [itex]\odot[/itex], then we can rewrite the curl equation:


    Both the operations are bilinear and non-commutative. I was wondering if there is a way to generalize the idea of this:

    The scalar product [itex]a\vec{v} = \left(a*v_{1}, a*v_{2}, a*v_{3}\right)[/itex], takes the scalar a as a whole distributes it over the components of [itex]\vec{v}[/itex], and puts each of these products into the component of a new vector. What about a scalar product that instead adds these up? I.e. [itex]a\vec{v} = a*v_{1}+a*v_{2}+a*v_{3}[/itex].

    The dot product [itex]\vec{a}\bullet\vec{v} = a_{1}*v_{1} + a_{2}*v_{2} + a_{3}*v_{3}[/itex] multiplies corresponding components of the two vectors and adds these all up. What about a dot product that instead of adding these into a vector? I.e. [itex]\vec{a}\bullet\vec{v} = (a_{1}*v_{1}, a_{2}*v_{2}, a_{3}*v_{3})[/itex]

    Or what about an operation where a vector distributes like a scalar over the components of another vector? This is the operation [itex]\otimes[/itex] that came up in my original problem, where [itex]\vec{a}\otimes\vec{v} = (a_{1}\vec{v}, a_{2}\vec{v}, a_{3}\vec{v})[/itex], which is a vector of vectors. What about a case where instead of being components of a vector, the components were all added up?

    Is there a way in which these are all specific examples of a general "kind of operation", where we can specify how the items being multiplied distribute over each other's components? I know linear algebra covers some of this stuff, but I don't remember learning anything about "vectors of vectors".
  2. jcsd
  3. Aug 29, 2013 #2


    User Avatar
    Science Advisor

    Before this will make sense you will have to say what you mean by a vector whose components are vectors! There is the "exterior product" of two vectors, the result being a tensor rather than a vector. In a given basis, the exterior product of the two vectors represented by [itex]<x_1, y_1, z_1>[/itex] and [itex]<x_2, y_2, z_2>[/itex] would be represented by
    [tex]\begin{bmatrix}x_1x_2 & x_1y_2 & x_1z_2 \\ y_1x_2 & y_1y_2 & y_1z_2 \\ z_1x_2 & z_1y_2 & z_1z_2 \end{bmatrix}[/tex]

  4. Aug 29, 2013 #3
    What I mean by a vector of vectors is that you have a vector whose components are vectors rather than scalars. For example:

    [itex]\vec{V} = \left[\stackrel{\stackrel{\LARGE\vec{a}}{\large\vec{b}}}{\vec{c}}\right][/itex]

    I defined the operation [itex]\odot[/itex] to allow a vector to operate on a vector of vectors such as this so that:

    [itex]\vec{V}\odot\vec{x} = \left[\stackrel{\stackrel{\LARGE\vec{a}}{\large\vec{b}}}{\vec{c}}\right]\odot\vec{x} = \left[\stackrel{\stackrel{\LARGE\vec{a}\bullet\vec{x}}{\large\vec{b}\bullet \vec{x}}}{\vec{c}\bullet\vec{x}}\right][/itex]

    The purpose of creating this operation is to allow me to pull the [itex]\bullet\vec{Δr}[/itex] out of the vector and distribute it over each component, thereby simplifying the vector:

    [itex]∇×\vec{B} = \frac{1}{\left\|\vec{Δr}\right\|^{5}}\left[\stackrel{\stackrel{\LARGE3Δx\vec{v}-v_{x}\vec{Δr}}{\Large3Δy\vec{v}-v_{y}\vec{Δr}}}{3Δz\vec{v}-v_{z}\vec{Δr}}\right]\odot\vec{Δr}[/itex]

    As you can see, each component of this "vector" above is vector valued, and the [itex]\odot[/itex] operation reduces each component to a scalar, making it into a regular vector with scalar components. To further simplify this equation, I defined yet another operation, [itex]\otimes[/itex], which takes as input two vectors and returns a vector of vectors. It operates as follows:

    [itex]\vec{a}\otimes\vec{x} = \left[\stackrel{\stackrel{\LARGE a_{1}\vec{x}}{\Large a_{2}\vec{x}}}{a_{3}\vec{x}}\right][/itex]

    Applying this to my curl equation, I get:
    [itex]∇×\vec{B} = \frac{\left(3\vec{Δr}\otimes\vec{v}-\vec{v}\otimes\vec{Δr}\right)\odot\vec{Δr}}{\left\|\vec{Δr}\right\|^{5}}[/itex]

    This looks much cleaner than the original vector I gave for the curl, so at the very least, the operations could just be useful shorthand. However, it leads me to wonder if there is some kind of "general" multiplication operation, where you specify how vector A should be distributed over vector B, and how the resulting set of values should be recombined. For example, I could write:

    [itex]\vec{a}*\vec{x} = (a_{1}*\vec{x}, a_{2}*\vec{x}, a_{3}*\vec{x})[/itex], the rule is that the second vector AS A WHOLE is distributed over each of the components of the 1st vector, creating a set of 3 products. These 3 products are then recombined into a vector of vectors. Or I could write:

    [itex]\vec{a}*\vec{x} = a_{1}*x_{1} + a_{2}*x_{1} + a_{3}*x_{1} + a_{1}*x_{2} + a_{2}*x_{2} + a_{3}*x_{2} + a_{1}*x_{3} + a_{2}*x_{3} + a_{3}*x_{3} = (a_{1} + a_{2} + a_{3})*(x_{1} + x_{2} + x_{3})[/itex]

    and the rule here is that EACH COMPONENT of one of the vectors is distributed over each of the components of the other vector, creating a set of 9 products. These products are then recombined by addition into a scalar.

    It seems to me that the nature/workings of each type of multiplication is completely determined by how the vectors distribute over each other to form a set of products, and how this set is recombined to create a final value. So I wonder if there is a way to generalize all this and create an operator which takes two arguments: 1) how the vectors should distribute over each other to create a set of products, and 2) how this resulting set of products should be recombined to create a final value. If we call this general operator ∴(D, R), where D and R are the rules for distribution and recombination, respectively (i.e. the operator ∴ is a function of a rule for distribution and a rule for recombination), then I could write my other operators like this:

    [itex]\otimes = ∴(D,R) [/itex]

    Where D= "2nd vector distributes AS A WHOLE over the components of the 1st vector", and
    R = "The set of products from the distribution become the components of a new vector".

    I am trying to capture this idea mathematically
  5. Aug 30, 2013 #4


    User Avatar
    Science Advisor

    Hey stoopkid.

    Have you tried creating special matrices or vectors in composition to achieve what you want?

    For example if you wanted to mask out the first co-ordinate you could do v * [1 0 0]^t. The second would be v*[0 1 0]^t and so on. You could apply general matrix products to produce a general matrix and you could then move up to tensors if you wanted true multi-linear products,

    Since you can compose lots of matrices, you can pick the composition that gives you the right operations and convert them to tensors and do analysis in both spaces (symbolic tensor space or the raw specific matrix space).
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook