Русская Википедия:Скобка Айверсона

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:О Скобка Айверсона — функция, возвращающая 1 для истинного высказывания, и 0, если аргумент ложный:

<math>

[\,P\,] = \begin{cases} 1, &\text{если } P \text{ истинно} \\ 0, &\text{если } P \text{ ложно} \end{cases} </math>

Нотация введена Кеннетом Айверсоном для языка программирования APL, и оказалась очень удобным математическим обозначением, например, с ним можно лаконично определить:

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

<math>\sum_{i=1}^n a_i = \sum_{k} a_k [\, 1 \leqslant k \leqslant n\, ]</math>,

то есть индекс <math>k</math> пробегает всё множество <math>\Z</math> целых чисел, и формально суммируется бесконечное число слагаемых, но лишь конечное число их отлично от нуля.

Пример вычисления с использованием нотации Айверсона суммы <math>S = \sum_{i=1}^{n-1} \sum_{j=i+1}^n a_i a_j</math> для последовательности <math>\{ a_i \}</math>:

<math>

[\,i < j\,] + [\,i = j\,] + [\,i >j\,] = 1 </math>,

<math>

\sum\limits_{i , j} a_i a_j [\,i < j\,] + \sum\limits_{i , j} a_i a_j [\,i = j\,] + \sum\limits_{i , j} a_i a_j [\,i >j\,] = \sum\limits_{i , j} a_i a_j </math>,

<math>

S + \sum\limits_{i} a_i^2 + S = \biggl(\sum\limits_{i} a_i \biggr)^2 </math>, а так как для правой части:

<math>

\sum\limits_{i , j} a_i a_j = \sum\limits_{i} \sum\limits_{j } a_i a_j = \sum\limits_{i} a_i \sum\limits_{j } a_j = \biggl(\sum\limits_{i} a_i \biggr)^2 </math>,

то:

<math>S = \sum_{1 \leq i < j \leq n} a_i a_j = \frac{1}{2} \biggl(\sum_{i=1}^n a_i \biggr)^2 - \frac{1}{2}\sum_{i=1}^n a_i^2</math>.

Литература