MathGroup Archive 2007

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

Search the Archive

Re: Simplifying an expression - with my own definition of what "simple"

  • To: mathgroup at smc.vnet.net
  • Subject: [mg83794] Re: [mg83441] Simplifying an expression - with my own definition of what "simple"
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Sat, 1 Dec 2007 05:33:51 -0500 (EST)
  • References: <200711200858.DAA07524@smc.vnet.net>

GroebnerBasis will do this for you. Here is Sin[x]^2:

Z /. Solve[GroebnerBasis[{Z - Sin[x]^2,
        Cos[x] - 1 + 2*f[x]^2, 1 - Cos[x]^2 -
         Sin[x]^2}, {Z, f[x]}, {Sin[x], Cos[x]}] ==
      0, Z][[1]]

-4*(f[x]^4 - f[x]^2)

Here is Sin[x]^2+Cos[x]^4

Z /. Solve[GroebnerBasis[{Z - Sin[x]^2 - Cos[x]^4,
        Cos[x] - 1 + 2*f[x]^2, 1 - Cos[x]^2 - Sin[x]^2}, {Z, f[x]},
       {Sin[x], Cos[x]}] == 0, Z][[1]]

16*f[x]^8 - 32*f[x]^6 + 20*f[x]^4 - 4*f[x]^2 + 1

It should also work with Eliminate (since Eliminate uses  
GroebnerBasis) but is a bit harder to control.

Andrzej Kozlowski



On 20 Nov 2007, at 17:58, user8472 wrote:

> Hi,
>
> I am using Mathematica 5.2 on i386 Linux and I have the following  
> problem: I want to express a rational polynomial of trigonometric  
> functions in terms of elementary polynomials that I have defined  
> myself.
>
> A simplified example of what I want to do is illustrated as follows:  
> Suppose the elementary function is f[x_]:=Sin[x/2], then I want to  
> obtain
>
> Cos[x] becomes 1-2*f[x]^2
>
> Sin[x]^2 becomes 4f[x]^2-4f[x]^4
>
> and so on. So my own definition of "simple" is "in terms of f[x]".
>
> Is there a straightforward way to do this?
>
> My actual problem is a little harder since it involved multiple  
> variables and rational trigonometric polynomials, but at least  
> analytically I can show that it can always be rewritten in terms of  
> the elementary functions. The question is if Mathematica can in  
> principle solve such types of problems as illustrated above.
>
> Thanks in advance!
>



  • Prev by Date: Re: Manipulate with very computationally large problems
  • Next by Date: Re: Using ReadList to read a string
  • Previous by thread: Re: Manipulate with very computationally large problems
  • Next by thread: Re: Using ReadList to read a string