Monthly Archive: January 2016

Matrices as Vectors

This week’s post will be a short little dive into some of the lesser-known back-waters of linear algebra. As discussed in other posts, a vector space is a rather generic thing with applications to a wide variety of situations that often look quite different than the traditional length-and-direction or column-array pictures that tend to dot the landscape.

One particularly interesting application, if for no other reason than it helps break the fixation that a vector must look like an arrow or a vertically stacked set of numbers is the application to the set of $$2\times2$$ matrices generically denoted as

\[ M = \left[ \begin{array}{cc} a & b \\ c & d \end{array} \right] \; ,\]

where the unspecified numbers $$\left\{a, b, c, d\right\}$$ can be complex.

There are two bases that are nice to use. One is the obvious ‘natural’ basis spanned by vectors

\[ \left| v_1 \right \rangle = \left[ \begin{array}{cc} 1 & 0 \\ 0 & 0 \end{array} \right] \; ,\]

\[ \left| v_2 \right \rangle = \left[ \begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array} \right] \; ,\]

\[ \left| v_3 \right \rangle = \left[ \begin{array}{cc} 0 & 0 \\ 1 & 0 \end{array} \right] \; ,\]

and

\[ \left| v_4 \right \rangle = \left[ \begin{array}{cc} 0 & 0 \\ 0 & 1 \end{array} \right] \; .\]

The matrix $$M$$ is then decomposed, by inspection, to be

\[ \left| M \right \rangle = a \left| v_1 \right \rangle + b \left| v_2 \right \rangle + c \left| v_3 \right \rangle + d \left| v_4 \right \rangle \; .\]

Note the use of Dirac notation for both the basis vectors and the matrix $$M$$. The reason for this notational standard is that it will suggest how to get the components without using inspection, which will be the goal for computer-based decomposition for the second basis discussed below.

The usual way perform decomposition is to provide a natural inner product – bra with ket – so that, for example,

\[ a = \left \langle w_1 \right | \left . M \right \rangle \; .\]

So what is the rule for the bra $$\left \langle w_1 \right |$$? It can’t be the usual complex-conjugate, transpose since the right-hand side of the previous equation is a $$2\times2$$ matrix but the left-hand side is a scalar. Clearly, an added ingredient is needed. And, as will be shown below, that added ingredient is taking the trace.

How then to establish this? Start by assuming the usual definition of the bra; that is let’s ignore the trace piece for the moment and define

\[ \left \langle w_i \right | = \left| v_i \right \rangle^{\dagger} \; i = 1,2,3,4 \; .\]

The basic requirement to impose on the bra-ket relationship is

\[ \left \langle w_i \right | \left . v_j \right \rangle = \delta_{ij} \; . \]

There are 16 possible combinations, but one really only need look at a subset to infer the pattern. For convenience, take $$i=1$$ and let $$j=1,2,3,4$$. The four resulting products are:

\[ \left \langle w_1 \right | \left. v_1 \right \rangle = \left[ \begin{array}{cc} 1 & 0 \\ 0 & 0 \end{array} \right] \; ,\]

\[ \left \langle w_1 \right | \left. v_2 \right \rangle = \left[ \begin{array}{cc} 0 & 1 \\ 0 & 0 \end{array} \right] \; ,\]

\[ \left \langle w_1 \right | \left. v_3 \right \rangle = \left[ \begin{array}{cc} 0 & 0 \\ 0 & 0 \end{array} \right] \; ,\]

and

\[ \left \langle w_1 \right | \left. v_4 \right \rangle = \left[ \begin{array}{cc} 0 & 0 \\ 0 & 0 \end{array} \right] \; .\]

The other 12 products are similar. For each value of $$i$$, the matrix corresponding to $$j=i$$ has a single $$1$$ on the diagonal. Of the three matrices that result from $$j \neq i$$, two matrices are identically zero and the other one has a $$1$$ on the off-diagonal. So to get a single outcome, $$0$$ for $$j \neq i$$ and $$1$$ for $$j=i$$, simply take the trace of the resulting matrix.

This algorithm applies equally well to the second basis, which is one that is based a set of matrices commonly found in modern physics. This basis is spanned by the $$2\times2$$ identity matrix and the Pauli matrices:

\[ \left| I \right \rangle = \left[ \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right] \; ,\]

