Я пытаюсь сделать следующее: у меня есть матрица размером n x m с n строками данных и m столбцами. Каждый из этих столбцов является отдельной переменной (например, X, Y, Z, т. Д.).
Я хочу вывести матрицу n x (m+f(m, i))
, где i - порядок запрошенного многочлена, а f(m, i)
- количество членов, включая перекрестные члены многочлена.
Я приведу пример, скажем, у меня есть матрица с одной строкой и тремя столбцами, и я хочу вернуть полиномиальные члены до порядка 3.
input = [x, y, z]
Я хочу добраться до
output = [x, y, z, x^2, y^2, z^2, x*y, x*z, y*z, x^3, y^3, z^3, x^2y, x^2*z, x*y^2, y^2*z, x*z^2, y*z^2, x*y*z]
Отсюда мы видим f(3, 3) = 16
.
Я знаю, что могу сделать это с помощью вложенных циклов, и я считаю, что могу векторизовать любой алгоритм по количеству строк, но было бы полезно иметь более эффективный алгоритм, чем грубая сила.