Here's an alternative for you to consider:
mySum[p_List, iMin_] :=
Sum[CenterDot[i + iMin - 1, p[[i]]], {i, Length@p}] //
Row[{#, Times @@@ #}, "\[LongEqual]"] &
mySum[1/7 {3, 2, 0, 2}, 0]
Thanks for the Accept. Since you found this helpful I'd like to make sure you understand it.
The function CenterDot
formats objects as implied, and by default it has no meaning so it will not evaluate to anything. This is used in Sum
which you are already familiar with. (If you watched the evolution of this answer you saw that originally I used MapIndexed
, which is equally applicable, but I thought Sum
would be more comfortable.)
The second important bit is the function Row[{#, Times @@@ #}, "\[LongEqual]"] &
.
Row
itself is a formatting function that puts objects in a row, optionally with a separating character.
Times @@@ #
replaces the heads at level one (here CircleDot
) with Times
effecting the evaluation of the sum.