1
$\begingroup$

I am trying to figure out how to pick terms proportional to $x$ (or any other expression).

I have the following problem:

I want to pick out $(1+2y) x$ from a polynomial of the form $(1+2y)x + e^xx + y^2$ (i.e., terms proportional to $x$).

I tried the command Coefficient, i.e. Coefficient[(1+2y)x + e^x x + y^2,x] x, but the output is $((1+2y)+e^x)x$. So the expression has $e^x$ in it and it is not what I am looking for.

Is there a way to pick out only the terms linear wrt $x$ from the polynomial above? I.e. constant (for x) coefficients of $x^1$

Thanks a lot.

Ps. I am only using the above polynomial as an example. In a real situation I'd expect to see polynomials with many special functions.

$\endgroup$
  • 1
    $\begingroup$ what does terms proportional to x mean? In what sense is (1+2 y) proportional to x $\endgroup$ – Nasser Apr 3 '18 at 7:29
  • $\begingroup$ Sorry, I omitted the x term accidentally since that was what Coefficient was returning. I've edited the question. Thanks for pointing this out. $\endgroup$ – Otto Apr 3 '18 at 15:09
  • 2
    $\begingroup$ Perhaps Cases[Expand@expr, Longest[a_.] x /; FreeQ[a, x] :> a] works. $\endgroup$ – march Apr 3 '18 at 16:43
  • $\begingroup$ You mean the constant (for $x$) coefficients of $x^1$? $\endgroup$ – anderstood Apr 5 '18 at 2:51
  • $\begingroup$ @march That seems to work! Thanks a lot! Feel free to post as an answer $\endgroup$ – Otto Apr 6 '18 at 7:44
1
$\begingroup$
prop[exp_] := 
 Module[{c = Coefficient[exp, x]}, 
  c =!= 0 && Cases[c, x, Infinity] == {}]
Select[ List @@ ((1 + 2 y) x + e^x x + y^2) , prop ]

{x (1 + 2 y)}

note this only finds terms in the form given..

Select[ List @@ ((1 + 2 y + Sin[x]) x + e^x x + y^2) , prop ]

{}

$\endgroup$
  • $\begingroup$ I see; thanks. However, I was looking for something a bit more general; it seems like March in comments section was giving the more general case. However, for a particular case this is very helpful, so thanks. $\endgroup$ – Otto Apr 9 '18 at 3:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.