Здравствуйте. Такая ситуация: пытаюсь написать алгоритм вывода элементарных симметрических многочленов по заданному количеству переменных в maple... Для
переменных формула выглядит так:
. Проблема в том, как это записать, чтобы было понятно maple... Если писать вручную для каждого
, например, до
, выходит нечто типа:
Код:
S[1] := sum(x[q], q = 1 .. n);
for s from 2 to n do
S[s] := 0
end do;
for i[1] from 1 to n do
for i[2] from 1 to n do
if i[1] < i[2] then
S[2] := S[2]+x[i[1]]*x[i[2]]
end if
end do
end do;
for i[1] from 1 to n do
for i[2] from 1 to n do
for i[3] from 1 to n do
if i[1] < i[2] and i[2] < i[3] then
S[3] := S[3]+x[i[1]]*x[i[2]]*x[i[3]]
end if
end do
end do
end do;
for i[1] from 1 to n do
for i[2] from 1 to n do
for i[3] from 1 to n do
for i[4] from 1 to n do
if i[1] < i[2] and i[2] < i[3] and i[3] < i[4] then
S[4] := S[4]+x[i[1]]*x[i[2]]*x[i[3]]*x[i[4]]
end if
end do
end do
end do
end do;
for i[1] from 1 to n do
for i[2] from 1 to n do
for i[3] from 1 to n do
for i[4] from 1 to n do
for i[5] from 1 to n do
if i[1] < i[2] and i[2] < i[3] and i[3] < i[4] and i[4] < i[5] then
S[5] :=S[5]+x[i[1]]*x[i[2]]*x[i[3]]*x[i[4]]*x[i[5]]
end if
end do
end do
end do
end do
end do:
Но вот как это обобщить в одну формулу для любого n не знаю
Может кто-нибудь сможет помочь, пожалуйста?