I am trying to linearize a vector expression $$\frac{(\mathbf{u}+d\mathbf{u})\times(\mathbf{v}+d\mathbf{v})}{\vert(\mathbf{u}+d\mathbf{u})\times(\mathbf{v}+d\mathbf{v})\vert}$$ Here is my code

$Assumptions = (u | v | du | dv) ∈ Vectors[3, Reals];
Cross[(u + ϵ*du), (v + ϵ*dv)]/
Sqrt[Dot[Cross[(u + ϵ*du), (v + ϵ*dv)], 
Cross[(u + ϵ*du), (v + ϵ*dv)]]], {ϵ, 
0, 1}]]

And the solution is: enter image description here Two things I don't understand. First, is 1 a vector? 1={1,1,1}? And another thing is the meaning of the space between two vectors, does this means a cross product between two vectors?

  • 3
    $\begingroup$ You have found a bug acknowledged by Wolfram support and described here. $\endgroup$ – mikado Aug 6 '18 at 20:30

As mikado pointed out, this is a bug and the return value is complete nonsense. Don't invest any time in interpreting it. Better use the time and send a bug report to Wolfram Support. This appears to be a really old bug and they won't fix it without sufficient peer pressure.

In the meantime, you can go on with

expr = Cross[(u + ϵ*du), (v + ϵ*dv)]/Sqrt[Dot[Cross[(u + ϵ*du), (v + ϵ*dv)]]];
(expr /. ϵ -> 0) + (D[expr, ϵ] /. ϵ -> 0) ϵ

$\frac{\epsilon (\text{du}\times v+u\times \text{dv})}{2 \sqrt{u\times v}}+\sqrt{u\times v}$

With regard to the second question: A space between two vectors is still interpreted as Times, hence as a component-wise multiplication, producing again a vector of same Length (if the two vectors have same Length and an error message otherwise).

| improve this answer | |

Using my answer to the linked question, you can do:

protect = Unprotect[System`Private`InternalSeries];
System`Private`InternalSeries[a_Dot | a_Cross, {x_, x0_, n_Integer?NonNegative}] := Module[
    {d = NestList[D[#, x]&, a, n], res},

    res = Quiet @ Check[d /. x->x0, $Failed];
    SeriesData[x, x0, TensorExpand @ res, 0, n+1, 1] /; res =!= $Failed
Protect @@ protect;

Then, your example works as intended:

$Assumptions = (u|v|du|dv) \[Element] Vectors[3,Reals];
Simplify @ Series[
    Cross[u+\[Epsilon]*du,v+\[Epsilon]*dv]/Sqrt[Dot[Cross[u+\[Epsilon]*du,v+\[Epsilon]*dv], Cross[u+\[Epsilon]*du,v+\[Epsilon]*dv]]],
] //TeXForm

$\frac{u\times v}{\sqrt{u.u v.v-(u.v)^2}}-\frac{\epsilon \left(u\times v (-\operatorname{du}.v u.v+v.v \operatorname{du}.u+u.u \operatorname{dv}.v-\operatorname{dv}.u u.v)+\left((u.v)^2-u.u v.v\right) (\operatorname{du}\times v-\operatorname{dv}\times u)\right)}{\left(u.u v.v-(u.v)^2\right)^{3/2}}+O\left(\epsilon ^2\right)$

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.