\[ \left| \sigma_x \right \rangle = \left[ \begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array} \right] \; ,\]

\[ \left| \sigma_y \right \rangle = \left[ \begin{array}{cc} 0 & -i \\ i & 0 \end{array} \right] \; ,\]

and

\[ \left| \sigma_z \right \rangle = \left[ \begin{array}{cc} 1 & 0 \\ 0 & -1 \end{array} \right] \; .\]

There are two important points to raise here. First, the bra-forms of this basis are identical to the basis itself. Second, each Pauli matrix is trace-free. Together these two properties simplify things. To see this, start with the observation (which is well established in quantum mechanics texts) that the Pauli matrices obey the equation

\[ \sigma_i \sigma_j = i \epsilon_{i j k} \sigma_k + \delta_{ij} I \; .\]

Thus the trace-enabled inner product (bra-ket) adaptation that we are discussing becomes

\[ \left \langle \sigma_i \right | \left . \sigma_j \right \rangle = 2 \delta_{i j} \; , \]

where the first term on the right-hand side is zero since the Pauli matrices are traceless.

There are two other types of combinations to consider. One an inner product where one member is the identity matrix and the other is a Pauli matrix. That inner product is zero again because the Pauli matrices are trace-free. The second one inner product of the identity matrix with itself, which is simply $$2$$.

Decomposition by inspection really isn’t possible for a generic form of $$M$$, but a simple algorithm to perform the decomposition based on the analysis above is easy to implement. The code to perform these computations in wxMaxima is:

compose_matrix_2d(list) := (
block([id2,sigma_x,sigma_y,sigma_z,M],
id2 : matrix([1,0],[0,1]),
sigma_x : matrix([0,1],[1,0]),
sigma_y : matrix([0,-%i],[%i,0]),
sigma_z : matrix([1,0],[0,-1]),

M : map(ratsimp,list[1]*id2 + list[2]*sigma_x + list[3]*sigma_y + list[4]*sigma_z)
)
)$

decompose_matrix_2d(M) := (
block([id2,sigma_x,sigma_y,sigma_z,spec],
id2 : matrix([1,0],[0,1]),
sigma_x : matrix([0,1],[1,0]),
sigma_y : matrix([0,-%i],[%i,0]),
sigma_z : matrix([1,0],[0,-1]),
spec : [0,0,0,0],
spec[1] : ratsimp(matrix_trace_2d( id2 . M )/2),
spec[2] : ratsimp(matrix_trace_2d( sigma_x . M )/2),
spec[3] : ratsimp(matrix_trace_2d( sigma_y . M )/2),
spec[4] : ratsimp(matrix_trace_2d( sigma_z . M )/2),
spec
)
)$
matrix_trace_2d(M) := (
block( result : M[1,1] + M[2,2] )
)$

For a general matrix

\[ M = \left[ \begin{array}{cc} i & -3 + 4 i \\ 19 & 6 + 5 i \end{array} \right] \; \]

the components are

\[ M \doteq \left[ \begin{array}{c} 3 + 3 i \\ 8 + 2 i \\ -2 – 11 i \\ -3 – 2 i \end{array} \right] \]

a result that the reader is invited to confirm by performing the linear combination and which the reader is challenged to arrive at more easily than the method given here.

A Fresh Look at Scattering

One of the most difficult concepts I’ve ever encountered is the scattering cross section. The reason for this difficulty is not in its basic application but the fact that it there are so many of them, each tending to show up in different guises with slightly different definitions, each tailored to fit the particular circumstances. Being something of a generalist, I like to see the one, encompassing definition first and then adapt that definition to the problem at hand. Many and scattered (no pun intended) aspects of that central definition just makes my program much harder to fulfill.

It should come as no surprise that concepts surrounding physical scattering should be numerous and diverse. Scattering (or collision) between one object and another is a basic process that reflects the underlying truth that matter is competitive. No two objects (leaving bosons aside) can occupy the same space at the same time. Scattering is as ubiquitous as rotations and vibrations, without having the decency or charm to be confined to limited section of space.

Several aspects associated with the scattering cross section make it especially slippery. Collisions between objects can be quite complicated based on structure and regime. Extended or complex objects are particular hard to model and the complications associated with the transition from a classical regime to a quantum one adds layers of complexity.

