Confused about the solution obtained from vector linearization
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).
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)$