Finding multinomial coefficients by evaluation?

  • Context: Undergrad 
  • Thread starter Thread starter Stephen Tashi
  • Start date Start date
  • Tags Tags
    Coefficients
Click For Summary

Discussion Overview

The discussion revolves around the problem of deducing the coefficients of a multinomial function when the general form is known, but the coefficients are not. Participants explore methods for evaluating the function at specific points to extract these coefficients, considering both theoretical and practical aspects of the approach.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning
  • Debate/contested

Main Points Raised

  • Some participants propose evaluating the multinomial at specific points to create a system of linear equations that can be solved for the coefficients.
  • It is suggested that the points chosen must be linearly independent to ensure a unique solution.
  • Others argue that avoiding zeros in the evaluations is crucial to retain all terms in the equations.
  • A participant questions whether there is a way to select points that lead to a simpler system of equations, such as a triangular matrix.
  • There is a discussion about the generality of the variables and coefficients, with interest in cases where only the exponents are integers.
  • Some participants mention the possibility of using derivatives of the polynomial to find coefficients, although this approach is not universally applicable.
  • Concerns are raised about the limitations of the methods discussed, particularly in cases where multiple coefficients must be determined simultaneously.

Areas of Agreement / Disagreement

Participants generally agree on the need for careful selection of evaluation points but express differing opinions on the effectiveness and simplicity of various methods proposed. The discussion remains unresolved regarding the most efficient approach to deducing coefficients from the multinomial function.

Contextual Notes

Limitations include the dependence on the choice of evaluation points and the potential complexity of the resulting equations. The discussion does not resolve the challenges associated with cases where multiple coefficients must be determined simultaneously.

