Следующий код приводит к SetDelayed :: write: «Бета бета в бета-версии [row_Integer, col_Integer] защищена». выход Mathematica. Я не вижу причины.SetDelayed :: Write ... защищен в модуле для рекурсивно объявленной функции
Является ли определение функции, которое я выбрал для трех разных и рекурсивно объявленных случаев для «b», или это причина ошибки?
Beta[row_Integer, col_Integer] := Module[
{l1, l2},
l1 = -1;
l2 = 2;
b[m_, r_] := Which[m == 0 && r == 0, 1,
m == 0 && r != 0, Sum[a[[k]]*Sum[b[0, s]*k^(r - s)*Binomial[r, s], {s, 0, r - 1}],{k, l1,l2}]/(2^(r + 1) - 2)
m != 0 && r != 0, Sum[Binomial[r, i]*m^i*b[0, r - i], {i, 0, r}]];
b[row,col]
];
plus один. добавить, лучше начинать все свои собственные символы в нижнем регистре, чтобы избежать конфликтов – agentp