So, for many years, the general notion of the scattering cross section remained elusive. Recently I’ve come back to the description presented in Physics by Halliday and Resnick. Since it was originally couched more within the context of elementary particle physics its applicability to other aspects of scattering was unclear. I’ll discuss below why I believe a generalization of it to be the best definition available, even for classical systems. But for now, lets talk about the physical model.

The Halliday and Resnick model is based on the scattering of elementary particles from a thin foil. They liken the scenario to firing a machine gun at a distant wall of area $$A$$. A host of small plates, $$N$$ of them in number, and each of area $$\sigma$$, are arranged on the wall without overlapping. If the rate at which the machine gun fires is $$I_0$$ and the it uniformly sprays bullets over the wall, then the fractional rate $$I$$ (fraction per unit time) that will impact a plate is given by

\[ \frac{I}{I_0} = \frac{N \sigma}{A} \equiv \frac{A_p}{A} \; ,\]

which is interpreted as the ratio of the total area covered by the plates $$A_p = N \sigma$$ to the total area of the wall.

At its heart, this explanation is essentially the classic scenario for Monte Carlo analysis in which the area of an irregular shape (say a lake), $$A_I$$, is estimated by surrounding it with a regular shape (say a square plot of land) of known area, $$A_R$$.

Monte Carlo Lake

The point $${\mathcal P}$$, which falls within $$A_R$$ but outside $$A_I$$ is termed a ‘miss’. The point $${\mathcal Q}$$, which falls within $$A_I$$ is termed a ‘hit’. By distributing points uniformly within $$A_R$$ and counting the ratio of hits, $$N_h$$, to total points used, $$N$$, the area of the irregular shape can be estimated as

\[ \frac{A_I}{A_R} = \frac{N_h}{N} \; ,\]

where the estimate becomes exact as $$N$$ tends to infinity.

The only difference with the classic Monte Carlo problem and the thin foil problem is that the irregular shape in the foil scenario is built out of many non-contiguous pieces.

Halliday and Resnick then generalize this definition by separating the universe of outcomes into more than two choices – hit or miss. They basically subdivide the hit space into additional outcomes like ‘hit the plate and break it into 3 pieces’ or ‘hit the plate and break it into 5 pieces’, and so on. Each of these outcomes can have their respective scattering cross sections given by

\[ \sigma_3 = \frac{A}{N} \frac{I_3}{I_0} \]

for the former case and

\[ \sigma_5 = \frac{A}{N} \frac{I_5}{I_0} \]

for the latter.  Note that the factor $$\frac{A}{N}$$ lends units of area to the cross section, but otherwise just comes along for the ride.

An additional generalization to nuclear and particle physics occurs when the universe of possibilities is expanded to account number of particles scattered into a particular direction or to distinguish encounter when the species changes.

For scattering direction, the scenario looks something like

Scattering

where the black trajectory is not scattered, the orange by a little, and the maroon by a lot.

For the case where the species changes, there can be dramatic differences like those listed in Modern Physics by Kenneth Krane. He asks the reader to consider the cross section for the following reactions involving certain isotopes of iodine and xenon:

\[ \begin{array}{lr} I + n \rightarrow I + n & \sigma = 4 b \\ Xe + n \rightarrow Xe + n & \sigma = 4 b \\ I + n \rightarrow I + \gamma & \sigma = 7 b\\ Xe + n \rightarrow Xe + \gamma & \sigma = 10^6 b \end{array} \; . \]

The first two reactions are inelastic scattering, the last two are neutron capture, and the units on cross section are in barns $$b= 10^{-28} m^2$$.

Now I appreciate that nuclear physicists like to work from the thin foil picture, and that, as a result, the definitions of cross section inherit the units from the geometric factor $$A/N$$ out in front. But in reality, their thinking isn’t really consistent with that. In the iodine and xenon example, the absolute values of cross sections are unimportant. What matters is that the likelihood that iodine and xenon will inelastically scatter a neutron are the same while the likelihood of these two elements capturing a neutron are 5 orders of magnitude different, with xenon a 100,000-times more likely.

