Message Boards Message Boards

0
|
5228 Views
|
4 Replies
|
3 Total Likes
View groups...
Share
Share this post:

Drop brackets in the list?

Posted 6 years ago

Oh, sorry I didn't think that this thread was created. But,I have still the problem. I want to generate parameters for the Sum function. When I create Table[{z[x], {list199[[x]]}}, {x, 1}]

 d = Total[
  Sum[n!/z[100]!*p[100]^z[100]*Product[p[x]^z[x]/z[x]!, {x, 0, vv}],
   {z[0], {list0}}, 
   Sequence @@ 
    Table[{z[x], {list199[[x]]}}, {x, 1}], {z[2], {list199[[2]]}}, {z[
     3], {list199[[3]]}}, {z[4], {list199[[4]]}}, {z[100], {list100}}]]

I get these two warnings

Sum::vloc: The variable Sequence@@Table[{z[x],{list199[[x]]}},{x,1}] cannot be localized so that it can be assigned to numerical values.

When I use {z[1], {list199[[1]]}} all works good. The {z[1], {list199[[1]]}} gives

{z[1], {{{0}, {1}, {0}, {0}, {0}, {2}, {0}, {0}, {1}, {1}, {1}, {0}, \
{0}, {0}, {3}, {0}, {0}, {2}, {2}, {2}, {1}, {1}, {1}, {0}, {0}, {0}, \
{1}, {1}, {1}, {0}, {4}, {0}, {3}, {3}, {3}, {1}, {1}, {0}, {2}, {2}, \
{2}, {2}, {2}, {2}, {1}, {1}, {1}, {1}}}}

The Sequence @@ Table[{z[x], {list199[[x]]}}, {x, 1}] gives

Sequence[{z[
   1], {{{0}, {1}, {0}, {0}, {0}, {2}, {0}, {0}, {1}, {1}, {1}, {0}, \
{0}, {0}, {3}, {0}, {0}, {2}, {2}, {2}, {1}, {1}, {1}, {0}, {0}, {0}, \
{1}, {1}, {1}, {0}, {4}, {0}, {3}, {3}, {3}, {1}, {1}, {0}, {2}, {2}, \
{2}, {2}, {2}, {2}, {1}, {1}, {1}, {1}}}}]

So it looks good but it doesn't work. Could you help me to find the problem?

POSTED BY: Alex Graham
4 Replies
Posted 6 years ago

Thank you very much. This works. I have another question. I want to generate p1,p2,p3 inside reduce fucntion.

v = 3;
r = Reduce[
   Subscript[p, 0] >= 0 && Subscript[p, 1] >= 0 && 
    Subscript[p, 2] >= 0 && Subscript[p, 3] >= 0 && 
    Subscript[p, 100] >= 0, 
   Append[Table[Subscript[p, x], {x, 0, v}], Subscript[p, 100]]] // 
  Quiet

EDIT 2. Thank you, I found the solution. No help is needed now.

POSTED BY: Alex Graham
Posted 6 years ago

Yes, of course. The "Total" output with {z[1], {list199[[1]]}} is

