неопределенные суммы, содержащие дельты Кронекера в Mathematica

#function #wolfram-mathematica #simplify

#функция #wolfram-mathematica #упростить

Вопрос:

Я хочу упростить неопределенные суммы, содержащие дельты Кронекера, например:

$ sum_ {k, k1, q} бета (q) бета (k k1 q) дельта (k1 q) = sum_ {k, q} бета (k) бета (q) $

однако

 Sum[ β[q] β[k   q   k1] KroneckerDelta[k1   q], k, k1, q] // FullSimplify
 

не работает, т.е. я не получаю

 Sum[β[q] β[k ], k, q]
 

Я также пытался

 c = FullSimplify[KroneckerDelta[q   k1] β[q] β[k   q   k1]]
Assuming[c != 0, FullSimplify[Sum[c, k, k1, q]]]
 

выдает входные данные в качестве выходных

Я нашел здесь пользовательскую MyDiscreteDelta функцию, которая также не работает. Есть ли способ добиться таких упрощений?

Комментарии:

1. @Билл, ты прав, я это исправил. Я не помню, как я получил предыдущий результат. Я пробовал много вещей. k, q, k1 являются действительными. Я не знаю, может ли это помочь.

2. Я подумал, что, возможно, можно определить новую функцию, но я не могу понять, как это сделать.

3. @Bill k,k1,q являются реальными, но не принимают фактические числовые значения. Ваша функция, похоже, работает нормально, если k1,q принимает определенные значения и β известна. Я хотел бы добиться Sum[ β[q] β[k q k1] KroneckerDelta[k1 q], k, k1, q] -> Sum[β[q] β[k ], k, q]

4. @Bill Assuming[k1 q==0,expr=Simplify[β[q] β[k q k1] KroneckerDelta[k1 q]] возвращает Σ over k Σ over q β[k] β[q] , но вы вручную исключили сумму k1 .

5. Sum[ β[q] β[k q k1] KroneckerDelta[k1 q], k, k1, q] быть равным Sum[β[q] β[k ], k, q] , как я указываю в вопросе.