MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Question about subscripts and polynomial

  • To: mathgroup at smc.vnet.net
  • Subject: [mg107446] Re: [mg107355] Question about subscripts and polynomial
  • From: Luca Zanotti Fragonara <Luca.Zanottifragonara at polito.it>
  • Date: Fri, 12 Feb 2010 05:28:38 -0500 (EST)
  • References: <201002100836.DAA21317@smc.vnet.net> <op.u7xj9seetgfoz2@bobbys-imac.local>

Thank you drmajorbob, you are getting me on my way.

I have one question, the order[term_] script, I don't understand very 
well what did you do in it. Because I want to understand very well what 
you have done so that I'd be independent the next time.
If I've understood correctely you have written a sort of rules, that 
after you can use to sort the List of the terms.
But how did you build this rule?

With the command Subscript[_, k_] :> k you define k as the subscript of 
each term, right?
but what is term? If you can suggest me some section of the help to read 
I'd be very thankful, but I don't get it the way that you have chosen to 
solve the problem.

And, the problem, as the moment, is that sometimes, the terms of the 
polynomial are not in the order that I want, so that's why I want to 
understand what you've done so that I could fix it!

Thank you in advance,

Luca



DrMajorBob ha scritto:
> I'm not entirely sure what ordering you want, but here's something to 
> get you on the way.
>
> You can tweak the "order" function if needed.
>
> First, your original expansion:
>
> poly = d^2*v;
> Subscript[q, 1] =
>   poly /. {d -> Sum[Subscript[d, i], {i, 1, 3}]} /. {v ->
>      Sum[Subscript[v, i], {i, 1, 3}]};
> basicSum = Expand[Subscript[q, 1]]
>
> (ugly output omitted; it looks fine in Mathematica)
>
> Here's the same thing transformed to a List and sorted by the total 
> order of each product:
>
> order[term_] :=
>  term /. Times -> Plus /. Power -> Times /. Subscript[_, k_] :> k
> listSum = SortBy[basicSum /. Plus -> List, order]
>
> (ugly output omitted; it looks fine in Mathematica)
>
> That's a List, not a sum; the following is also NOT a sum, but it 
> looks like one, sorted the same as listSum:
>
> displaySum = Infix[listSum, "+"]
>
> (ugly output omitted; it looks fine in Mathematica)
>
> To get back the original:
>
> backToBasics = Plus @@ displaySum[[1]];
> basicSum === backToBasics
>
> True
>
> Bobby
>
> On Wed, 10 Feb 2010 02:36:40 -0600, Luca Zanotti Fragonara 
> <Luca.Zanottifragonara at polito.it> wrote:
>
>> Hello everybody,
>>
>> I would like to write a Polynomial, in this way:
>>
>> Poly = d^2*v
>> Subscript[q, 1] =
>>  Poly /. {d -> Sum[Subscript[d, i], {i, 1, 3}]} /. {v ->Sum[Subscript[v,
>> i], {i, 1, 3}]}
>> Expand[Subscript[q, 1]]
>>
>> In this way I will obtain a polynomial in this form:
>>
>> d_1^2 v_1+2 d_1 d_2 v_1+d_2^2 v_1+2 d_1 d_3 v_1+2 d_2 d_3 v_1+d_3^2
>> v_1+d_1^2 v_2+2 d_1 d_2 v_2+d_2^2 v_2+2 d_1 d_3 v_2+2 d_2 d_3 v_2+d_3^2
>> v_2+d_1^2 v_3+2 d_1 d_2 v_3+d_2^2 v_3+2 d_1 d_3 v_3+2 d_2 d_3 
>> v_3+d_3^2 v_3
>>
>> I would like to reorder the expanded polynomial in a way such that the
>> terms with lower subcripts indexes will be at the beginning of the
>> polynomial, and the terms with higher order of subscripts will be at the
>> end (a sort of order due to the subscript instead of the power terms).
>> So the order should be something:
>>
>> Order 3: d_1^2 v_1
>> Order 4: 2 d_1 d_2 v_1+d_1^2 v_2+...
>> Order 5: d_2^2 v_1+2 d_1 d_3 v_1+...
>> Order 6: 2 d_2 d_3 v_1+...
>>
>> I've tried to figure it out but I don't know which way to turn!!!
>>
>> Thank you in advance.
>>
>> Luca
>>
>>
>>
>
>


  • Prev by Date: Re: Re: Define an antisymmetric function
  • Next by Date: Re: Question about subscripts and polynomial
  • Previous by thread: Re: Question about subscripts and polynomial
  • Next by thread: Re: Question about subscripts and polynomial