0
$\begingroup$

When I type the following in Mathematica:

$Assumptions = (a | b | c | d) ∈ Vectors[3, Reals];
Grad[(b - a)\[Cross](d - c), {a}]

I obtain:

{(-1)\[Cross](-c + d)}

but I really don't understand what it means to make the cross product between a scalar and a vector.

Similarly,

Grad[(b - a).(d - c), {a}]

{(-1).(-c + d)}

What does this mean?

$\endgroup$

closed as off-topic by m_goldberg, MarcoB, Itai Seggev, LCarvalho, bbgodfrey Jul 16 '17 at 0:53

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question arises due to a simple mistake such as a trivial syntax error, incorrect capitalization, spelling mistake, or other typographical error and is unlikely to help any future visitors, or else it is easily found in the documentation." – MarcoB, Itai Seggev
If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Basically, it means you do not understand what Grad does. Follow this link to learn about Grad, and follow [this 2nd link]( reference.wolfram.com/language/tutorial/UsingAssumptions.html) to learn what functions will use assumptions. $\endgroup$ – m_goldberg Jul 14 '17 at 23:40
  • 2
    $\begingroup$ I'm voting to close this question as off-topic because the issued raised is not really a problem; it is arises from the OP's misunderstanding of the result returned by Mathematica. $\endgroup$ – m_goldberg Jul 14 '17 at 23:43
  • $\begingroup$ My question is not about whether Grad takes assumptions or not (anyway thanks for pointing it out),but what the returned expression means. Mathematica has accepted that input and given me an answer. Unless there is some bug in Mathematica, I suppose that the response have a meaning. $\endgroup$ – Gian Jul 15 '17 at 11:43
0
$\begingroup$

Grad does a formal transformation on its 1st input. That means the old programmer's saying "garbage in, garbage out" applies -- when the input has no meaning, neither does the output.

Grad treats it 1st argument as if it were a function of the variables given in its 2nd argument. In your case, that means it assumes the 1st argument is a function of a. For a function f of one variable,

 g = Grad[f[a], {a}]

gives

{Derivative[1][f][a]}

Therefore, the meaning of

Grad[(b - a)\[Cross](d - c), {a}]

is the same as the meaning of

g /. f -> ((b - #)\[Cross](d - c) &)

{(-1)\[Cross](-c + d)}

because

{Derivative[1][((b - #)\[Cross](d - c) &)][a]}

gives

(-1)\[Cross](-c + d)

This is a purely formal transformation and has no deeper meaning.

The case of where Dot replaces Cross is totally similar.

$\endgroup$
2
$\begingroup$

Functions, like Grad, which do not take an Assumptions options, ignore the value of $Assumptions. So as far as Mathematica is concerned, you're asking for the gradient in 1 dimension of the cross product of two scalars, and it's doing its best to answer your question.

$\endgroup$

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