Arra a kérdésre, hogy a matematikában vagy a programozásban kell-e pontosabbnak lennünk, valószínűleg többen mondanák azt, hogy az elsőben, mint a másodikban, és talán ez is a gyakoribb eset. Most mégis mutatunk két (egymáshoz közeli) példát az ellenkezőjére.
Ha adott az és a nem üres halmaz, és az függvény, továbbá a függvény értelmezési tartományának részhalmaza, akkor szükségünk lehet a halmaz elemeinek képeiből álló halmazra. A matematikus tehát bevezeti az jelölést, mit sem törődve azzal a ténnyel, hogy az függvény elemein, és nem részhalmazain volt értelmezve! Ha itt pontosabbak akarnánk lenni (bár valóban nem okoz igazán gondot ez a pongyolaság), akkor az függvény által generált, részhalmazait részhalmazaiba képező függvényről van szó, amit a halmaz (angolul set) szó kezdőbetűjével tehetünk nyomatékosabbá, például így: ( ). Kézenfekvő, hogy a programnyelvek esetén világosan meg kell különböztetni az és az függvényt, de valahogyan a kapcsolatukat sem árt számon tartani. A Wolfram nyelv (leánykori nevén Mathematica, hogy ne csak Wolfram Alpha és Wolfram Science létezzék reklámhordozóként) bevezette a Map ,,kétváltozós'' függvényt (ha tetszik: operátort) erre a célra. Ha tehát adott például a halmaz és az függvény, akkor a halmaz képe ennél a függvénynél, vagyis az halmaz így számolható: . (Megjegyzendő, hogy egy idő után a Maple fejlesztői is kénytelenek voltak bevezetni ezt a függvényt.)
Nézzünk egy másik példát! Ha most olyan függvény, amely a sík pontjainak koordinátáihoz rendel valamit, akkor értékét az épeszű így számolja: . A furmányos viszont természetesen így: , hiszen függvényünk kétdimenziós vektorokhoz rendel valamit, nem számpárokhoz! (Aki teheti, gondoljon még arra is, hogy TeX-ben hány karakter kell, hogy ehhez a szép alakhoz eljussunk!) Amikor erről mégis szó esik, például analízisben, akkor eleinte az az ember érzése, hogy folyamatosan azonosítunk mindent önmagával, pedig tényleg két különböző fogalomról van szó. A Wolfram-nyelv erre a problémára a következő megoldást kínálja: Ha adott az vektor, és szeretnénk, ha komponensei az kétváltozós függvény argumentumaiként szerepeljenek, akkor ezt kell írnunk: , az eredmény pedig leend.
A figyelmes Olvasó észrevehette, hogy egyszer halmazt, egyszer meg vektort mondtam. Ha a Wolfram nyelv értelmében pontos akartam volna lenni, akkor mindkét esetben listát kellett volna mondanom, ugyanis ez az ott használt alapvető adatszerkezet.
A programnyelv alaposabb tanulmányozása közben kiderül, hogy a fent bevezetett két operátor elképesztően hasznos eszköznek bizonyul. Lásd erről programozóknak vagy a közönséges halandóknak szóló bevezetőket.
TJ
Megjegyzések:
A Wolfram nyelv történetéről 2016. szeptemberi számunkban Lóczi Lajos írt: http://ematlap.hu/index.php/gazda-g-sag/340-a-wolfram-programozasi-nyelv-rovid-tortenete-3 .
A TeX programozási nyelv keletkezéséről mostani számunkban olvashatnak Kovács Zoltán cikkében.
Fényképünkön Wolfram 2008-ban, forrása: https://hu.wikipedia.org/wiki/Stephen_Wolfram (Received via email from Stephen Wolfram's staff. Publicity photo of Stephen Wolfram).
2017-05-28