MATLAB Stupid question about multinomial theorem (and Matlab)

AI Thread Summary
The discussion revolves around the implementation of an algorithm to calculate coefficients for the multinomial expansion of (A + B + C + D)^n. The user outlines their mathematical procedure, which involves breaking down the expansion into nested summations and factorial calculations. They express uncertainty about the correctness of their approach, particularly in the context of coding this in MATLAB. A participant confirms the mathematical formulation is correct but notes that the coefficients are typically expressed for individual components in the form of n!/a!b!c!d!, where a + b + c + d = n. Additionally, there is a correction regarding the loop indices in the MATLAB code, suggesting that the loops should start from zero instead of one. The conversation emphasizes the importance of accurately implementing the algorithm in code while ensuring the mathematical foundation is sound.
AiRAVATA
Messages
172
Reaction score
0
I know that there is a theorem to calculate the coefficients for a multinomial expansion, but I'm having a hard time implementig the algorithm. What I need to know is if my procedure is correct:

(A + B + C + D)^n = \sum_{i=0}^n \dbinom{n}{i} A^{n-i} (B + C + D)^i

= \sum_{i=0}^n \dbinom{n}{i} A^{n-i} \sum_{j=0}^i \dbinom{i}{j} B^{i-j} (C + D)^j

= \sum_{i=0}^n \dbinom{n}{i} A^{n-i} \sum_{j=0}^i \dbinom{i}{j} B^{i-j} \sum_{k=0}^j \dbinom{j}{k} C^{j-k} D^k,

so

(A + B + C + D)^n = \sum_{i=0}^n \sum_{j=0}^{i} \sum_{k=0}^{j}\dfrac{n!}{(n-i)!(i-j)!(j-k)!k!} A^{n-i} B^{i-j} C^{j-k} D^k

Is that correct?

If so, I'm trying to compute the coefficients in Matlab in the following way

Code:
h = 1;
for i = 1:n
     for j = 1:i
          for k = 1:j
               coef(h,1) = factorial(n)/(factorial(n-i)*factorial(i-j)*factorial(j-k)*factorial(k))
               h = h+1;
          end
     end
end

so the vector coef contains the coefficients of the polynomial. What do you think? Is my approach correct or am I doing something wrong?
 
Physics news on Phys.org
Hi AiRAVATA! :smile:
AiRAVATA said:
I know that there is a theorem to calculate the coefficients for a multinomial expansion, but I'm having a hard time implementig the algorithm. What I need to know is if my procedure is correct:

(A + B + C + D)^n = \sum_{i=0}^n \sum_{j=0}^{i} \sum_{k=0}^{j}\dfrac{n!}{(n-i)!(i-j)!(j-k)!k!} A^{n-i} B^{i-j} C^{j-k} D^k

Is that correct?

Yes, though it's normally written for an individual component:

coefficient of AaBbCcDd = n!/a!b!c!d! (with a + b + c + d = n) :wink:

(I don't know anything about porgramming though :redface:)
 
not being smart but should it not be:

Code:
for i = [B]0[/B]:n
     for j = [B]0[/B]:i
          for k = [B]0[/B]:j
 
True, in the real code they all start from zero. Thanks for noticing though!
 

Similar threads

Back
Top