biVector forum

Geometric differentiation and chain rule for a function of rotor variables

I’m reading the Chapter 8 of “Geometric Algebra for Computer Science”, and trying to find the derivative of a function like this f(B) = \parallel \! B \wedge \mathbf{v}_0 \! \parallel^2, with \parallel \! \mathbf{v}_0 \! \parallel^2 = 1.

Intuitively, I would like to know how rotating a plane represented by a bivector B would affect the trivector volume.

And I think I should further write the bivector B as a function of a rotor R (maybe two rotors), e.g. B(R) =RB_0R^{-1}, by following the saying:

“Elements of geometric algebra should only be perturbed by rotors” :
e^{-\delta P/2} X e^{\delta P/2} = X + X \times \delta P + O(\delta^2) \quad\quad (8.4)
(page 217 of “Geometric Algebra for Computer Science”).

  • I’m a little confused in how to apply the chain rule to a function that involves one or two rotor variables.
  • I get stuck and am not sure how to go further after doing the following for \partial_B f(B).

Here comes the part for f(B) and \partial_B f(B):

For any two multivectors X and Y, and a k-blade M, we have
X Y = X \wedge Y + X \rfloor Y + X \times Y \quad and \quad MM = M \rfloor M,
Then we have \parallel \! M \! \parallel^2 = M * \tilde M = M\rfloor \tilde M = (-1)^{\frac{1}{2}k(k-1)} MM = -M^2 (for k=2),
and f(B) = \parallel \! B \wedge \mathbf{v}_0 \! \parallel^2 = -(B \wedge \mathbf{v}_0 )^2 = - \frac{1}{4}(B\mathbf{v}_0 + \mathbf{v}_0 \hat B)^2 = - \frac{1}{4}(B\mathbf{v}_0 + \mathbf{v}_0 B)^2 .

Then for the derivative,
\partial_B f(B) \overset 0 = -\frac{1}{4} ( \overset \backprime \partial_B ( \overset \backprime B\mathbf{v}_0 + \mathbf{v}_0 \overset \backprime B)(B\mathbf{v}_0 + \mathbf{v}_0 B) + \overset \backprime \partial_B (B\mathbf{v}_0 + \mathbf{v}_0 B)( \overset \backprime B\mathbf{v}_0 + \mathbf{v}_0 \overset \backprime B) )
\quad\quad\quad\quad \!\! \overset 1 = -\frac{1}{4} (2\mathbf{v}_0 (B\mathbf{v}_0 + \mathbf{v}_0 B) + 2(B\mathbf{v}_0 + \mathbf{v}_0 B) \mathbf{v}_0)
\quad\quad\quad\quad \!\! \overset 2 = - (B + \mathbf{v}_0 B \mathbf{v}_0)

  • In the step “\overset 1 =”, I treated the part without ^\backprime , i.e., \mathbf{v}_0 and (B\mathbf{v}_0 + \mathbf{v}_0 B), as constants. Is there anything wrong?

I do not feel confident in:

  • when we can treat such parts as “constants” in taking derivative using product rule and “Table 8.1 / 8.2”, and
  • when we need to apply a projection \mathsf{P}[\ ] (though this can become apparent when one take derivative using definition).

Any hints / corrections? Thank you!

1 Like

Without looking at the computation in detail, it looks like the units are immediately incorrect due to the lack of a differential-sized factor on the RHS of the final expression. When you say you are trying to “find the derivative,” are you referring to a direction derivative, the total derivative, or partial derivative with respect to a coordinate?

I think the chain rule applies as you would expect without needing to reexpress the \wedge in terms of the geometric product also.

Thank you!
Yes. There must be something wrong…
f(B) is scalar valued, and I’m trying to take the total derivative.

What do you mean by “differential-sized factor”? (“RHS” is short for “right hand side”, correct?)

I mean simply that if we consider \partial_B f(B) to be a “change of f,” I would expect to see a “change” (aka a \partial) on the right hand side (RHS) of the equation. In this case, because only B is varying, I would expect \partial B to show up in the solution as a factor of all terms (i.e. \partial B \wedge \mathbf{v}_0).

\partial_B f(B) is the "rate of change of f" by treating \partial_B as a differentiation operator.

For notation, I’m following Prof. LeoDorst’s convection in the book GA for CS:

Let F(\mathbf{x}) be an element of geometric algebra dependent on a vector \mathbf{x}.

The directional differentiation is denoted by (\mathbf{a} * \partial_\mathbf{x}), and is defined as
(\mathbf{a} * \partial_\mathbf{x})F(\mathbf{x}) \equiv \lim_{\epsilon \to 0} \frac{F(\mathbf{x} + \epsilon \mathbf{a}) - F(\mathbf{x})}{\epsilon}. \quad (section 8.5)

The vector differentiation operation is defined as
\partial_\mathbf{x} \equiv \sum_{i = 1}^m \mathbf{e}^i (\mathbf{e}_i * \partial_{\mathbf{x}}) = \sum_i \mathbf{e}^i \frac{\partial}{\partial_{x^i}},
where (\mathbf{e}_i * \partial_\mathbf{x}) = \frac{\partial}{\partial{x^i}} = \partial_{x^i}.

Directional multivector differentiation and multivector derivative are defined similarly.

(A*\partial_X)F(X) \equiv \lim_{\epsilon \to 0} \frac{F(X+ \epsilon A) - F(X)}{\epsilon}; \quad (section 8.7.1)
\partial_X = \sum_{I=1}^{2^m} \mathbf{e}^I (e_I * \partial_X).

I’ve been reading [Hitzer's Multivector Differential Calculus](https://arxiv.org/abs/1306.2278).
I find his definition of A-derivative that involves projection quite reasonable.