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