8
$\begingroup$

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];
Simplify[Series[
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?

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

2 Answers 2

7
$\begingroup$

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).

$\endgroup$
3
$\begingroup$

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]]],
    {\[Epsilon],0,1}
] //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)$

$\endgroup$

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