{p[0]^56 + 56 p[0]^55 p[1] + 1540 p[0]^54 p[1]^2 + 
  27720 p[0]^53 p[1]^3 + 367290 p[0]^52 p[1]^4 + 56 p[0]^55 p[2] + 
  3080 p[0]^54 p[1] p[2] + 83160 p[0]^53 p[1]^2 p[2] + 
  1469160 p[0]^52 p[1]^3 p[2] + 1540 p[0]^54 p[2]^2 + 
  83160 p[0]^53 p[1] p[2]^2 + 2203740 p[0]^52 p[1]^2 p[2]^2 + 
  27720 p[0]^53 p[2]^3 + 1469160 p[0]^52 p[1] p[2]^3 + 
  367290 p[0]^52 p[2]^4 + 56 p[0]^55 p[3] + 3080 p[0]^54 p[1] p[3] + 
  83160 p[0]^53 p[1]^2 p[3] + 1469160 p[0]^52 p[1]^3 p[3] + 
  3080 p[0]^54 p[2] p[3] + 166320 p[0]^53 p[1] p[2] p[3] + 
  4407480 p[0]^52 p[1]^2 p[2] p[3] + 83160 p[0]^53 p[2]^2 p[3] + 
  4407480 p[0]^52 p[1] p[2]^2 p[3] + 1469160 p[0]^52 p[2]^3 p[3] + 
  1540 p[0]^54 p[3]^2 + 83160 p[0]^53 p[1] p[3]^2 + 
  2203740 p[0]^52 p[1]^2 p[3]^2 + 83160 p[0]^53 p[2] p[3]^2 + 
  4407480 p[0]^52 p[1] p[2] p[3]^2 + 27720 p[0]^53 p[3]^3 + 
  1469160 p[0]^52 p[1] p[3]^3 + 56 p[0]^55 p[4] + 
  3080 p[0]^54 p[1] p[4] + 83160 p[0]^53 p[1]^2 p[4] + 
  1469160 p[0]^52 p[1]^3 p[4] + 3080 p[0]^54 p[2] p[4] + 
  166320 p[0]^53 p[1] p[2] p[4] + 4407480 p[0]^52 p[1]^2 p[2] p[4] + 
  83160 p[0]^53 p[2]^2 p[4] + 4407480 p[0]^52 p[1] p[2]^2 p[4] + 
  3080 p[0]^54 p[3] p[4] + 166320 p[0]^53 p[1] p[3] p[4] + 
  4407480 p[0]^52 p[1]^2 p[3] p[4] + 166320 p[0]^53 p[2] p[3] p[4] + 
  8814960 p[0]^52 p[1] p[2] p[3] p[4] + 83160 p[0]^53 p[1] p[4]^2 + 
  2203740 p[0]^52 p[1]^2 p[4]^2}
POSTED BY: Alex Graham

It's the classic omission: Evaluate[] to resolve subexpressions before evaluation of intended main expression. You did not give all needed input, so that had to be created out of the sky to proof the point:

In[60]:= Clear[list0]
list0 = RandomInteger[4, {48}]
Out[61]= {3, 2, 2, 2, 2, 1, 3, 4, 3, 3, 3, 0, 0, 2, 0, 2, 0, 1, 0, 4, \
          1, 0, 0, 1, 1, 4, 2, 3, 0, 3, 0, 3, 2, 0, 4, 4, 2, 3, 0, 2, 2, 4, 2, \
          2, 0, 0, 4, 2}

In[62]:= Clear[list100]
list100 = RandomInteger[4, {48}]
Out[63]= {1, 2, 4, 4, 2, 1, 4, 0, 3, 2, 3, 1, 1, 1, 1, 4, 3, 4, 2, 0, \
          3, 4, 0, 0, 1, 4, 0, 1, 0, 0, 3, 2, 4, 3, 4, 1, 3, 2, 1, 3, 1, 4, 3, \
          4, 3, 1, 3, 4}

