MathGroup Archive 2010

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

Search the Archive

Re: General question regarding solving equations

  • To: mathgroup at smc.vnet.net
  • Subject: [mg110240] Re: General question regarding solving equations
  • From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
  • Date: Thu, 10 Jun 2010 08:06:59 -0400 (EDT)
  • References: <huin91$nsk$1@smc.vnet.net>

Hi Vicent,

Indeed some equations cannot be solved algebraically, Sin[x]==x is an
example. But if Mathematica says this may be the case not all is lost.
For instance, it says the same in this case:

Solve[x + Sin[x]^2 + Cos[x]^2 == 1, x]

Solve::tdep: The equations appear to involve the variables to be
solved for in an essentially non-algebraic way. >>

which clearly can be solved. Sometimes you may have to simplify the
equations yourself or let Mathematica try it

Solve[x + Sin[x]^2 + Cos[x]^2 == 1 // Simplify, x]

{{x -> 0}}

Cheers -- Sjoerd

  On Jun 7, 2:04 pm, Vicent <vgi... at gmail.com> wrote:
> Hello.
>
> I've been using the "Solve" function in order to find out which values of a
> certain variable satisfy some given conditions.
>
> Those conditions are expressed as functions of other parameters of
> variables. To be more precise:
>
> Solve[3 fiX[d + 3 Cp] + 3 fiX[d - 3 Cp] - (6/lambda) fiX[d + 6 Cp/lambda] -
> (6/lambda) fiX[d - 6 Cp/lambda] == 0, Cp]
>
> where fiX is the density function for the tipified Normal Distribution , I
> mean:
>
> fiX[z_] := Exp[-((z^2)/2)]/Sqrt[2*Pi]
>
> When I try to solve the first expression, I get this message:
>
> Solve::tdep: The equations appear to involve the variables to be solved for
> in an essentially non-algebraic way. >>
>
> Solve[-((3 E^(-(1/2) (d - (6 Cp)/lambda)^2) Sqrt[2/\[Pi]])/lambda) - (
>    3 E^(-(1/2) (d + (6 Cp)/lambda)^2) Sqrt[2/\[Pi]])/lambda + (
>    3 E^(-(1/2) (-3 Cp + d)^2))/Sqrt[2 \[Pi]] + (
>    3 E^(-(1/2) (3 Cp + d)^2))/Sqrt[2 \[Pi]] == 0, Cp]
>
> I try the same with "Reduce", which allows me to insert some assumptions on
> the parameters that are involved:
>
> Reduce[3 fiX[d + 3 Cp] + 3 fiX[d - 3 Cp] - (6/lambda) fiX[d + 6 Cp/lambda] -
> (6/lambda) fiX[d - 6 Cp/lambda] == 0 &&
>   d >= 0 && lambda >= 2 && Cp >= 0, Cp, Reals]
>
> And I get this message:
>
> Reduce::nsmet: This system cannot be solved with the methods available to
> Reduce. >>
>
> Reduce[-((3 E^(-(1/2) (d - (6 Cp)/lambda)^2) Sqrt[2/\[Pi]])/
>      lambda) - (3 E^(-(1/2) (d + (6 Cp)/lambda)^2) Sqrt[2/\[Pi]])/
>     lambda + (3 E^(-(1/2) (-3 Cp + d)^2))/Sqrt[2 \[Pi]] + (
>     3 E^(-(1/2) (3 Cp + d)^2))/Sqrt[2 \[Pi]] == 0 && d >= 0 &&
>   lambda >= 2 && Cp >= 0, Cp, Reals]
>
> I tried also a similar approach using Resolve + Exists, and I had to abort
> it because it was running for more than half an hour without giving any
> solution.
>
> So, my question is not only about this particular problem, but a general
> one:
>
> Which are the available/best strategies to work out the value of a variable
> from a set of equations, when you want it in an analytical/algebraic way?
>
> If "Solve" tells me that there is no analytical or algebraic expression,
> should I give up?
>
> By the way, for my concrete problem, I've got a general solution for the
> case in which the parameter "d" equals to ZERO, and Mathematica gave me it
> via "Reduce". Maybe for the general case with "d" and "lambda" there is no
> exact way of compute the desired "Cp", but i posted this here in order to
> get more advice from more expert users.
>
> Thank you in advance, and sorry for my English...
>
> --
> Vicent



  • Prev by Date: Re: Export
  • Next by Date: Re: Programatically creating delayed
  • Previous by thread: Re: why does CopyFile choke on transparently encrypted files?
  • Next by thread: SQL question, Can I do something like Rest[] and Most[]