So why bother assigning cross sections units of area. More physics would be unified if traditional cross sections derived in the above fashion were consistently reinterpreted to be Monte Carlo ratios. This improvement in thinking would unite classical and quantum concepts and would accommodate both deterministic and stochastic systems (regardless of the origin of the randomness). It would also remove that pedagogical thorn of the total scattering cross section of the $$1/r$$ potential as being infinite (which is hard to swallow and makes the cross section seem dodgy when learning it). The question simply no longer holds any meaning. The new interpretation would be that the ratio of particles scattered in any fashion relative to the number sent into the $$1/r$$ scatterer is exactly $$1$$ – i.e. every particle scatters a little. That is the essence of the ‘explanation’ of the infinite cross section (even in classical physics). There would be no area and thus no infinite area as well. It would also put $$1d$$ scattering off of step potentials on the same footing as $$3d$$ scattering. The transmission and reflection coefficients $$T$$ and $$R$$ now would have the same meaning as the scattering cross section. No superfilous and distracting units would separate one from the other.

Unfortunately, I doubt that the physics community would ever actually give up on nearly a century of data, but one can dream.

Vectors and Forms: Part 4 – Vector Identities II

In this final installment on Schleifer’s approach to differential forms and their application to vector calculus, I thought I would take a look at two inter-related items with which Schleifer seems to have had problems. Both of these items deal with using the primitive correspondences to abstractly derive new relations. Before proceeding, it is important to point out that he generally avoids identities involving second derivatives except for the trivial $$\nabla \times (\nabla \phi) = 0$$ and $$\nabla \cdot (\nabla \vec A) = 0$$. As a result, he missed a very interesting opportunity to drive home an important distinction between functions and vectors/forms. As an example of this distinction, reconsider the curl-of-the-curl derived last week.

In vector calculus notation, the curl-of-the-curl identity can be rearranged to give a definition of the Laplacian of a vector

\[\nabla^2 \vec A = \nabla ( \nabla \cdot \vec A) – \nabla \times (\nabla \times \vec A) \; .\]

From the primitive correspondences, the divergence is given by

\[ \nabla \cdot \vec A \Leftrightarrow * d * \phi_A \]

and the curl by

\[ \nabla \times (\nabla \times \vec A) \Leftrightarrow * d \phi_A \; .\]

So the curl-of-the-curl identity can be used to define the differential forms expression for the Laplacian of a vector as given by the correspondence

\[ \nabla^2 \vec A \Leftrightarrow (d * d * – * d * d) \phi_A \; .\]

The natural follow-on question to ask is if this definition is consistent with the expressions for the scalar Laplacian

\[ \nabla^2 f = ( \partial_x^2 + \partial_y^2 + \partial_z^2 ) f \]

introduced in more elementary applications.

Based on the primitive correspondences, the scalar Laplacian naively translates to

\[ \nabla ^2 f \Leftrightarrow * d * d \, f \; \]

So what’s up? Why are they different. Well we can partially fix the difference by subtracting (or adding) a term with the operator $$ d * d * $$ acting on $$f$$ since

\[ d * f = d (f dx \wedge dy \wedge dz ) = 0 \; ,\]

since there is no way for the exterior derivative to raise a 3-form to a higher rank in 3 dimensions, regardless of the functional form of $$f$$.

So we can express the scalar Laplacian as

\[ \nabla^2 f \Leftrightarrow (- d * d * + * d * d) f \; \]

compared to the vector Laplacian

\[ \nabla^2 \vec A \Leftrightarrow (d * d * – * d * d) \phi_A \; .\]

Okay their form is now similar, but why the difference in sign? Well, the sign difference is accepted in the mathematical community and is a consequence of the rank of the form.

The Laplacian of an arbitrary form has the general formula

\[ \nabla ^2 \Leftrightarrow \delta d + d \delta \; ,\]

where the operator

\[ \delta = (-1)^{(np+n+1)} * d * d \; ,\]

where $$n$$ is the dimension of the space, and $$p$$ is the rank of the differential form. If $$n$$ is even then $$\delta = – * d *$$ and if $$n$$ is odd $$\delta = (-1)^p * d * $$. Thus in three dimensions, a $$0$$-form (scalar) has a Laplacian of a different form than a $$1$$-form. We ‘discovered’ this distinction by abstractly manipulating the primitive correspondences (even though Schleifer doesn’t); however, we have found a quantity where the sign differs between the first and the last term. It isn’t clear how this arose or whether it is correct or an artifact of Schleifer’s instance to map vectors and forms so closely. Since he avoids the second derivative identities, we’ll never know what his view on this is.

