Re: Question about the derivative of Abs
- To: mathgroup at smc.vnet.net
- Subject: [mg106120] Re: [mg106097] Question about the derivative of Abs
- From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
- Date: Sat, 2 Jan 2010 05:04:03 -0500 (EST)
- References: <201001011036.FAA05264@smc.vnet.net>
Hi,
PiecewiseExpand can do the trick. In your original post the Abs are
results from the Norm-function in ni[t_,a_,b_].
If you are sure the parameters there are Reals then the following is
Abs-free. To decide whether this is correct is your turn.
Clear["Global`*"]
Simp[a_, b_][expr_] :=
Simplify[expr,
Assumptions -> a > 0 && a < Pi/2 && b > 0 && b < Pi/2];
FSimp[a_, b_][expr_] :=
FullSimplify[expr,
Assumptions -> a > 0 && a < Pi/2 && b > 0 && b < Pi/2];
ComputeCs3D[zi_] := (ddt = Derivative[1, 0, 0];
dd1 = Derivative[0, 1, 0];
dd2 = Derivative[0, 0, 1];
vi = ddt[zi];
zialpha[t_, a_, b_] := {dd1[zi][t, a, b], dd2[zi][t, a, b]};
salphabeta =
Dot[zialpha[#1, #2, #3], Transpose[zialpha[#1, #2, #3]]] &;
sAlphaBeta = Inverse[salphabeta[#1, #2, #3]] &;
ni[t_, a_, b_] :=
Cross[zialpha[t, a, b][[1]], zialpha[t, a, b][[2]]]/
Norm[Cross[zialpha[t, a, b][[1]], zialpha[t, a, b][[2]]]] /.
Abs[val__] :> PiecewiseExpand[Abs[val], Reals];
c[t_, a_, b_] := Dot[ni[t, a, b], vi[t, a, b]] // FSimp[a, b];
c1[t_, a_, b_] :=
ddt[c][t, a, b] -
Dot[zialpha[t, a, b], vi[t, a, b],
sAlphaBeta[t, a, b], {dd1[c][t, a, b], dd2[c][t, a, b]}] //
Simp[a, b];
c2[t_, a_, b_] :=
ddt[c1][t, a, b] -
Dot[zialpha[t, a, b], vi[t, a, b],
sAlphaBeta[t, a, b], {dd1[c1][t, a, b], dd2[c1][t, a, b]}] //
Simp[a, b];
{c[#1, #2, #3], c1[#1, #2, #3], c2[#1, #2, #3]} &)
zi[t_, theta_, phi_] := {(1 + \[Epsilon] t)*Sin[theta] Cos[phi],
Sin[theta] Sin[phi], Cos[theta]};
ComputeCs3D[zi][0, \[Theta], \[Phi]] //
FSimp[\[Theta], \[Phi]] // MatrixForm
Cheers
Patrick
On Fri, 2010-01-01 at 05:36 -0500, Sam Takoy wrote:
> Hi,
>
> I kind of asked this question before, but in a more confusing context,
> so now I would like to ask it by itself.
>
> In the course of my computations, I get Abs' and Abs''. It is applied to
> a positive number, so I think those values should be 1 and 0. However,
> Mathematica fails to simplify it.
>
> For example
>
> In[34]:= Abs'[2.0]
>
> Out[34]=
> \!\(\*SuperscriptBox["Abs", "\[Prime]",
> MultilineFunction->None]\)[2.]
>
>
> These expressions really mess up my answers. How do I get Mathematica to
> do these simplifications?
>
> Thanks
>
> Sam
>
- References:
- Question about the derivative of Abs
- From: Sam Takoy <samtakoy@yahoo.com>
- Question about the derivative of Abs