Question: inverting a function leads to collect(fn,V) giving V^P*V^2 + V^P*V^3 + ...

I am trying to invert a function and, during the course, wind up with something like,

 

a_1*V^P*V + a_2*V^P*V^2 + a_3*V^P*V^3 + a_4*V^P*V^3 + a_5*V^P*V^3 + a_6*V^P*V^4 + \cdots

 

is there a way to get the poly into a form 

 

(a_1+a_2+...)*V^P + (b_1+b_2+...)*V^(P+1) + (c_1+c_2+...)*V^(P+2) + .....

 

?

Thanks. Attached is my Maple 16 sheet.

restart

with(LargeExpressions)

``

main := V^P*(V-1)^Q = c^(P-Q)*X^Q*(V-c^2)^Q

V^P*(V-1)^Q = c^(P-Q)*X^Q*(V-c^2)^Q

(1)

``

assume(Q, real); additionally(Q > 0); additionally(Q, integer)

assume(P, real); additionally(P > 0); additionally(P, integer)``

NULL

``

you := proc (s, n) V[1] := s; for i to n do V[i+1] := (`@`(simplify, expand))(c^((P-Q)/P)*X^(Q/P)*(-c^2+V[i])^(Q/P)/(V[i]-1)^(Q/P), symbolic) end do end proc

proc (s, n) local V, i; V[1] := s; for i to n do V[i+1] := (`@`(simplify, expand))(c^((P-Q)/P)*X^(Q/P)*(V[i]-c^2)^(Q/P)/(V[i]-1)^(Q/P), symbolic) end do end proc

(2)

``

``

START*HERE

START*HERE

(3)

``

Rearranging "main" leads to the following.

``

main2 := X^Q = V^P*(V-1)^Q/(c^(P-Q)*(V-c^2)^Q)

X^Q = V^P*(V-1)^Q/(c^(P-Q)*(V-c^2)^Q)

(4)

``

It can't take a series due to the series about zero, so I split it into

``

split := X^Q = V^P*(a[1]+a[2]*V+a[3]*V^2+O(V^3))

X^Q = V^P*(a[1]+a[2]*V+a[3]*V^2+O(V^3))

(5)

````

Then I'll get a polynomial expression, switch places of the two variables' leading terms, and substitute into the "original" polynomial (split).

``

````

  one := (V-1)^Q/(c^(P-Q)*(V-c^2)^Q)

(V-1)^Q/(c^(P-Q)*(V-c^2)^Q)

(6)

``

two := `assuming`([simplify(`assuming`([series(one, V, 3)], [V > c^2, c > 1]))], [real])

series(c^(-Q-P)-(c^(-Q-P-2)*Q*(c^2-1))*V+((1/2)*c^(-Q-P-4)*Q*(-c^4+c^4*Q+1+Q-2*Q*c^2))*V^2+O(V^3),V,3)

(7)

``

three := convert(two, polynom)

c^(-Q-P)-c^(-Q-P-2)*Q*(c^2-1)*V+(1/2)*c^(-Q-P-4)*Q*(-c^4+c^4*Q+1+Q-2*Q*c^2)*V^2

(8)

``

four := simplify(expand(V^P*three))

V^P*c^(-Q-P)-V^(P+1)*c^(-Q-P)*Q+V^(P+1)*c^(-Q-P-2)*Q-(1/2)*V^(P+2)*c^(-Q-P)*Q+(1/2)*V^(P+2)*c^(-Q-P)*Q^2+(1/2)*V^(P+2)*c^(-Q-P-4)*Q+(1/2)*V^(P+2)*c^(-Q-P-4)*Q^2-V^(P+2)*c^(-Q-P-2)*Q^2

(9)

``

five := collect(four, V, factor)

V^P*c^(-Q-P)-V^(P+1)*c^(-Q-P)*Q+V^(P+1)*c^(-Q-P-2)*Q-(1/2)*V^(P+2)*c^(-Q-P)*Q+(1/2)*V^(P+2)*c^(-Q-P)*Q^2+(1/2)*V^(P+2)*c^(-Q-P-4)*Q+(1/2)*V^(P+2)*c^(-Q-P-4)*Q^2-V^(P+2)*c^(-Q-P-2)*Q^2

(10)

collect(five, V)

V^P*c^(-Q-P)-V^(P+1)*c^(-Q-P)*Q+V^(P+1)*c^(-Q-P-2)*Q-(1/2)*V^(P+2)*c^(-Q-P)*Q+(1/2)*V^(P+2)*c^(-Q-P)*Q^2+(1/2)*V^(P+2)*c^(-Q-P-4)*Q+(1/2)*V^(P+2)*c^(-Q-P-4)*Q^2-V^(P+2)*c^(-Q-P-2)*Q^2

(11)

factor(five, V)

Error, (in factor) 2nd argument, V, is not a valid algebraic extension

 

``

``

``

``

``

``

``

``


Download invert2.mw

Please Wait...