Estoy trabajando en la construcción de algún tipo de software que hace la máquina de aprendizaje. Uno de los problemas a los que me he topado es que, tengo un array de números:
$[{a, b, c, d}]$
Y quiero calcular de la siguiente manera eficiente:
$ab + ac + ad + bc + bd + cd$
O:
$abc + abd + acd + bcd$
Donde el número de variables en cada grupo se especifica de forma arbitraria. Tengo un método en el que yo uso:
$f(x) = a^x + b^x + c^x + d^x$
Y, a continuación, calcular:
$f(1) = a + b + c + d$
$(f(1)^2-f(2))/2 = ab + ac + ad + bc + bd + cd$
$(f(1)^3 - 3f(2)f(1) + 2f(3))/6 = abc + abd + acd + bcd$
$(f(1)^4 - 6f(2)f(1)^2 + 3f(2)^2 + 8f(3)f(1) - 6f(4))/24 = abcd$
Pero he trabajado estos de forma manual y estoy luchando para generalizar. La matriz será normalmente mucho más y me voy a querer para calcular mucho órdenes superiores.