Генерация членов степенного ряда m по n переменным

Рассмотрим ситуацию, когда у вас есть данные в списке в форме

data = {{x1, x2, x3, ..., xn, y}, {...}, ..., {...}}

Например,

data = {{0, 2, 3, 2}, {0, 0, 1, 4}, {7, 6, 8, 3}}

Я бы хотел уместить данные в многомерный полином порядка , скажем, 2. Итак, значения функции с тремя переменными следующие:

{2, 4, 3}

в соответствующих точках

{{0, 2, 3}, {0, 0, 1}, {7, 6, 8}}

Я бы сказал что-то вроде

Fit[data, {1, x, y, z, x^2, y^2, z^2, x y , x z, y z}, {x, y, z}]

Это все очень хорошо, но у меня могут быть не только данные с тремя вариантами, могут быть произвольные количество переменных, и я не знаю, как программно сгенерировать все линейные, квадратичные или даже члены более высокого порядка, чтобы вставить их в качестве второго аргумента Fit [].

Для 4-мерной даты второго порядка это будет примерно так:

{1, x1, x2, x3, x4, x1^2, x2^2, x3^2, x4^2, x1 x2, x1 x3, x1 x4, x2 x3, x2 x4, x3 x4}

Можно ли каким-либо образом сгенерировать такой список для n переменных, до m - й заказ? Подобные члены (без коэффициентов) в разложении в ряд по степеням m для функции n -переменной.

5
задан Tetsujin no Oni 19 June 2014 в 22:41
поделиться