How to get first derivative of the complex function with matrix.

96 Views Asked by At

I am trying to implement Perram-Wertheim overlap potential algorithm which I basically need for ellipsoid overlap. I got stuck on evaluating first derrivative which author doesn't state.

The function I need to derivate:
$F[r(\lambda),\lambda] = \lambda(1-\lambda) r_{AB}^TCr_{AB} $

where $r_{AB}$ is a vector,
$C(\lambda) = [\lambda B + (1-\lambda)A]^{-1}$
A and B are matrixes 3x3

The second derivative
$\frac{d^2F[r(\lambda),\lambda]}{d\lambda^2} = -2r_{AB}^TC(\lambda)[\lambda A^{-1}+(1-\lambda)B^{-1}]C(\lambda)r_{AB}$

Evaluated with the help of:
$C(\lambda) = [\lambda B + (1-\lambda)A]^{-1}$
$r(\lambda)-r_A = (1-\lambda)ACr_{AB}$
$r(\lambda)-r_B = -\lambda BCr_{AB}$

There is another option, as I need it to find maximum of function F for $\lambda$ in range <0,1> I can find unique root of the polynomial $h_{AB}=P_{AB}^{'}Q_{AB} - P_{AB}Q_{AB}^{'}$

$P_{AB}(\lambda) = \lambda(1 - \lambda)(a_{AB}^Tadj(\lambda I + (1-\lambda)A_{AB})a_{AB}$
$Q_{AB}(\lambda) = det(\lambda I+(1-\lambda)A_{AB})$

where
$a_{AB}=B^{1/2}r_{AB}$
$A_{AB} = B^{1/2}A^{-1}B^{1/2}$

I have to mention that I am not a mathematican, I've got mathematics during my studies but it was quite a long time ago so please be patient and as simple as possible :) I need those computations in my C++ program.

2

There are 2 best solutions below

5
On BEST ANSWER

Let $$\eqalign{ R &= r_{AB}r_{AB}^T\cr M &= B-A &\implies &C^{-1} = A+\lambda M \cr &\ &\ &dC^{-1} = M\,d\lambda \cr }$$ Then we can write the function as $$\eqalign{ F &= (\lambda-\lambda^2)R:C }$$ where the colon denotes the trace/Frobenius product, i.e. $\,\,A:B={\rm tr}(A^TB).$

Taking the differential of the function $$\eqalign{ dF &= (1-2\lambda)\,d\lambda\,R:C + (\lambda-\lambda^2)R:dC \cr &= (1-2\lambda)R:C\,d\lambda - (\lambda-\lambda^2)R:C\,dC^{-1}\,C \cr &= R:\Big[(1-2\lambda)C + (\lambda^2-\lambda)CMC\Big]\,d\lambda \cr }$$ yields an expression for the derivative, which can be rearranged to whatever form you prefer $$\eqalign{ \frac{dF}{d\lambda} &= R:\Big[(1-2\lambda)C + (\lambda^2-\lambda)CMC\Big] \cr &= R:\Big[(1-2\lambda)(A+\lambda M)^{-1} + (\lambda^2-\lambda)(A+\lambda M)^{-1}M(A+\lambda M)^{-1}\Big] \cr &= r_{AB}^T\Big[(1-2\lambda)(A+\lambda M)^{-1} + (\lambda^2-\lambda)(A+\lambda M)^{-1}M(A+\lambda M)^{-1}\Big]r_{AB} \cr }$$

5
On

I'd take it step by step

$$\frac{dF}{d\lambda}=(1-2\lambda)(r^T C r)+(\lambda-\lambda^2)\left(\frac{dr^T}{d\lambda}(Cr)+r^T \frac{dC}{d\lambda}r + r^T C \frac{dr}{d\lambda}\right)$$ etc