A related point is the endnote in which Schleifer states that the only type of vector identity he was unable to prove were ones of the form

\[ \nabla \times (\vec A \times \vec B) = (\vec B \cdot) \vec A + \Leftrightarrow *d(*(\phi_A \wedge \phi_B)) \; . \]

Now this statement is a bit of a mystery to me. The cross product has the established mapping

\[ \nabla \times (\vec A \times \vec B) \Leftrightarrow *d(*(\phi_A \wedge \phi_B)) \; ,\]

which expands to

\[ * (\phi_A \wedge \phi_B) = (A_y B_z – A_z B_y) dx \\ + (A_z B_x – A_x B_z) dy \\ + (A_x B_y – A_y B_x) dz \; .\]

For notational convenience define

\[ C_x = A_y B_z – A_z B_y \; , \]
\[ C_y = A_z B_x – A_x B_z \; , \]
and
\[ C_Z = A_x B_y – A_y B_x \; .\]

These three equations can be compactly written as

\[ C_i = \epsilon_{ijk} A_j B_k \]

The curl of this cross-product translates to the language of differential forms as

\[ d * (\phi_A \wedge \phi_B) = C_{x,y} dy \wedge dx + C_{x,z} dz \wedge dx + C_{y,x} dx \wedge dy \\ + C_{y,z} dz \wedge dy + C_{z,x} dx \wedge dz + C_{z,y} dy \wedge dz \; .\]

The pattern exhibited by the coefficients of the two-forms also leads to a compact expression

\[ d * (\phi_A \wedge \phi_B) = \epsilon_{k \ell m} \partial_{\ell} C_k dx^m \; \]

Combining these last two expressions yields precisely what one gets from the classical vector manipulation

\[ \nabla \times (\vec A \times \vec B) = \epsilon_{ijk} \partial_j [\vec A \times \vec B]_k = \epsilon_{ijk} \partial_j \epsilon_{k \ell m} A_\ell B_m \]

which, up to a trivial change of indices, is the same. So why Schleifer says he can’t prove it I don’t know. Perhaps he is trying to say is that in the identity

\[ \nabla \times (\vec A \times \vec B) = (\vec B \cdot \nabla) \vec A – (\vec A \cdot \nabla) \vec B + (\nabla \cdot \vec B) \vec A – (\nabla \cdot \vec A) \vec B \]

there is no proper differential forms mapping of $$(\vec B \cdot \nabla) \vec A$$. Let me say that it even if it doesn’t, it really isn’t a concern. It is not like he actually exploits the abstract language to derive new expressions using the primitive correspondences. If he did he would have discovered the switching sign on the Laplacian.

Overall, I admire Schleifer’s goal but I am concerned about two aspects of this particular program. First is the notational complexity that comes about. For example, $$\vec A \cdot \vec B \Leftrightarrow *(\phi_A \wedge * \phi_B)$$ The need to wrap the expression with parentheses to distinguish $$*\phi_A \wedge * \phi_B \neq *(\phi_A \wedge *\phi_B)$$ makes the notation clunky. Second, and more important, it seems that the desire to continuously re-express the language of differential forms back to vector calculus undercuts the pedagogy and, as shown with the Laplacian, leads to more questions than answers. Hopefully with more time this program can be rescued but for now it doesn’t quite seem ready for prime time.

Vectors and Forms: Part 3 – Vector Identities I

The last column introduced the exterior derivative operator $$d$$ and, using this operator and the language of differential forms, developed analogous expressions for the classical vector concepts of gradient, divergence, and curl, each being given by

\[ \nabla f \Leftrightarrow d f \; ,\]

\[ \nabla \cdot \vec A \Leftrightarrow *d* \phi_A \; , \]

and

\[ \nabla \times \vec A \Leftrightarrow * d \phi_A \; , \]

respectively. These relations, collectively, assume the name of the primitive correspondences.

This installment tackles the extension of these ideas to the classical set ‘vector derivative identities’ that tend to crop up whenever vector calculus is employed (usually in electrodynamics or fluid mechanics) and which are often unclear or unmotivated. One of the main thrusts behind the work of Schleifer to publish the correspondences between vector calculus and the language of differential forms was the hope that a deeper understanding of the underlying, unified structure would become apparent. It was this aim that originally attracted my attention to his paper.

The first set of identities to be discussed are the curl of the gradient is zero,

