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