Re: Re: Question about subscripts and
- To: mathgroup at smc.vnet.net
- Subject: [mg107454] Re: [mg107447] Re: [mg107355] Question about subscripts and
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Sat, 13 Feb 2010 05:22:03 -0500 (EST)
- References: <201002100836.DAA21317@smc.vnet.net>
- Reply-to: drmajorbob at yahoo.com
OK, try this:
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]]
(* output suppressed *)
Subscript[_, k_] :> k
Clear[order]
order[term_] :=
Replace[term, x_?(FreeQ[#, Subscript] &) :> 1, {1}] /.
Times -> Plus /. Power -> Times /. Subscript[_, k_] :> k
listSum = SortBy[basicSum /. Plus -> List, order]
(* output suppressed *)
displaySum = Infix[listSum, "+"]
(* output suppressed *)
backToBasics = Plus @@ displaySum[[1]];
basicSum === backToBasics
True
Bobby
On Fri, 12 Feb 2010 04:35:55 -0600, Luca Zanotti Fragonara
<Luca.Zanottifragonara at polito.it> wrote:
> Forget the previous message. I get what is going wrong in my ordering.
> My polynomial is of this form:
>
> d[1]^2 v[1] + d[1]^2 v[3] + 2 d[1] d[3] v[1] + d[3]^2 v[1] +
> d[1]^2 v[5] + 2 d[1] d[5] v[1] + 2 d[1] d[3] v[3] + d[3]^2 v[3] +
> d[1]^2 v[7] + 2 d[3] d[5] v[1]+... and so on
>
> The problem with the command:
> order[term_] :=
> term /. Times -> Plus /. Power -> Times /. Subscript[_, k_] :> k
> listSum = SortBy[basicSum /. Plus -> List, order]
>
> Is that I get a right order when I don't have a coefficient in front of
> the term, but when there is a coefficient it takes part in the
> calculation of the order of the term I guess.
> Do you have an idea of how to avoid this problem?
>
> 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
>>>
>>>
>>>
>>
>>
>
--
DrMajorBob at yahoo.com
- References:
- Question about subscripts and polynomial
- From: Luca Zanotti Fragonara <Luca.Zanottifragonara@polito.it>
- Question about subscripts and polynomial