MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: FullSimplify regress?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg81439] Re: [mg81408] Re: FullSimplify regress?
  • From: "Kai Gauer" <kai.g.gauer at gmail.com>
  • Date: Sun, 23 Sep 2007 04:36:23 -0400 (EDT)
  • References: <52E282C5-DA4D-4206-95DB-DEB5AEBA0958@mimuw.edu.pl>

Does Mathematica have any extra properties about how the following
formulae are simplified, in general?

Let f be in {Sin, Cos, Tan, Sec, Csc, Cot} & g be in {ArcSin, ArcCos,
ArcTan, ArcSec, ArcCsc, ArcCot} and pick m, n both as some sort of
Integer (or complex-valued extension of it) or Rational, resp & (j,k)
be the interval (or complex-valued neighbourhood) of interest of the
formula.

Are there any geometric simplifications that Mathematica knows in
general to do for, in cases such as

(i) FullSimplify[m*f[n*g[x]*y], (** over j ... k, seeking a finite
degree polynomial, which is normally returned **)]

(ii) FullSimplify[m*g[n*f[x]*y], (** over j ... k, seeking a finite
degree polynomial, which is normally returned **)]

(** remove the y[x] term, if it makes for an easier demonstration of
an argument **)

Is it possible to do the same to get approximate power series
reductions when we use the power series formulae, on (i) &/or (ii). I
realize that one or more of the two almost always seems to return a
finite degree answer, but is it possible or known that the other way
also does the same (still returns a finite degree)? And is it better
to use power series forms substitutions for FullSimplify here, or can
FullSimplify's rules match it to a more generalized function form, and
remembering the rules about its interval, in that it has to return a
function form answer, and not a sequence of other possible shifted
answers, outside the interval.

I'm thinking mainly about Fullsimplify[ArcCsc[5*Sin[3*x]]],
Fullsimplify[Csc[5*ArcSin[3*x]]], Fullsimplify[ArcCsc[5*y*Sin[3*x]]],
Fullsimplify[ArcCos[5*Sin[3x]]] (** note that in this case, one gets
lucky enough to be able to re-write Sin[] in terms of the addition
formula for Cos[] **), or perhaps eventually forms also such as
Fullsimplify[ArcCsc[(y*5*Sin[3x]^v)]^u],
Fullsimplify[Csc[(y*5*ArcSin[3x]^v)]^u] where u & v are also
friendly-form constants.

Thanks,

Kai


On 9/22/07, Adam Strzebonski <adams at wolfram.com> wrote:
> Andrzej Kozlowski wrote:
> > *This message was transferred with a trial version of CommuniGate(tm) Pro*
> > In Mathematica 5.2:
> >
> >
> > FullSimplify[ComplexExpand[ArcTan[Cos[Arg[z w]-Arg[z]-
> >     Arg[w]],Sin[Arg[z w]-Arg[z]-Arg[w]]],{z,w},TargetFunctions->{Re,Im}]]
> >
> >
> > 0
> >
> >
> > In Mathematica 6.01:
> >
> > FullSimplify[ComplexExpand[
> >      ArcTan[Cos[Arg[z*w] - Arg[z] - Arg[w]],
> >        Sin[Arg[z*w] - Arg[z] - Arg[w]]], {z, w},
> >      TargetFunctions -> {Re, Im}]]
> >
> >  ArcTan[Cos[ArcTan[Re[w], Im[w]] + ArcTan[Re[z],
> >          Im[z]] - ArcTan[Re[w]*Re[z] - Im[w]*Im[z],
> >          Re[z*Im[w] + w*Im[z]]]],
> >    -Sin[ArcTan[Re[w], Im[w]] + ArcTan[Re[z], Im[z]] -
> >          ArcTan[Re[w]*Re[z] - Im[w]*Im[z],
> >            Re[z*Im[w] + w*Im[z]]]]]
> >
> >
> > This looks like a bit of a regress to me.
> >
> > Andrzej Kozlowski
> >
>
> Since FullSimplify always works with the simplest form found so far,
> adding simplification rules may result in preventing other rules from
> working for some expressions.
>
> In V5.2 FullSimplify did not simplify the following expressions:
>
> In[1]:= Re[x]+Re[y]//FullSimplify
> Out[1]= Re[x] + Re[y]
>
> In[2]:= Im[z]*Re[w] + Im[w]*Re[z]//FullSimplify
> Out[2]= Im[z] Re[w] + Im[w] Re[z]
>
> in V6.0 it does
>
> In[1]:= Re[x]+Re[y]//FullSimplify
> Out[1]= Re[x + y]
>
> In[2]:= Im[z]*Re[w] + Im[w]*Re[z]//FullSimplify
> Out[2]= Re[z Im[w] + w Im[z]]
>
> However, for the particular expression from your example,
> simplifying a sum of real parts prevents another, more useful
> in this case, simplification.
>
> If you explicitly apply TrigToExp before FullSimplify,
> V6.0 can simplify the expression to zero.
>
> In[3]:= FullSimplify[TrigToExp[ComplexExpand[
>      ArcTan[Cos[Arg[z*w] - Arg[z] - Arg[w]],
>        Sin[Arg[z*w] - Arg[z] - Arg[w]]], {z, w},
>      TargetFunctions -> {Re, Im}]]]
>
> Out[3]= 0
>
> Best Regards,
>
> Adam Strzebonski
> Wolfram Research
>
>


  • Prev by Date: Re: Identifying clusters of adjacent points on a lattice — Solution
  • Next by Date: simple question about plot/evaluate
  • Previous by thread: Re: FullSimplify regress?
  • Next by thread: Plotting y-axis in reverse order for atmospheric profiles