Stephen Tashi
Science Advisor
Homework Helper
Education Advisor
Messages
7,864
Reaction score
1,605
TL;DR
Suppose we have a computer program that evaluates a multinomial. We known the general form, but do not know the coefficients. Is there a convenient way to deduce the coefficients by evaluating the multinomial at particular values of its variables?
Suppose we know the general form of a multinomial function (for example ##f(x,y,z) = k_1 x^2 y^3 z + k_2 x^3 z^5##) and we have access to a computer program that can evaluate ##f## at arbitrary values (for example, arbitrary values of ##(x,y,z)##) where the coefficients ( for example, ##k_1## and ##k_2##) are specific numbers that are used by the program, but unknown to us.

Can we conveniently deduce the values of the coefficients by evaluating ##f## at some set of values?

In the above example, we could use ##f(1,0,1)## to deduce ##k_2##. Then we can find ##k_1## by using ##f(1,1,1)##

Is there a general approach that works for more complicated examples? (I mean an approach that is more convenient that solving a system of simultaneous non-linear equations.)
 
Mathematics news on Phys.org
Stephen Tashi said:
Summary:: Suppose we have a computer program that evaluates a multinomial. We known the general form, but do not know the coefficients. Is there a convenient way to deduce the coefficients by evaluating the multinomial at particular values of its variables?

Suppose we know the general form of a multinomial function (for example ##f(x,y,z) = k_1 x^2 y^3 z + k_2 x^3 z^5##) and we have access to a computer program that can evaluate ##f## at arbitrary values (for example, arbitrary values of ##(x,y,z)##) where the coefficients ( for example, ##k_1## and ##k_2##) are specific numbers that are used by the program, but unknown to us.

Can we conveniently deduce the values of the coefficients by evaluating ##f## at some set of values?

In the above example, we could use ##f(1,0,1)## to deduce ##k_2##. Then we can find ##k_1## by using ##f(1,1,1)##

Is there a general approach that works for more complicated examples? (I mean an approach that is more convenient that solving a system of simultaneous non-linear equations.)
I'm not sure I understand what you are asking so this may not be the right answer.

For an equation with ## n ## unknown coefficients k = ## k_{1..n} ##, select ## n ## arbitrary points ## (x_i, y_i \dots) ## and evaluate ## f_i ## at each. For each point, calculate the values of the each of the multinomial terms at that point to give a linear equation ## f_i = k_1\alpha_1 + k_2\alpha_2... +k_n\alpha_n ## You then have ## n ## linear simultaneous equations for the coefficients k which can be solved by elimination.

Having written that down I am sure I must be missing the point?
 
Just make sure the n sets of points chosen are linearly independent.
 
  • Like
Likes   Reactions: pbuk
mathman said:
Just make sure the n sets of points chosen are linearly independent.
Well yes, and also there must (in general) be no zeros otherwise you are going to lose terms.
 
pbuk said:
For each point, calculate the values of the each of the multinomial terms at that point to give a linear equation ## f_i = k_1\alpha_1 + k_2\alpha_2... +k_n\alpha_n ## You then have ## n ## linear simultaneous equations for the coefficients k which can be solved by elimination.

I agree, but is there a way to get a very simple system of equations (e.g. a system whose matrix is triangular)? Can we look at the collection of sets of exponents involved in the terms ( e.g. {(0,1,1) (2,3,1),(2,2,3)} for ## yz + x^2y^3z + x^2y^3z^3##) and deduce a set of values to use in our evaluations that make the system of equations very easy to solve?
 
Stephen Tashi said:
Summary:: Suppose we have a computer program that evaluates a multinomial. We known the general form, but do not know the coefficients. Is there a convenient way to deduce the coefficients by evaluating the multinomial at particular values of its variables?

Suppose we know the general form of a multinomial function (for example ##f(x,y,z) = k_1 x^2 y^3 z + k_2 x^3 z^5##) and we have access to a computer program that can evaluate ##f## at arbitrary values (for example, arbitrary values of ##(x,y,z)##) where the coefficients ( for example, ##k_1## and ##k_2##) are specific numbers that are used by the program, but unknown to us.

Can we conveniently deduce the values of the coefficients by evaluating ##f## at some set of values?

In the above example, we could use ##f(1,0,1)## to deduce ##k_2##. Then we can find ##k_1## by using ##f(1,1,1)##

Is there a general approach that works for more complicated examples? (I mean an approach that is more convenient that solving a system of simultaneous non-linear equations.)
Are your x,y,z Integer-valued variables? You were using (1,1,1) and (1,0,1) as examples, but just to make sure.
 
Stephen Tashi said:
I agree, but is there a way to get a very simple system of equations (e.g. a system whose matrix is triangular)?
Jacobian elimination on the initial (generally) non-triangular matrix - and if there is difficulty with convergence replace some of the points? Again I think I must be missing the point (excuse the pun).
Stephen Tashi said:
Can we look at the collection of sets of exponents involved in the terms ( e.g. {(0,1,1) (2,3,1),(2,2,3)} for ## yz + x^2y^3z + x^2y^3z^3##) and deduce a set of values to use in our evaluations that make the system of equations very easy to solve?
Oh I think I see now - that would be quite an interesting trick but it's way beyond my algebra comfort zone to even contemplate I'm afraid!
 
WWGD said:
Are your x,y,z Integer-valued variables? You were using (1,1,1) and (1,0,1) as examples, but just to make sure.

I'd be interested in the most general case, where only the exponents are required to be integers and the coefficients and variables need not be.

However, the less general case where coefficients are integers would be interesting. For example, sometimes we have a mutinomial function expressed as a product such as ##f(x,y,z) = (xy + 9xz^2 + 2xyz)(x^3 y^2 z + 4yz)(6xzy^2 -3 zy^3)## We can list the types of terms that are produced by the multiplication insofar as the different combinations of exponents that will result. It would be nice to have a method for deducing the coefficients of the terms without multiplying out the factors.

Of course, computers can do both symbolic multiplication and numerical evaluation. So this is a question about a pre-computer age trick - analogous to pre-computer calculation tricks like synthetic division.
 
Stephen Tashi said:
I'd be interested in the most general case, where only the exponents are required to be integers and the coefficients and variables need not be.

However, the less general case where coefficients are integers would be interesting. For example, sometimes we have a mutinomial function expressed as a product such as ##f(x,y,z) = (xy + 9xz^2 + 2xyz)(x^3 y^2 z + 4yz)(6xzy^2 -3 zy^3)## We can list the types of terms that are produced by the multiplication insofar as the different combinations of exponents that will result. It would be nice to have a method for deducing the coefficients of the terms without multiplying out the factors.

Of course, computers can do both symbolic multiplication and numerical evaluation. So this is a question about a pre-computer age trick - analogous to pre-computer calculation tricks like synthetic division.
For the case of integer variables and exponents, I believe some work has been done in Algebraic Geometry. Maybe @mathwonk knows something about this?
 
  • #10
i don't know anything offhand, but i would ask myself how to find the coefficients of something like axyz + b x^2yz + cxy^2z + dxyz^2 first off. presumably one looks at values of the polynomial and its derivatives.
 
  • #11
You can get shorter equations by keeping several parameters zero if that still gives you some information. For ##f(x,y,z) = k_1 x^2 y^3 z + k_2 x^3 z^5##, choose one point with y=0 to find k2, then pick any other point where the first term doesn't vanish to determine k1. This doesn't always work, and for many coefficients you'll need equations that include all parameters simply because no component will be zero. That's unavoidable.
 
  • #12
mathwonk said:
presumably one looks at values of the polynomial and its derivatives.

If we have only a program that evaluates the multinomial, the values of its derivatives are not given information. However, finite differences such as f(1,1,1) - f(0,1,1) would be available.
 
  • #13
sounds promising.
 
  • #14
mathwonk said:
sounds promising.

Yes, it looks like we can use finite differences to find the coefficients individually without solving simultaneous equations. I don't know of any texts that work out a multivariable version of the calculus of finite differences. It seems straightforward.

Define ##\Delta_x f(x,y,..) = f(x+1,y,..) - f(x,y,..)## and use notation like ##\Delta^3_x f(x,y) = \Delta_x( \Delta_x( \Delta_x f(x,y,...))##

By analogy with McLaurin series, I'd think that

##f(x,y,z) = f(0+x,0+y,0+z) = f(0,0,0) + \sum_{i=1,j=1,k=1}^{n_x,n_y,n_z} \frac{1}{i!j!k!} k_{i,j,k} x^i y^j z^k ## with ##k_{i,j,k} = \Delta_x^i \Delta_y^j \Delta_z^k f(x,y,z) ## evaluated at ##(x,y,z) = (0,0,0)##.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 51 ·
2
Replies
51
Views
7K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K