Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

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

Search the Archive

Re: Finding a function that makes it possible to

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114200] Re: Finding a function that makes it possible to
  • From: Mauricio Esteban Cuak <cuak2000 at gmail.com>
  • Date: Fri, 26 Nov 2010 05:42:12 -0500 (EST)
  • References: <201011221237.HAA06513@smc.vnet.net>

Thanks for your response, I didn't know about the Gr=F6bner Basis option.
I'm not looking for the type of general function that would work, I only
need one.
Unfortunately, I think Mr. Lichtblau's proposal won't work for my purposes,
so I'd appreciate any other ideas to explore or functional forms to try.
Thanks,

ME

2010/11/22 Daniel Lichtblau <danl at wolfram.com>

>
>
> ----- Original Message -----
> > From: "Mauricio Esteban Cuak" <cuak2000 at gmail.com>
> > To: mathgroup at smc.vnet.net
> > Sent: Saturday, November 20, 2010 5:27:53 PM
> > Subject: [mg114029] Finding a function that makes it possible to Solve[]
> a system of equations
> > Hey MathGroup,
> >
> > I apologise beforehand since this might turn to be more a mathematical
> > query
> > than a Mathematica one.
> > However, I appreciate any suggestion on the matter.
> >
> > In[1]:= $Version
> > Out[1]= "7.0 for Mac OS X x86 (64-bit) (February 19, 2009)"
> >
> >
> > This is my setup:
> >
> >
> > f = (g*x + y)^h + d* i[x, y];
> > u1 = a*f - x^2;
> > u2 = (1 - a)*f - y^2;
> >
> >
> > Where x, y are the variables and {a,h,g,d} are just parameters, with 0
> > < a <
> > 1, g > 0, d bigger or equal to 0
> >
> > i[x,y] is the function that I need to specify.
> >
> > Further, it must be true that
> >
> >
> > i[ x, 0] = 0 & i[ 0, y ] = 0
> >
> >
> > For simplicity I've set
> >
> >
> > h=1;
> >
> >
> > Though if the solution you suggest requires it, h could belong to
> > (0,1]
> >
> > What I need is the analytic solution for {x, y}, hopefully a unique
> > real
> > solution (I don't mind if there are complex ones) to:
> >
> >
> > sol = Solve[{D[u1, x] == 0, D[u2, y] == 0}, {x, y}];
> >
> >
> > Obviously, I need to specify i[x,y] to do that. I need the function
> > i[x,y]
> > to grow slower that x^2 or y^2.
> >
> >
> > i[ x, y] = x^(1/2)*y^(1/2) or
> >
> > i[x,y] = Log[1+x] * Log[1+y ]
> >
> >
> > do the trick but Mathematica can't find an analytic solution.
> >
> > The only thing that works is i[x,y] = x*y but the problem is that it
> > grows
> > as fast
> >
> > as x^2.
> >
> >
> > Thanks for your time,
> >
> >
> > ME
>
>
> This much seems to work. Use the product of square roots for i[x,y], and
> precompute a Groebner basis.
>
> f = (g*x + y)^h + d*i[x, y];
> u1 = a*f - x^2;
> u2 = (1 - a)*f - y^2;
>
> i[x_, y_] := x^(1/2)*y^(1/2);
> h = 1;
>
> In[37]:= Timing[
>  sol = Solve[
>    GroebnerBasis[{D[u1, x], D[u2, y]}, {x, y}] == 0, {x, y}];]
>
> Out[37]= {26.364, Null}
>
> This solution is a large object.
>
> In[40]:= LeafCount[sol]
> Out[40]= 186365
>
> In[41]:= Length[sol]
> Out[41]= 4
>
> Possibly version 8 will allow you to forego the precomputation, but I have
> not explicitly tried this. It is also possible that it might be able to
> represent a solution set using the sum of logs variant you propose for
> i[x,y].
>
> As for determining forms of i[x,y] that meet your requirements in general,
> that is indeed a mathematics question. Offhand I'm not sure whether
> Mathematica can be useful for that purpose.
>
> Daniel Lichtblau
> Wolfram Research
>
>


  • Prev by Date: Re: maximum of a series
  • Next by Date: Re: Extract[expr, Position[expr, patt], h]
  • Previous by thread: Re: Finding a function that makes it possible to Solve[] a system of equations
  • Next by thread: Controlling relative scale of graphics objects