In linear algebra we often learn about linear functions $$f_1(x) = Ax+b$$ And Quadratic forms ; $$f_2(x) = x^tAx + Bx + c$$ However we could easily imagine arbitrary high level polynomials:
$$\sum c_{i} x_{d_{i1}}^{e_{i1}}x_{d_{i2}}^{e_{i2}}$$ For some lists (vectors) of indexes d and exponents e.
How can we systematically expand to allow for higher order terms ?
I will show own work on a cubic term below. Let us first recursively define $$\cases{X_k = \text{vec}(x^t X_{k-1})\\\\ X_0 = 1}$$
This way we can rewrite the two first like so: $$f_1(x) = A X_1 + bX_0$$ $$f_2(x) = AX_2 + BX_1 + cX_0$$ Now following this pattern we can write $$f_3(x) = AX_3 + BX_2 + CX_1 + dX_0$$ or a general case more compactly:
$$f_n(x) = a^t[X_n,X_{n-1},\cdots,X_0]$$
One really long scalar product.
Is this walking over the bridge for water?
if we instead define
$$\cases{X_k = \text{vec}([x;1]^t X_{k-1})\\\\ X_0 = 1}$$
Suddenly we don't even have to use more than one term. But maybe it gives us other drawbacks?
Are there any widely used conventions for how to write this ?