Re: [Please Help] How to get coefficient list from a
- To: mathgroup at smc.vnet.net
- Subject: [mg114482] Re: [Please Help] How to get coefficient list from a
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sun, 5 Dec 2010 21:53:56 -0500 (EST)
n == 4;
u1 == Normal[
Series[u[Ca[t], T[t]] - u[3.2066, 317.5529], {Ca[t], 3.2066,
n}, {T[t], 317.5529, n}]] // Simplify;
d == {};
q[0] == {};
For[k == 1, k <== n - 1, k++,
For[i == 0, i <== k, i++,
p[i, k - i] == (i!*(k - i)!)*
SeriesCoefficient[u1, {Ca[t], 3.2066, i}, {T[t], 317.5529, k - i}];
q[k] == Append[q[k - 1], p[i, k - i]];
d == Union[Join[d, q[k]]];]]
d == d /. 1. -> 1
{Derivative[0, 1][u][3.2066, 317.5529],
Derivative[0, 2][u][3.2066, 317.5529],
Derivative[0, 3][u][3.2066, 317.5529],
Derivative[1, 0][u][3.2066, 317.5529],
Derivative[1, 1][u][3.2066, 317.5529],
Derivative[1, 2][u][3.2066, 317.5529],
Derivative[2, 0][u][3.2066, 317.5529],
Derivative[2, 1][u][3.2066, 317.5529],
Derivative[3, 0][u][3.2066, 317.5529]}
d ==== Flatten[
Table[D[u[x, y], {x, j}, {y, k}], {j, 0, n - 1}, {k, 1 - Sign[j],
n - j - 1}], 1] /. {x -> 3.2066, y -> 317.5529}
True
Bob Hanlon
<kajornrungsilp.i at gmail.com> wrote:
==========================
>From previous equation, I want to know if i want to change the value in
p[i,k-i] into sets of coefficient. How to do that?
Any hint is greatly appreciated.
kajornrungsilp.i at gmail.com> wrote:
> Thank you for all of your answer. I very appreciate you. but i have some
> question that i confuse in my code.
> My code is
> n == 4;
> u1 == Normal[
> Series[u[Ca[t], T[t]] - u[3.2066, 317.5529], {Ca[t], 3.2066,
> n}, {T[t], 317.5529, n}]]
> d == {};
> q[0] == {};
> For[k == 1 , k <== n - 1, k++,
> For[i == 0 , i <== k , i++,
> p[i, k - i] == (i!*(k - i)!)*
> SeriesCoefficient[u1, {Ca[t], 3.2066, i}, {T[t], 317.5529, k - i}];
> q[k] == Union[q[k - 1], p[i, k - i]];
> d==Union [d,q[k]];
> ]]d
> I want to know,why it doesn't collect the coefficient of my equation? what
> is something wrong in my code?
>
> Best Regard.
>
Bob Hanlon <hanlonr at cox.net> wrote:
>
> A simpler form:
>>
>> expr1 == a1 + a2*x + a3*y + a4*x^2 + a5*x*y + a6*y^2;
>>
>> myCoef[expr_, var_List] :==
>> SortBy[List @@ expr1, Total[Exponent[#, var]] &] /. Thread[var -> 1]
>>
>> myCoef[expr1, {x, y}]
>>
>> {a1, a2, a3, a4, a5, a6}
>>
>>
>> Bob Hanlon
>>
>> ---- Bob Hanlon <hanlonr at cox.net> wrote:
>>
>> ==========================
>>
>> expr1 == a1 + a2*x + a3*y + a4*x^2 + a5*x*y + a6*y^2;
>>
>> Since you apparently want to ignore zero coefficients then this extracts
>> the non-zero coefficients
>>
>> (List @@ expr1) /. {x -> 1, y -> 1}
>>
>> {a1, a2, a4, a3, a5, a6}
>>
>> However, this standard ordering is different from yours. Presumably, you=
r
>> ordering is
>>
>> myCoef[expr_, var_List] :== Module[
>> {coef == (List @@ expr) /. Thread[var -> 1]},
>> Last /@ Sort[
>> Cases[List @@ expr,
>> a_?(MemberQ[coef, #] &)*z_. ->
>> {Total[Exponent[z, var]], a}]]];
>>
>> myCoef[expr1, {x, y}]
>>
>> {a1, a2, a3, a4, a5, a6}
>>
>>
>> Bob Hanlon
>>
<kajornrungsilp.i at gmail.com> wrote:
>>
>> ==========================
>> Thank you for your answer. But I would like only the coefficient of series
>> equation in the form {a1, a2 , a3 ,a4,a5,a6} not to be in the form of
>> {{a1,
>> a3, a6}, {a2, a5, 0}, {a4, 0, 0}}. How to get there?
>> Best regard
>>
>>
>> 2010/12/3 Bob Hanlon <hanlonr at cox.net>
>>
>> >
>> > expr1 == a1 + a2*x + a3*y + a4*x^2 + a5*x*y + a6*y^2;
>> >
>> > coef == CoefficientList[expr, {x, y}]
>> >
>> > {{a1, a3, a6}, {a2, a5, 0}, {a4, 0, 0}}
>> >
>> > From example in documentation on CoefficientList
>> >
>> > expr2 == Fold[FromDigits[Reverse[#1], #2] &, coef, {x, y}]
>> >
>> > a1 + a2 x + a4 x^2 + (a3 + a5 x) y + a6 y^2
>> >
>> > expr1 ==== expr2 // Simplify
>> >
>> > True
>> >
>> >
>> > Bob Hanlon
>> >
>> > ---- Autt <kajornrungsilp.i at gmail.com> wrote:
>> >
>> > ==========================
>> > Greeting,
>> > I've a list issued from multivariate series like : K=={a1+a2*x +a3*y
>> > +a4*x^2*+a5*x*y +a6*y^2 }
>> > I need to have {a1, a2 , a3 ,a4,a5,a6}
>> >
>> > How to do that please?
>> > e.g.
>> > n == 3
>> > u == Normal[Series[x^4 + y^4 + x^2, {x, 5, n}, {y, 5, n}]]
>> > c[0] == {};
>> > d == {};
>> > q[0] == {};
>> > For[k == 1 , k <== n - 1, k++,
>> > For[i == 0 , i <== k , i++,
>> > p[i, k - i] ==
>> > SeriesCoefficient[u, {x, 5, i}, {y, 5, k - i}];
>> > q[k] == Union[{q[k - 1], {p[i, k - i]}}];
>> > d == Union[d, q[k]];
>> >
>> > Print[d];
>> >
>> > Best regard,