Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

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

Search the Archive

Re: Re: smart change of variables?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg88486] Re: [mg87719] Re: [mg87695] smart change of variables?
  • From: janda at th.if.uj.edu.pl
  • Date: Tue, 6 May 2008 06:43:18 -0400 (EDT)
  • References: <200804151051.GAA27960@smc.vnet.net>

Dear Mathematica Experts,

I would like to change variables of a coupled system of ordinary
differential equations
F1(A,B,A',B',A'',B'',A''',A'''')=0
F2(A,B,A',B',A'',B'',A''',A'''')=0
A''',A'''' -third,fourth ord. deriv. of A.
F1 and F2 are polynomials in their variables (first order in A'''',A''',B'';
second order in A'',B',B; fourth order in A).
We can substitute F2 by F3=F3(A,B,A',B',A'',B'') a second order polynomial.
I am trying to find  decoupling variables to the system.
I expect that Groebner Basis of the polynomials can help in detecting such
variables,  however the derivatives make the problem a bit harder.
Can anyone suggest a function or  a package in Mathematica, which could
help in determining good variables ?
Thank you in advance,
Sincerely
                    Artur Janda


> Barrow wrote:
>> Dear all,
>>
>> I have a arithmetic problem.
>> I have an expression expr = (p1 + 2*p2)*(k1 + 2*k2)
>> where p1 + p2 = k1 + k2
>> I wanna make the following change of variables,
>> s = (p1 + p2)^2
>> t = (p1 - k1)^2
>> u = (p1 - k2)^2
>>
>> Is it possible to tell Mathematica to express expr
>> in terms of s, t, and u automatically?
>>
>> Thanks so much.
>> any ideas would be appreciated.
>> Sincerely Barrow
>
> More or less. You can create a Groebner basis out of the defining
> polynomials, such that variables p1, p2, k1, and k2 are ordered higher
> than s, t, and u. Then generalized division (aka polynomial reduction)
> of expr will do what it can to make such a replacement.
>
> polys = {s-(p1+p2)^2,t-(p1-k1)^2,u-(p1-k2)^2,p1+p2-(k1+k2)};
> vars = {p1,p2,k1,k2,s,t,u};
> gb = GroebnerBasis[polys, vars];
>
> In[19]:= InputForm[PolynomialReduce[(p1+2*p2)*(k1+2*k2), gb, vars][[2]]]
> Out[19]//InputForm= 3*k2*p2 + (3*s)/2 + t/2 - u/2
>
> In general the replacement will be dependent on variable and monomial
> ordering. But I'm fairly certain that you will be stuck with some part
> not replaced no matter waht orders are used, since this particular
> variable/monomial ordering does not manage to reduce k2*p2.
>
> Daniel Lichtblau
> Wolfram Research
>
>




  • Prev by Date: Re: 32-bit front-end on 64-bit machine
  • Next by Date: Re: Definite integral
  • Previous by thread: Re: FindClusters & BarCharts
  • Next by thread: Request for Collective Wisdom...