Работа с реальными функциями в математике

В общем, математика всегда предполагает самый общий случай, то есть, если я устанавливаю функцию

a[s_]:={a1[s],a2[s],a3[s]}

и хочу вычислить ее норму Norm [a [s]] , например, она вернет:

Sqrt[Abs[a1[s]]^2 + Abs[a2[s]]^2 + Abs[a3[s]]^2]

Однако, если я знаю, что все ai [s] реальны, я могу вызвать:

Assuming[{a1[s], a2[s], a3[s]} \[Element] Reals, Simplify[Norm[a[s]]]]

, который вернет:

Sqrt[a1[s]^2 + a2[s]^2 + a3[s]^2]

Что я и ожидал.

Проблема возникает при попытке, например, вывести a [s] , а затем (обратите внимание на D ):

Assuming[{a1[s], a2[s], a3[s]} \[Element] Reals, Simplify[Norm[D[a[s],s]]]]

Снова возвращает результат с абсолютными значениями, полученный из предположение, что числа могут быть мнимыми.

Как решить эту проблему? Я хочу определить функцию с действительным знаком и работать с ней как с таковой. То есть, например, я хочу, чтобы его производные были реальными.

10
задан Dror 2 December 2011 в 11:13
поделиться