Скобка Айверсона

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

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

[P]={1,если P истинно0,если P ложно

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

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

i=1nai=kak[1kn],

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

Пример вычисления с использованием нотации Айверсона суммы S=i=1n1j=i+1naiaj для последовательности {ai}:

[i<j]+[i=j]+[i>j]=1,
i,jaiaj[i<j]+i,jaiaj[i=j]+i,jaiaj[i>j]=i,jaiaj,
S+iai2+S=(iai)2,

а так как для правой части:

i,jaiaj=ijaiaj=iaijaj=(iai)2,

то:

S=1i<jnaiaj=12(i=1nai)212i=1nai2.

Литература