Re: M.U.C.
- To: mathgroup at smc.vnet.net
- Subject: [mg20623] Re: [mg20595] M.U.C.
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Thu, 4 Nov 1999 02:13:35 -0500
- References: <199911020735.CAA26960@smc.vnet.net.>
- Sender: owner-wri-mathgroup at wolfram.com
Roscoe wrote: > > How can Mathematica solve the following Linear Operator for a and b? > (E^(-2 x)((-3) + 10 b - x + 6 a(1 + 5 x)) == 0 > > By hand it would be : > (-3+10b+6a)=0 > (-1+30a)=0 > > a=1/30 > b=whatever > > I need mathematica to group the coeeficients of x^0 and x^1, set them equal > to 0 and solve. > I am trying to avoid doing the gruoping by hand. Thanks. You can use SolveAlways for this task. For your particular example (you have one parenthesis too many, I assume it is the left-most.): In[9]:= SolveAlways[E^(-2 x)((-3) + 10 b - x + 6 a(1 + 5 x)) == 0, x] 1 7 Out[9]= {{a -> --, b -> --}} 30 25 Note that SolveAlways really works with polynomials, hence if your input contains nontrivial nonpolynomial dependencies for the variable(s) in question, you might need to extract an initial polynomial from a power series. It is a good idea in this situation to take more terms than the bare minimum needed, in case some inconsistency is lurking. Here is an example where a series is needed. In[13]:= SolveAlways[Exp[I*x]-a*Sin[x]-b*Cos[x] == 0, x] SolveAlways::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. I x Out[13]= SolveAlways[E - b Cos[x] - a Sin[x] == 0, x] To get a useful result we can instead work with a series expansion, converted to polynomial form via Normal. In[14]:= SolveAlways[Normal[Series[Exp[I*x]-a*Sin[x]-b*Cos[x],{x,0,10}]] == 0, x] Out[14]= {{a -> I, b -> 1}} Daniel Lichtblau Wolfram Research