\[ \nabla \times \nabla f = 0 \; , \]

and the divergence of a curl is zero,

\[ \nabla \cdot \nabla \times \vec A = 0 \; .\]

From the point-of-view of vector calculus, these two identities, while looking similar, don’t flow from any common source. But each of these is an expression of the much simpler identity $$d^2 = 0$$. Indeed, it was the desire to unite these dispparate relations that led, in great part, to the invention of the language of differential forms.

To prove that the curl of a gradient is zero explicitly use the first and third primitive correspondences

\[ \nabla \times (\nabla f) \Leftrightarrow *d(d f) = * d^2 f = 0 \; .\]

Likewise, the demonstration that the curl of a vector field is divergence-free involves the second and the third of the primitive correspondences
\[ \nabla \cdot \nabla \times \vec A \Leftrightarrow (*d*)(*d\phi_A) = * d ** d \phi_A = * d^2 \phi_A = 0 \; .\]

Most of the more exotic vector identities require a bit more work to demonstrate them explicitly and are not done with abstract manipulation but, instead, with coordinates. This is not especially concerning, since the aim here is to bridge the gap between the two approaches and not to demonstrate internal consistency or proficiency in either one.

Curl-of-the-curl

One such vector identity is the curl-of-the-curl, $$\nabla \times (\nabla \times \vec A)$$, which arises often in the study of Maxwell’s equations. The traditional way to perform the identity is by index-gymnastics involving the Levi-Cevita tensor density and the Kronecker delta. Appling this technology yields

\[\nabla \times (\nabla \times \vec A) = \epsilon_{ijk} \partial_j ( \epsilon_{k \ell m} \partial_\ell A_m ) = (\delta_{i\ell}\delta_{jm} – \delta_{im}\delta_{j\ell} ) \partial_j \partial_\ell A_m \; .\]

Resolving the Kronecker deltas yields the index equation

\[\nabla \times (\nabla \times \vec A) = \partial_j \partial_i A_j – \partial_j \partial_j A_i \; ,\]

which has the immediate translation into ‘vector language’ of

\[ \nabla \times (\nabla \times \vec A) = \nabla (\nabla \cdot \vec A) – \nabla^2 \vec A \;. \]

The differential forms way is to start with the standard correspondence

\[\phi_A = A_x dx + A_y dy + A_z dz \]

and then to apply the third primitive correspondence

\[ *d \phi_A = (A_{z,y} – A_{y,z}) dx + (A_{x,z} – A_{z,x}) dy + (A_{y,x} – A_{x,y}) dz \; . \]

Applying the exterior derivative an additional time and accounting for the properties of the wedge product yields the two-form

\[ d*d \phi_A =( A_{x,zx} – A_{z,xx} – A_{z,yy} + A_{y,zy} ) dx \wedge dy \\ + ( A_{y,xy} – A_{x,yy} – A_{x,zz} + A_{z,xz} ) dy \wedge dz \\ + ( A_{z,yz} – A_{y,zz} – A_{y,xx} + A_{x,yx} ) dz \wedge dx \; .\]

Applying the Hodge star operator to get the dual gives

\[ *d*d \phi_A = (\partial_j \partial_i A_j – \partial_j \partial_j A_i) dq^i \; ,\]

where $$dq^i = dx, dy, dz$$ for $$ i = i, 2, 3$$.

Employing the vector-to-form correspondence, one sees that these are the same components as in the vector form, once the common, self-cancelling terms associated with $$i=j$$ are taken into account.

Gradient-of-the-dot

The next identity is the gradient of a dot-product. Based on the primitive correspondences, one can start with

\[ \nabla (\vec A \cdot \vec B) \Leftrightarrow d(*(\phi_A \wedge *\phi_B)) \; .\]

To see how this comes out, begin with the recognition that the dot-product is a scalar function so that it is particularly easy to move between vectors and forms. The form-equivalent of the gradient of this scalar function is

\[ d (A_x B_x + A_y B_y + A_z B_z) = \partial_i (A_x B_x + A_y B_y + A_z B_z ) dq^i \; ,\]

where $$dq^i$$ is as defined above.

What remains is to expand the action of the partial derivative and show that the result forms translate into the desired vector identity.

