Nawias Iversona

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Nawias Iversona – nazwany na cześć Kennetha E. Iversona matematyczny zapis uogólniający deltę Kroneckera. Odwzorowuje on dowolne wyrażenie na funkcję zmiennych w tym wyrażeniu. Funkcja ta przyjmuje wartość 1 dla wartości zmiennych, dla których wyrażenie jest prawdziwe, w przeciwnym razie przyjmuje wartość 0. Zwykle oznacza się to poprzez umieszczenie wyrażenia w nawiasach kwadratowych:

[P]={1jeżeli P jest prawdziwe;0w innym przypadku.

Inaczej mówiąc, nawias Iversona dla danego stwierdzenia jest funkcją charakterystyczną zbioru wartości, dla których to stwierdzenie jest prawdziwe.

Nawias Iversona umożliwia stosowanie notacji sumowania (w wykorzystaniem symbolu Σ) bez ograniczeń dotyczących indeksu sumowania. Dla dowolnej własności P(k) liczby całkowitej k, można przepisać ograniczoną sumę k:P(k)f(k) do postaci nieograniczonej kf(k)[P(k)]. W ramach tej konwencji nie trzeba definiować f(k) dla wartości Szablon:Mvar, dla których nawias Iversona jest równy 0; składnik f(k)[fałsz] musi wynosić 0 niezależnie od tego, czy f(k) jest określone czy nie[1].

Notacja została pierwotnie wprowadzona przez Kennetha E. Iversona w stworzonym przez niego języku programowania APL[2][1]. Pierwotnie była ograniczona do pojedynczych operatorów relacyjnych umieszczonych w nawiasach. Donald Knuth zaproponował uogólnienie na dowolne stwierdzenia, zastosowanie nawiasów kwadratowych i wykorzystanie do sumowania, jako sposób na uniknięcie dwuznaczności wyrażeń logicznych umieszczonych w nawiasach[3].

Własności

Istnieje bezpośrednia zgodność pomiędzy arytmetyką wykorzystującą nawiasy Iversona, logiką i operacjami na zbiorach. Na przykład, niech A i B będą zbiorami, a P(k1,) dowolną właściwością liczb całkowitych. Mamy wtedy:[][PQ]=[P][Q];[PQ]=[P]+[Q][P][Q];[¬P]=1[P];[P XOR Q]=|[P][Q]|;[kA]+[kB]=[kAB]+[kAB];[xAB]=[xA][xB];[m :P(k,m)]=m[P(k,m)];[m :P(k,m)]=min{1,m[P(k,m)]}=1m[¬P(k,m)];#{m|P(k,m)}=m[P(k,m)].

Przykłady

Notacja umożliwia zapis ograniczeń zakresu sum (lub całek) w postaci osobnego składnika sumy, co zwalnia miejsce przy operatorze sumowania, a także, co ważniejsze, zwiększa elastyczność poprzez dopuszczenie szeregu przekształceń algebraicznych.

Zasada podwójnego zliczania

Mechanicznie wyprowadzamy dobrze znaną regułę dla sumy za pomocą nawiasów Iversona:kAf(k)+kBf(k)=kf(k)[kA]+kf(k)[kB]=kf(k)([kA]+[kB])=kf(k)([kAB]+[kAB])=kABf(k) +kABf(k).

Wymiana indeksów w podsumowaniach

Znaną regułę j=1nk=1jf(j,k)=k=1nj=knf(j,k) jest również łatwo wyprowadzić:j=1nk=1jf(j,k)=j,kf(j,k)[1jn][1kj]=j,kf(j,k)[1kjn]=j,kf(j,k)[1kn][kjn]=k=1nj=knf(j,k).

Zliczenia

Funkcję tocjent Eulera φ(n), która zlicza liczbę dodatnich liczb całkowitych mniejszych niż n, które są względnie pierwsze z n, można wyrazić wzorem:φ(n)=i=1n[nwd(i,n)=1],dla n+.

Uproszczenie przypadków specjalnych

Innym zastosowaniem nawiasu Iversona jest uproszczenie równań mających specjalne przypadki. Na przykład wzór1knnwd(k,n)=1k=12nφ(n)obowiązuje dla n>1, ale dla n=1 myli się o 12. Aby uzyskać tożsamość obowiązującą dla wszystkich dodatnich liczb całkowitych Szablon:Mvar (tj. wszystkich wartości, dla których φ(n) jest zdefiniowana), można dodać składnik korygujący wykorzystujący nawias Iversona:1knnwd(k,n)=1k=12n(φ(n)+[n=1])

Popularne funkcje

Delta Kroneckera jest szczególnym przypadkiem nawiasu Iversona:δij=[i=j].Funkcja charakterystyczna zbioru, oznaczana symbolami 𝟏A(x), 𝐈A(x) lub χA(x), jest nawiasem Iversona, którego argumentem jest przynależność do zbioru:𝐈A(x)=[xA].Funkcję skokową Heaviside'a, funkcję signum[2] i wartość bezwzględną są również łatwo wyrazić za pomocą tej notacji:H(x)=[x>0],sgn(x)=[x>0][x<0],i|x|=x[x>0]x[x<0]=x([x>0][x<0])=xsgn(x).Funkcje porównawcze max i min (zwracające większy lub mniejszy z dwóch argumentów) można zapisać jakomax(x,y)=x[x>y]+y[xy]imin(x,y)=x[xy]+y[x>y].Funkcje podłoga i sufit można wyrazić jakox=nn[nx<n+1]ix=nn[n1<xn],gdzie indeks n przechodzi przez wszystkie liczby całkowite.

Trichotomia liczb rzeczywistych jest równoważna następującej tożsamości:[a<b]+[a=b]+[a>b]=1.Funkcja Möbiusa ma następującą właściwość (która może posłużyć jako jej definicja rekurencyjna[4])d|nμ(d) = [n=1].

Sformułowanie w kategoriach zwykłych funkcji

W latach trzydziestych XIX wieku Guglielmo dalla Sommaja używał wyrażenia 00x, aby przedstawić [x>0]; stosował także warianty tego zapisu, na przykład (100x)(100xa) dla [0xa][3]. Zgodnie z jedną z konwencji, wyrażenie 00xjest równe 1 dla x > 0, 0 dla x = 0, w pozostałych przypadkach jest niezdefiniowane.

Różnice notacyjne

Oprócz standardowych obecnie nawiasów kwadratowych Szablon:Nowrap i stosowanych początkowo zwykłych nawiasów Szablon:Nowrap stosowano także pogrubione nawiasy tablicowe, tzn. ⟦ · ⟧, a także inne nietypowe kroje nawiasów wraz z odpowiednim wyjaśnieniem.

Zobacz też

Przypisy

Szablon:Przypisy