martedì 17 luglio 2012

Zero alla zero

Ieri sera, in un social-coso, salta fuori questa domanda:

quanto vale zero elevato a zero?

Ecco, panico! No, niente panico! dai vediamo...

Io non sono un matematico e, anche se non saprei giustificare il perché, mi viene spontaneo 1: tutti i numeri elevati a zero danno 1.

Forse. Per intanto chiedo a Quora, lì sono sicuro di trovare qualcuno che sa. Ma prima provo a vedere da me, chissà...

Proviamo con i ferri del mestiere, ho Linux e allora:



dc, antenato di bc, non lo usa più nessuno




OK, pare che gli informatici la pensino come me.

Poi ci sono i fogli di calcolo

 Uh! Excel (Windows) non è d'accordo, per lui è errore.

Libre Office Calc

Poi c'è Google, può essere usato anche come calcolatrice

C'è inoltre una cosa bellissimissima, überpheega: Wolfram|Alpha
Uhmmm! qui dice: indeterminato.

Mi sa che è ora di controllare Quora, qui

La risposta più quotata, quella di Anders Kaseorg, ci dice:
It merely means that exponentiation cannot be a continuous function in any neighborhood of that value.
And so we assign 0^0 the value that’s useful, which is 1.  Why is that useful?  Because it lets us manipulate exponentials without special cases.
Bravo Anders! followarlo prima di subito --fatto.

Da leggere anche il commento di Sridhar Ramesh, anche se lui non ne è più tanto convinto.

Poi ci sono due link a Wikipedia (come faremmo se non ci fosse Wikipedia?):


Per adesso credo basti. Appena ho tempo provo a vedere altri linguaggi di programmazione ma credo che la convenzione emersa finora sia condivisa dagli informatici. Se del caso aggiorno.

Poi sarebbe interessante sentire i blogger matematici nostrani; se fossi più coraggioso ce ne sarebbe qualcuno che conosco nel Web che mi piacerebbe sentire. Chissà...

Aggiornamento: un nuovo (conclusivo) post, qui

Questo post partecipa al 52º Carnevale della Matematica, presso Mr. Palomar

14 commenti:

  1. Quando si estende l'elevamento a potenza ai numeri reali, non è possibile definire a^b in modo naturale quando sia a che b sono nulli. Ciò significa che si può o i) lasciare 0^0 indefinito; oppure ii) definirlo in modo che faccia comodo per qualche ragione. Qualunque soluzione lascia insoddisfatto qualcuno, però: dal punto di vista matematico la i) va benissimo, ma la ii) può evitare qualche segnalazione d'errore nei programmi. Un problema analogo si ha nella teoria degli insiemi nella definizione di intersezione (generalizzata) per l'insieme vuoto.

    RispondiElimina
  2. Ma Gödel che ne dice? E 0^0 nella AT di Hofstadter come viene?

    RispondiElimina
  3. Risposte
    1. Grazie, ottimo e definitivo.
      Epperò sai come sono gli informatici e gli ingegneri: gente pratica, poco inclinanti alla teoria. Mi sa che tutti la pensano come Anders Kaseorg, ho appena provato con C, Fortran e Java. Sì 1 anche per loro. Sento Ponder Stibbons e forse ci faccio un altro post, forse, nèh.

      Elimina
    2. Ah, no, per me che sono ing. 0^0 sta meglio indefinito ;-)

      (tra l'altro, secondo me, è meglio usare l'aggettivo "indefinito" rispetto all'"indeterminato" usato da WolframAlpha)

      Elimina
    3. OK Massimo, OK! Anche se non sono sicuro che la rivalità storica dei nostri paesi non influisca in qualche misura nelle tue convinzioni ;-)

      Elimina
  4. Io mi fido e al primo che mi chiederà quanto fa 0 alla 0 risponderò convinta: "1 già!"
    ...e quando mi chiederà perché, risponderò altrettanto convinta: "Perché l'ha detto Juhan già! E se l'ha detto Juhan è vero senza bisogno di sapere altro."

    ...non ci ho capito un'acca (di perché fa 1)!!! ;_;

    RispondiElimina
    Risposte
    1. No, no, no! Leggi il seguito. La risposta è indefinito o indeterminato.
      Non vorrei mai essere citato dai posteri come l'autore di un'eresia matematica.

      Elimina
    2. Ecco. Appunto.

      ... no ma era per vedere se eri attento...

      Elimina
  5. Basta spiegare il perché, e va bene (quasi) tutto... Io però direi che 0 alla 0 non esiste, e distinguerei il calcolo numerico dalla forma indeterminata. Quando torno a casa e metto le mani su un computer provo a spiegarmi meglio.

    RispondiElimina
  6. Provo a spezzare una lancia in favore di 0^0 = 1, con un argomento che penso si possa proporre agli undicenni. Cos'è l'operazione di elevamento a potenza a^b (a intero, b intero positivo)? Una moltiplicazione di a per sé stesso ripetuta b volte. Ma se b=1, come faccio la moltiplicazione, visto che vuole due operandi? Semplice, il numero 1 è neutro per la moltiplicazione, cioè 1xa = a, perciò faccio partire la moltiplicazione da 1. La ripetizione della moltiplicazione nella potenza è un treno che parte da 1 e fa b fermate successive, moltiplicando per a ad ogni fermata. Se b = 1, il risultato all'unica fermata dopo la partenza è a. Ma allora, perché pretendere che b debba essere positivo? Se b = 0, allora il treno non parte e il risultato è ciò che abbiamo alla stazione di partenza: 1.

    RispondiElimina
  7. 1 è il neutro per la moltiplicazione (operazione binaria)
    l'elevamento a potenza è una iterazione della moltiplicazione, a partire dal neutro:
    a^1 = 1xa
    a^2 = (1xa)xa
    ecc., ma:
    a^0 = 1x?, dove "x?" è per ora una sequenza vuota di simboli, allora ripeschiamo la proprietà del neutro e definiamo
    a^0 = 1x? = 1x(1x?) = 1x1 = 1
    Questo vale anche per a=0, in cosa consiste l'eresia?

    RispondiElimina