\[ \partial_i (A_j B_j) = (A_{x,i} B_x + A_{y,i} B_y + A_{z,i} B_z) + ( A_x B_{x,i} + A_y B_{y,i} + A_z B_{z,i} ) \; .\]

For simplicity, focus on the $$i=x$$ and strategically add and subtract two groups of terms
\[ A_{x,x} B_x + A_{y,x} B_y + A_{z,x} B_z \\ + (A_{x,y} B_y – A_{x,y} B_y) + (A_{x,z} B_z – A_{x,z} B_z) + B \leftrightarrow A \; .\]

Next group the terms into the suggestive form

\[ B_x A_{x,x} + B_y A_{x,y} + B_z A_{x,z} \\ + B_y (A_{y,x} – A_{x,y}) + B_z(A_{z,x} – A_{x,z} ) + B \leftrightarrow A \; .\]

The next step requires a peek back into the language of vectors. Since the curl is given by

\[ \nabla \times \vec A = (A_{z,y} – A_{y,z} ) \hat e_x + (A_{z,y} – A_{y,z} ) \hat e_y + (A_{z,y} – A_{y,z} ) \hat e_x \; ,\]

the re-arranged term can be re-written as

\[ B_x A_{x,x} + B_y A_{x,y} + B_z A_{x,z} + B_y (A_{y,x} – A_{x,y}) + B_z(A_{z,x} – A_{x,z} ) \\ + B \leftrightarrow A = (\vec B \cdot \nabla) A_x + B_y [\nabla \times \vec A]_z – B_z [\nabla \times \vec A]_y + B \leftrightarrow A\; .\]

The final two terms on the right can be further re-written as

\[ B_x A_{x,x} + B_y A_{x,y} + B_z A_{x,z} + B_y (A_{y,x} – A_{x,y}) + B_z(A_{z,x} – A_{x,z} ) \\ + B \leftrightarrow A = (\vec B \cdot \nabla) A_x + [\vec B \times (\nabla \times \vec A) ]_x + B \leftrightarrow A \; .\]

And so we arrive at the final vector calculus identity for the gradient of the dot-product, without a really meaningful differential form analog.

\[ \nabla ( \vec A \cdot \vec B ) = (\vec B \cdot \nabla) \vec A + \vec B \times (\nabla \times \vec A) + (\vec A \cdot \nabla) \vec B + \vec A \times (\nabla \times \vec B) \]

This was to be expected since the motivation for the addition and subtraction of those additional terms was only to manipulate the partial derivative expression into something familiar from the vector calculus.

Divergence of a cross

The final identity to be explored in this column is the divergence of a cross. In vector calculus, the divergence of a cross expands to

\[ \nabla \cdot (\vec A \times \vec B) = (\nabla \times \vec A) \cdot \vec B – (\nabla \times \vec B) \cdot \vec A \]

Using the second and third primitive correspondences, the proposed analog in the language of differential forms is

\[ \nabla \cdot (\vec A \times \vec B) \Leftrightarrow *d*( *(\phi_A \wedge \phi_B) ) \; .\]

Tackling the right-hand side is easier by ommitting the leading Hodge star operator to give

\[ d*( *(\phi_A \wedge \phi_B) ) = d\left[ (A_y B_z – A_z B_y) dy \wedge dz \\ + (A_z B_x – A_x B_z) dz \wedge dx + (A_x B_y – A_y B_x) dx \wedge dy \right] \; .\]

Re-applying this operator yields

\[ *d*( *(\phi_A \wedge \phi_B) ) = (A_{y,x} B_z – A_{z,x} B_y ) + (A_{z,y} B_x – A_{x,y} B_z ) \\ + ( A_{x,z} B_y – A_{y,z} B_x ) – B \leftrightarrow A \; .\]

Grouping terms suggestively gives
\[ *d*( *(\phi_A \wedge \phi_B) ) = (A_{z,y} – A_{y,z}) B_x + (A_{x,z} – A_{z,x}) B_y \\ + (A_{y,x} – A_{x,y}) B_z – B \leftrightarrow A \; ,\]

from which it is obvious that

\[ *d*( *(\phi_A \wedge \phi_B) ) = (\nabla \times \vec A) \cdot \vec B – (\nabla \times \vec B) \cdot \vec A \; .\]

Next week, I’ll close out this subject with a look at the equivalent operator to the Laplacian and with a comment on the identities that Schleifer claims he couldn’t prove.