Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2006

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

Search the Archive

Re: Closed Form solution too much to hope for?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg66750] Re: Closed Form solution too much to hope for?
  • From: "DOD" <dcodea at gmail.com>
  • Date: Mon, 29 May 2006 06:05:15 -0400 (EDT)
  • References: <e5augm$no4$1@smc.vnet.net><e5btaa$cbv$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Jean-Marc Gulliet wrote:
> DOD wrote:
> > I don't have a very good idea on the guts of  Solve, or what its
> > reasonable to expect from mathematica, but here's what I want:  T is
> > the solution to
> >
> > d x^n + (1-d) x^2 == c
> >
> > Where n, d and c are parameters of my model.  Now, it's very clear what
> > this solution looks like; as we vary d the solution 'slides' from the
> > easy-to-solve-in-a-closed-form solutions to
> >
> > x^n=c
> >
> > and
> >
> > x^2=c,
> >
> > that is, x=c^{1/2} and x=c^{1/n}.  So I know what the solution looks
> > like, but when I leave it in symbolic form, Solve doesn't like it, and
> > says it's fundamentally not algebraic.  I presume this is because the
> > number of roots depends on n, which isn't given, so Solve panics.  But
> > I only really care about the real solution between 0 and 1- is there
> > any way to get the form of this solution as a function of both n and c?
> >
> > Thanks for enlighening me.
> >
> > Dennis
> >
>
> Hi Dennis,
>
> I am afraid that your intuition is wrong and that closed form solutions
> are more complicated that what you think. To explore the full set of
> solutions, use *Reduce* and *Assuming*.
>

Thanks for your reply! I should have also said that c is between 0 and
1 as well, and n>=3.  I was basing my confidence in the solution on
haveing graphed a bunch of instances of the solution, plugging in for
the parameters.  I'm going to try and see if I can follow along with
the output here- it's one of my problems with Mathematica.


> In[1]:=
> eqn = d*x^n + (1 - d)*x^2 == c;
>
> In[2]:=
> Table[{i, Assuming[0 <= d <= 1 && n \[Element] Integers && n >= 0 &&
>       c \[Element] Reals, Reduce[eqn /. n -> i, x]]}, {i, 0, 5}]
>
So here you're telling Reduce relevant info about the parameters, and
looking at solutions for for the first few values of n?

> Out[2]//OutputForm=
> {{0, (d == 1 && c == 1) ||
>
>                              Sqrt[-c + d]          Sqrt[-c + d]
>      (-1 + d != 0 && (x == -(------------) || x == ------------))},
>                              Sqrt[-1 + d]          Sqrt[-1 + d]
>
>    {1, (d == 1 && x == c) ||
>
>                                                    2
>                            d - Sqrt[4 c - 4 c d + d ]
>      (-1 + d != 0 && (x == -------------------------- ||
>                                    2 (-1 + d)
>
>                                       2
>               d + Sqrt[4 c - 4 c d + d ]
>          x == --------------------------))},
>                       2 (-1 + d)
>
>    {2, x == -Sqrt[c] || x == Sqrt[c]},
>
>    {3, (d == 0 && (x == -Sqrt[c] || x == Sqrt[c])) ||
>
>                                   2       2       3
>      (d != 0 && (x == Root[-c + #1  - d #1  + d #1  & , 1] ||
>
>                           2       2       3
>          x == Root[-c + #1  - d #1  + d #1  & , 2] ||
>
>                           2       2       3
>          x == Root[-c + #1  - d #1  + d #1  & , 3]))},
>
>    {4, (d == 0 && (x == -Sqrt[c] || x == Sqrt[c])) ||
>
>      (d != 0 && (x == -(
>
>                                                   2
>                       1   Sqrt[1 - 2 d + 4 c d + d ]
>              Sqrt[1 - - - --------------------------]
>                       d               d
>              ----------------------------------------) ||
>                              Sqrt[2]
>
>                                                    2
>                        1   Sqrt[1 - 2 d + 4 c d + d ]
>               Sqrt[1 - - - --------------------------]
>                        d               d
>          x == ---------------------------------------- ||
>                               Sqrt[2]
>
>                                                       2
>                     1    1    Sqrt[1 - 2 d + 4 c d + d ]
>          x == -Sqrt[- - --- + --------------------------] ||
>                     2   2 d              2 d
>
>                                                      2
>                    1    1    Sqrt[1 - 2 d + 4 c d + d ]
>          x == Sqrt[- - --- + --------------------------]))},
>                    2   2 d              2 d
>
>    {5, (d == 0 && (x == -Sqrt[c] || x == Sqrt[c])) ||
>
>                                   2       2       5
>      (d != 0 && (x == Root[-c + #1  - d #1  + d #1  & , 1] ||
>
>                           2       2       5
>          x == Root[-c + #1  - d #1  + d #1  & , 2] ||
>
>                           2       2       5
>          x == Root[-c + #1  - d #1  + d #1  & , 3] ||
>
>                           2       2       5
>          x == Root[-c + #1  - d #1  + d #1  & , 4] ||
>
>                           2       2       5
>          x == Root[-c + #1  - d #1  + d #1  & , 5]))}}
>

So this gives a 'symbolic' expression for the first 5 solutions when n
is 5?

> In[3]:=
> Assuming[0 <= d <= 1 && n \[Element] Integers && n >= 0 && c \[Element]
> Reals,
>    Reduce[eqn /. d -> 0, x, Reals]]
>
> Out[3]//OutputForm=
> c >= 0 && (x == -Sqrt[c] || x == Sqrt[c])
>

So this is the other solution I was referring to.

> In[4]:=
> Assuming[0 <= d <= 1 && n \[Element] Integers && n >= 0 && c \[Element]
> Reals,
>    Reduce[eqn /. d -> 1, x, Reals]]
>
> Out[4]//OutputForm=
>                                                           1/n
> (c == 1 && n == 0 && x > 0) || (n != 0 && c > 0 && x == c   ) ||
>
>                    n
>    (n > 0 && c == 0  && x == 0) || (c == 1 && n == 0 && x < 0) ||
>
>     n                                         1/n
>    (- \[Element] Integers && n != 0 && c > 0 && x == -c   ) ||
>     2
>
>      1 + n                                                 1/n
>    ((----- | n) \[Element] Integers && n != 0 && c < 0 && x == -(-c)   )
>        2
>
I'm not sure how to read this output-is this the various solutions for
the x^n = c eqn?


> In[5]:=
> Table[{i, Assuming[0 <= d <= 1 && n \[Element] Integers && n >= 0 &&
>       c \[Element] Reals, Reduce[eqn /. n -> i, x, Reals]]}, {i, 0, 5}]
>
> (* I have deleted the output since it is really too long ... *)
>

So I guess I need to spend some time figuring out *Reduce* and
*Assuming*.  


> Best regards,
> Jean-Marc

Thanks, Dennis.


  • Prev by Date: RE: Behavior of ReplaceAll with Computed Results from a Conditional Test
  • Next by Date: Re: Closed Form solution too much to hope for?
  • Previous by thread: Re: Closed Form solution too much to hope for?
  • Next by thread: New Analytical Functions - Mathematica Verified