function
LieGroups.SE23.Quat.inverse_jacobian
Right-trivialized derivative of inverse with respect to its element
Rule for inverse:
log_map(inverse(X)^-1 * inverse(X*exp_map(dX))) = -Ad(X) dX
The identity is exact. Inversion turns the right perturbation into a left one and negates it; the adjoint carries it back to the right.
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| input | X | Real | [10] | Element {p, v, q} |
| output | J | Real | [9, 9] | d/d(dX) of log_map(inverse(X)^-1 * inverse(X*exp_map(dX))) |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
function inverse_jacobian
"Right-trivialized derivative of inverse with respect to its element"
input Real X[10] "Element {p, v, q}";
output Real J[9, 9]
"d/d(dX) of log_map(inverse(X)^-1 * inverse(X*exp_map(dX)))";
algorithm
J := -LieGroups.SE23.Quat.adjoint(X);
annotation(Documentation(info="<html>
<p>Rule for <code>inverse</code>:</p>
<pre>log_map(inverse(X)^-1 * inverse(X*exp_map(dX))) = -Ad(X) dX</pre>
<p>The identity is exact. Inversion turns the right perturbation into a left
one and negates it; the adjoint carries it back to the right.</p>
</html>"));
end inverse_jacobian;