Post Reply 
Calculating odds of rolling a given total with a specified number of dice
06-15-2015, 10:02 PM (This post was last modified: 06-15-2015 10:07 PM by Thomas Klemm.)
Post: #4
RE: Calculating odds of rolling a given total with a specified number of dice
(06-15-2015 08:14 PM)Dave Britten Wrote:  What's the practical way to do a multinomial expansion like that, aside from feeding it through a CAS and letting it sum like terms?

You could use matrix multiplication to multiply two polynomials:

\(\begin{bmatrix}
1\\
1\\
1\\
1\\
1\\
1
\end{bmatrix}\cdot\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1
\end{bmatrix}=\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
\end{bmatrix}\)

At least the HP-42S allows to grow the matrix at the bottom:

\(\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
1 & 1 & 1 & 1 & 1 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 \\
\end{bmatrix}\)

Then you can transpose it:

\(\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
\end{bmatrix}\)

Now when you shrink it just by the size of the 2nd matrix we get this:

\(\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
\end{bmatrix}\)

To add up all the columns we can use again matrix multiplication:

\(\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1
\end{bmatrix}\cdot\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\
\end{bmatrix}=\begin{bmatrix}
1 & 2 & 3 & 4 & 5 & 6 & 5 & 4 & 3 & 2 & 1
\end{bmatrix}\)

Now you can repeat this to calculate \(\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1
\end{bmatrix}^4\) and \(\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1
\end{bmatrix}^8\).

A final multiplication by \(\begin{bmatrix}
1 & 1 & 1 & 1 & 1 & 1
\end{bmatrix}\) will give you the desired list of coefficients:

CoefficientList[(1 + x + x^2 + x^3 + x^4 + x^5)^9, x]

Cheers
Thomas
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Calculating odds of rolling a given total with a specified number of dice - Thomas Klemm - 06-15-2015 10:02 PM



User(s) browsing this thread: 2 Guest(s)