A multivariate polynomial function can be written in a certain form (x^m (1-x)^n y^k + ...
) if the function is Positive in the whole domain and contains a finite set of minimum.
Lets take the following example:
fun=a + b + a^2 b + a b^2 - b c + 2 a b c - a^2 b c - 4 a b c d
where 0<= a,b,c,d <= 1
.
Now the function fun
is positive in the whole region spanned by a,b,c,d
which can be confirmed through FindMinimum
i.e.,
FindMinimum[{fun, 0<=a<= 1, 0<=b<=1, 0<=c<=1, 0<=d<=1 },{a,b,c,d}]
{4.07048*10^-7, {a -> 8.09007*10^-8, b -> 0.00543937, c -> 0.99994, d -> 0.500736}}
In such scenario, it is guaranteed (at least one way) that fun
can be organised as Sum
of terms where each term looks like a beta integrand
i.e. in the form
fun=$\Sigma k_{i} a^{m1} (1-a)^{n1} b^{m2} (1-b)^{n2} c^{m3} (1-c)^{n3} d^{m4} (1-d)^{n4} $
with $m1,n1,...,m4,n4 >= 0$ and $k_{i} >=0 $ are real numbers . In this particular case
fun=a (1 - b)^2 + b (1 - c) (1 - a)^2 + 4 a b (1 - c) + 4 a b c (1 - d)
or also
fun=a (1 - b)^2 + b (1 - c) + a^2 b (1 - c) + 2 a b (1 - c) + 4 a b c (1 - d)
both are in desired form, where each term is in the form x^m(1-x)^n
and importantly they are separated with +
.
Any strategy how to achieve this?
Or may any functionality already available that I am not aware of!
There is one functionality Factor
with Modulus
. However that does not work on multivariate functions.
NOTE: If the function has minimum for infinitely many points, then it is probably NOT possible to have beta-integrand representation. For example, for the simple case (a-b)^2
which has minimum(0
) along the line a=b
, it is NOT possible to have a representation in terms of beta-integrand.