Extensión del coeficiente a exponentes variables

Oct 28 2020

Digamos que tengo una expresión que es un polinomio en una variable, por ejemplo en la variable $x$, en qué términos aparecen para los cuales el exponente de $x$también incluye variables. Por ejemplo:

pol = a + b x^n + c x^(n + 1)

¿Existe una forma clara de encontrar el coeficiente frente a un término determinado?

No pude hacer que la función incorporada Coeficiente funcione directamente, es decir

{Coefficient[pol, x, 0], Coefficient[pol, x, n], Coefficient[pol, x, n + 1]}

produce la salida

{a, b + c x, c}

mientras yo quiero que ceda

{a, b, c}

Para arreglar esto usé

Coefficient2[pol_, var_, exp_] := Coefficient[Coefficient[pol, var, exp], var, 0]

Esto fue lo suficientemente bueno para producir los resultados correctos en mi caso, pero se siente un poco desagradable. ¿Existe una forma mejor?

Respuestas

1 Sumit Nov 03 2020 at 23:03

Here is a possibility for any polynomial pol with variable x for power m

powcoeff[pol_, x_, m_] := Simplify[Total[
        Select[Level[Expand[pol], 1], Exponent[#, x] == m &]]/x^m]

pol1 = a1 + b1 x^n + c1 x^(n + 1);
pol2 = a2 + b2 x^n (f x + 1) + c2 x^(n + 1);
pol3 = pol1 pol2;

powcoeff[pol1, x, n]
powcoeff[pol2, x, n + 1]
powcoeff[pol3, x, n]
powcoeff[pol3, x, n + 1]
powcoeff[pol3, x, 6 n + 1]

b1

c2 + b2 f

a2 b1 + a1 b2

a2 c1 + a1 (c2 + b2 f)

0