In[48]:= Clear[list199]
list199 = Thread[{#}] & /@ RandomInteger[4, {4, 48}];
list199[[1]] = ag199;
list199    
Out[51]= {{{0}, {1}, {0}, {0}, {0}, {2}, {0}, {0}, {1}, {1}, {1}, \
           {0}, {0}, {0}, {3}, {0}, {0}, {2}, {2}, {2}, {1}, {1}, {1}, {0}, {0}, \
           {0}, {1}, {1}, {1}, {0}, {4}, {0}, {3}, {3}, {3}, {1}, {1}, {0}, {2}, \
           {2}, {2}, {2}, {2}, {2}, {1}, {1}, {1}, {1}},
          {{4}, {0}, {4}, {4}, \
           {4}, {3}, {2}, {1}, {3}, {0}, {1}, {4}, {0}, {4}, {1}, {3}, {0}, {3}, \
           {4}, {1}, {3}, {4}, {0}, {4}, {0}, {3}, {1}, {4}, {0}, {1}, {0}, {2}, \
           {3}, {3}, {2}, {3}, {0}, {3}, {3}, {0}, {3}, {4}, {1}, {2}, {0}, {0}, \
           {2}, {3}}, 
          {{2}, {4}, {4}, {1}, {3}, {3}, {4}, {4}, {4}, {1}, {0}, \
           {0}, {1}, {2}, {2}, {3}, {3}, {2}, {0}, {0}, {4}, {3}, {4}, {3}, {2}, \
           {4}, {0}, {3}, {0}, {1}, {1}, {2}, {1}, {0}, {4}, {3}, {3}, {0}, {2}, \
           {3}, {2}, {2}, {3}, {0}, {0}, {0}, {1}, {4}},
          {{2}, {0}, {1}, {0}, \
           {3}, {3}, {2}, {0}, {2}, {3}, {0}, {1}, {2}, {1}, {2}, {2}, {1}, {1}, \
           {2}, {3}, {3}, {4}, {2}, {1}, {3}, {2}, {3}, {3}, {3}, {1}, {4}, {4}, \
           {0}, {2}, {1}, {4}, {0}, {0}, {3}, {3}, {3}, {1}, {4}, {4}, {3}, {2}, \
           {0}, {3}}}

In[52]:= ArrayQ[list199]
Out[52]= True

In[69]:= With[{vv = 1},
         d = Total[Sum[n!/z[100]!*p[100]^z[100]*
             Product[p[x]^z[x]/z[x]!, {x, 0, vv}], {z[0], {list0}}, 
            Evaluate[Sequence @@ Table[{z[x], {list199[[x]]}}, {x, 1}]], 
           {z[2], {list199[[2]]}}, {z[3], {list199[[3]]}}, 
           {z[4], {list199[[4]]}}, {z[100], {list100}}]
           ]
]

Out[69]= {n! p[0] + 1/6 n! p[0]^3 + 1/24 n! p[0]^4 + 2 n! p[1] + 
1/2 n! p[0]^2 p[1] + 1/48 n! p[0]^4 p[1]^2 + 2 n! p[100] + 
n! p[0] p[100] + 1/2 n! p[0]^2 p[100] + 1/6 n! p[0]^3 p[100] + 
n! p[1] p[100] + 1/6 n! p[0]^3 p[1] p[100] + 
1/24 n! p[0]^4 p[1] p[100] + 1/2 n! p[1]^2 p[100] + 
1/2 n! p[0] p[1]^2 p[100] + 1/4 n! p[0]^2 p[1]^2 p[100] + 
1/6 n! p[1]^3 p[100] + 1/4 n! p[0]^2 p[100]^2 + 
1/6 n! p[0]^3 p[100]^2 + 1/4 n! p[0]^2 p[1] p[100]^2 + 
1/12 n! p[0]^3 p[1] p[100]^2 + 1/4 n! p[1]^2 p[100]^2 + 
1/6 n! p[100]^3 + 1/6 n! p[1] p[100]^3 + 
1/6 n! p[0] p[1] p[100]^3 + 1/12 n! p[0]^2 p[1] p[100]^3 + 
1/18 n! p[0]^3 p[1] p[100]^3 + 1/144 n! p[0]^4 p[1] p[100]^3 + 
1/12 n! p[0]^2 p[1]^2 p[100]^3 + 1/36 n! p[1]^3 p[100]^3 + 
1/144 n! p[1]^4 p[100]^3 + 1/16 n! p[0]^2 p[100]^4 + 
1/144 n! p[0]^3 p[100]^4 + 1/576 n! p[0]^4 p[100]^4 + 
1/24 n! p[1] p[100]^4 + 1/48 n! p[0]^2 p[1] p[100]^4 + 
1/48 n! p[0] p[1]^2 p[100]^4 + 1/96 n! p[0]^2 p[1]^2 p[100]^4 + (
n! p[0]^4 p[1]^2 p[100]^4)/1152 + 
1/288 n! p[0]^2 p[1]^3 p[100]^4 + (n! p[0]^4 p[1]^3 p[100]^4)/3456}
POSTED BY: Dent de Lion

Can you post the desired output

POSTED BY: Raspi Rascal
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract