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: [mg107369] Re: [mg107355] Question about subscripts and polynomial
  • From: DrMajorBob <btreat1 at austin.rr.com>
  • Date: Thu, 11 Feb 2010 05:16:49 -0500 (EST)
  • References: <201002100836.DAA21317@smc.vnet.net>
  • Reply-to: drmajorbob at yahoo.com

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
>
>
>


-- 
DrMajorBob at yahoo.com


  • Prev by Date: Re: Question about subscripts and polynomial
  • Next by Date: manipulate plot
  • Previous by thread: Re: Question about subscripts and polynomial
  • Next by thread: Re: Question about subscripts and polynomial