Archivio mensile:Aprile 2020

sistema integrabile

Sistemi dinamici integrabili : cosa sono e alcuni esempi introduttivi

Cos’è un sistema integrabile? Ci sono esempi semplici di sistemi integrabili? In questo articolo cercheremo di capire il concetto di integrabilità di un sistema dinamico, partendo da degli esempi e derivando quindi qualche risultato più generale.

Introduzione al concetto di integrabilità

In un vecchio articolo sul sito abbiamo parlato di cosa sia un integrale primo ed un sistema dinamico (se vuoi lo trovi qui https://www.mathone.it/integrale-primo/ ), oggi invece andremo a scoprire quando un sistema sia integrabile.

Cosa si può intuire dal termine “integrabile”? Supponiamo di partire da una semplice equazione differenziale : $x'(t) = 6x(t)$. Secondo te questa è integrabile?

Beh, intuitivamente sì, nel senso che possiamo integrarla, ovvero possiamo calcolarne la soluzione in forma chiusa. Infatti la funzione $x(t) = x(0)e^{6t}$ risolve l’equazione, per cui siamo riusciti ad integrare l’equazione.

Bene, questo era un esempio semplice potresti dire, ma come possiamo capire se un sistema più complicato sia o meno integrabile? Cosa vuol dire che esso è integrabile?

Intanto definiamo più rigorosamente un generico sistema dinamico, seguendo però un approccio geometrico, ovvero parlando di campi vettoriali invece che di sistemi di equazioni differenziali. Riguardo la distinzione tra questi due punti di vista puoi vedere un video che ho fatto qui sotto:

Definiamo quindi un campo vettoriale $X:\mathbb{R}^n\rightarrow\mathbb{R}^n$ che sia di classe $\mathcal{C}^1(\mathbb{R}^n,\mathbb{R})$, così che valga il teorema di esistenza e unicità. Il sistema di equazioni differenziali associato è $$\dot{x}(t)=X(x(t)).$$

Tale sistema si dice integrabile se si può trovare una funzione $x=x(t)$, tramite una sequenza di operazioni algebriche e integrazioni, che risolva il sistema di equazioni differenziali qui sopra presentato.

Bene, una volta introdotto questo concetto però è interessante scoprire se ci sono dei risultati, delle ipotesi, che ci garantiscano l’integrabilità del sistema senza integrarlo direttamente.

Infatti, immagino tu ci abbia fatto caso, la semplice equazione $x’=6x$ l’abbiamo definita integrabile perchè l’abbiamo esplicitamente risolta, ovvero integrata.

Ma la domanda importante è: esistono delle ipotesi che quando soddisfatte da un sistema ci permettono di definirlo integrabile?

Ci tengo ad evidenziare un parallelismo con le equazioni algebriche e la loro risolubilità. La teoria della risolubilità in quel caso fa riferimento ai gruppi di Galois e non andremo certo ad approfondirla, visto che non so praticamente nulla a riguardo. Però se tu avessi dimestichezza con quegli argomenti, sappi che c’è uno stretto legame almeno in termini di approccio ed intuizioni tra queste due aree della mateamatica.

Prima di vedere il più semplice risultato di questo tipo (la teoria dell’integrabilità è molto ampia e richiede buone basi teoriche nel campo della geometria differenziale e teoria dei sistemi dinamici), è importante fare una precisazione.

L’integrabilità di un sistema dinamico ( o di un campo vettoriale più in generale ), è strettamente legata alla presenza di quantità/oggetti invarianti per il sistema. Per esempio in questo campo diventano molto importanti insiemi invarianti, misure invarianti, integrali primi o simmetrie dinamiche (campi vettoriali invarianti).

Se ti interessa capire cosa sia un integrale primo, qui ho fatto un video in cui introduco questo concetto:

Integrabilità algebrica: teorema di integrabilità di Lie

Supponiamo di avere ancora un generico campo vettoriale $X=X(x_1,…,x_n)$ che sia sufficientemente regolare, per esempio $\mathcal{C}^1$. Supponiamo inoltre che esso ammetta $(n-1)$ integrali primi che siano funzionalmente indipendenti.

Prima di tutti specifichiamo cosa si intenda con quest’ultima frase. Vuol dire che ci sono $(n-1)$ funzioni $f_1,…,f_{n-1}:\mathbb{R}^n\rightarrow \mathbb{R}$ che soddisfano le due seguenti proprietà:

  • $\mathcal{L}_Xf_i = \nabla f_i \cdot X = 0 ,\;\forall i=1,…,n-1,$

  • $\nabla f_i \text{ e }\nabla f_j \text{ non sono paralleli per ogni }i\neq j.$

Allora se ciò è vero, possiamo integrare il sistema. Nel caso ci sia un integrale primo, come spiego nel video, abbiamo che gli insiemi di livello di ognuna di queste funzioni è invariante. Inoltre essendo che i gradienti di queste funzioni non sono paralleli, ovvero non sono linearmente dipendenti, ciò vuol dire che gli insiemi di livello di questi integrali primi sono tutti diversi.

Quest’ultimo fatto è dovuto alla proprietà geometrica del gradiente di essere localmente ortogonale agli insiemi di livello di $f$, per esempio se $f(x,y)=x^2+y^2$, il gradiente è $\nabla f (x,y) = [2x,2y]^T$ che, come puoi vedere nel grafico qui sotto, è localmente ortogonale alle circonferenze che definiscono gli insiemi di livello di $f$.

Cosa vuol dire nel concreto questo? Vuol dire che se fissiamo un punto iniziale da cui lasciare evolvere la dinamica, $y_0\in\mathbb{R}^n$, sappiamo che per ogni $i=1,…,n-1$, la dinamica evolverà per ogni tempo $t$ nell’insieme di livello dove vive $y_0$ di $f_i$.

Quindi supponiamo che $f_i(y_0)=c_i\in\mathbb{R}$ per ogni $i=1,…,n-1$. Allora abbiamo che l’orbita del punto $y_0$ rispetto al campo vettoriale $X$, ovvero l’insieme

$$orb(y_0) = \{\Phi_t(y_0):\,t\in\mathbb{R}\}\subset\mathbb{R}^n$$

è contenuto nell’insieme di livello $\{x\in\mathbb{R}^n : f_i(x)=c_i\}$ per ogni $i=1,…,n-1$. Di conseguenza esso apparterrà all’insieme di livello della funzione vettoriale

$$ F : \mathbb{R}^n\rightarrow \mathbb{R}^{n-1} ,\quad F(x):=(f_1(x),…,f_{n-1}(x))$$

associato al punto $\boldsymbol{c}=(c_1,…,c_{n-1})\in\mathbb{R}^{n-1}$. Essendo gli integrali primi indipendenti, questa è una funzione suriettiva e l’insieme di livello $\{x\in\mathbb{R}^n: \,F(x)=\boldsymbol{c}\}$ è di dimensione 1, ed è invariante rispetto alla dinamica. Di conseguenza sappiamo che le orbite sono contenute in questi sottoinsiemi invarianti.

In più si vede facilmente che il sistema può essere integrato esplicitamente, questo è anche chiamato teorema di integrabilità di Lie.

Giusto per essere chiari, il fatto che sia integrabile esplicitamente non vuol dire che non rimarranno integrali da calcolare nell’espressione finale, vuol dire che a meno di essere in grado di calcolare quegli integrali, abbiamo un’espressione esplicita. Spesso infatti si incontrano i cosiddetti integrali ellittici che non sono risolvibili, ma ciò non è un problema o almeno non è un ostacolo verso la definizione di integrabilità.

Per accertarci della possibilità di integrare il sistema e trovarne l’integrale generale in forma chiusa, senza perderci in formalismi eccessivi, supponiamo di definire $n-1$ variabili come segue: $y_1=f_1$, …., $y_{n-1}=f_{n-1}$. Prendiamo poi una $n-$esima variabile da esse indipendente (questa esiste visto che abbiamo uno spazio di dimensione $n$: $\mathbb{R}^n$), chiamiamola $y_n$.

Allora siccome, per quanto abbiamo visto prima riguardo gli integrali primi, gli insiemi di livello di queste funzioni sono invarianti, esiste una funzione $g:\mathbb{R}^n\rightarrow \mathbb{R}$ tale che il sistema può essere riscritto, nelle nuove coordinate $\boldsymbol{y}$ come segue:

$$ \dot{y}_1 = 0 $$

$$ …. $$

$$ \dot{y}_{n-1} = 0 $$

$$ \dot{y}_n = g(y_1,…,y_n) $$

dove l’ultima equazione può essere integrata e possiamo quindi risolvere in forma chiusa il sistema.

Proviamo a ragionare più nel dettaglio su questa nuova formulazione del sistema. Quello che abbiamo fatto è trasformare il campo vettoriale di partenza, che era nelle coordinate $\boldsymbol{x}=(x_1,…,x_n)$, nelle nuove coordinate $\boldsymbol{y}=(y_1,…,y_n)$ che non sono prese a caso ma sono “speciali”. Per precisazione, questa operazione si dice coniugazione topologica del campo vettoriale.

Detto ciò, come possiamo sfruttare queste coordinate? Beh, vediamo facilmente che le prime $(n-1)$ equazioni sono integrabili e restituiscono $y_i=c_i$ con $i=1,…,n-1$. Da ciò segue che non resta che risolvere l’ultima equazione differenziale:

$$ \frac{dy_n}{dt}(t) = g(c_1,…,c_{n-1},y_n) = \tilde{g}_{\boldsymbol{c}}(y_n(t)), $$

che ci permette di ricavare $y_n(t)$, a meno di risolvere integrali.

Conclusione

La teoria dell’integrabilità è un campo molto interessante sia nel caso di campi vettoriali su spazi vettoriali (o varietà) di dimensione finita che infinita (nel caso della teoria quantistica per esempio). I risultati però si fanno parecchio complicati e quindi ho preferito concentrarmi solo su uno tra i risultati più intuitivi, ovvero il teorema di Lie.

Un altro famoso e classico risultato invece riguarda i sistemi Hamiltoniani, esso è il teorema di Liouville-Arnol’d e, nel caso le sue assunzioni siano soddisfatte da un sistema Hamiltoniano, esso ci porta a definire completamente integrabile tale sistema.

Magari su questo risultato possiamo soffermarci in un articolo più avanti, dopo averne dedicato uno all’introduzione dei campi vettoriali Hamiltoniani, così da definire un po’ di contesto.

Per questo articolo direi che possiamo concludere, se hai qualche domanda o suggerimento lascia pure un commento qui sotto, appena posso ti risponderò 🙂

Il Bitcoin, le monete matematiche e la blockchain

Cosa è il Bitcoin? Sicurezza o truffa informatica? Cosa sono le cryptovalute e la blockchain?

Sicuramente avrai sentito questi termini più di una volta negli ultimi tempi, essendo essi parole chiave di una grande rivoluzione tecnologica che si sta espandendo sempre di più, in molti settori e principalmente in quello della finanza. Oggi faremo chiarezza su questi concetti , sottolineando quanto siano importanti gli algoritmi matematici dietro tali tecnologie.

Bitcoin

Premessa: Questo articolo e gli altri della rubrica sono solamente a scopo informativo, col fine di suscitare ed approfondire l’interesse per questo argomento. Nè io nè gli altri collaboratori siamo investitori/traders professionisti e nessuna cosa che scriviamo ha come obiettivo spingerti ad investire i tuoi soldi. Detto questo, enjoy your reading!

Il Bitcoin (in acronimo BTC) è una moneta virtuale, ovvero che non viene stampata come la normale cartamoneta, ma che viene creata, distribuita e scambiata in maniera completamente virtuale. Esso introduce un vero e proprio sistema monetario globale, completamente innovativo e senza intermediari usufruendo della nuova tecnologia Blockchain di cui ne parlerò più avanti.

Nasce nel 2009, creato da un programmatore (o gruppo di programmatori) sotto lo pseudonimo di Satoshi Nakamoto, tutt’ora ancora sconosciuto, e la sua nascita dà il via alla cosidetta era delle cryptocurrencies, in italiano cryptovalute, dai termini inglesi “cryptography” (crittografia) e “currency” (valuta).

Le cryptovalute sono mezzi di scambio che utilizzano le moderne tecniche crittografiche sia per rendere sicure le transazioni sia per la creazione di altra moneta. Vengono spesso chiamate anche monete matematiche, poiché esse vengono prodotte, rese sicure (tramite la crittografia), distribuite e fatte circolare secondo algoritmi noti al pubblico. Se non sai cos’è un algoritmo ti consiglio di dare un’occhiata a questo articolo.

Ne esistono più di 2000, quelle che differiscono dal Bitcoin sono definite Altcoin (alternative-coin). Le più famose Altcoin sono Ethereum (ETH), Ripple (XRP), Litecoin (LTC).

Principali Cryptovalute

Il Bitcoin deve la sua fama principalmente per il suo alto valore nel mercato finanziario: dal 2009 ad oggi, infatti, ha avuto un incremento percentuale equivalente circa a 11666500% partendo da un prezzo di 0.06 dollari , ed arrivando tutt’ora intorno ai 7000 dollari. Il massimo storico è stato verso la fine del 2017, toccando la soglia di 20000$, e raggiungendo un incremento del 33333200% circa. Ma a cosa sono dovuti questi prezzi? La risposta si trova semplicemente nella legge della domanda e dell’offerta.

In breve: il prezzo è basso? Compro. Comprando, la domanda di quel bene (in questo caso del Bitcoin) sale, e ciò porta ad un aumento del prezzo. L’inverso succede invece quando si decide di vendere: arrivato ad un certo prezzo, chi ha comprato a poco decide di vendere sfruttando l’aumento del prezzo (si chiama speculazione): vendendo, l’offerta di quel bene aumenta, e ciò porta ad una riduzione del prezzo.

Sono ben 11 anni che il Bitcoin sta avendo questi andamenti, mostrando percentuali e numeri davvero incredibili. Il rischio, quindi, sta nel capire quando tutti comprano e quando tutti vendono. Ma la cosa che rende questa moneta così importante in realtà è la tecnologia che c’è dietro, chiamata Blockchain.

Blockchain: Il nuovo sistema decentralizzato

La blockchain (letteralmente “catena di blocchi”) è per definizione “una struttura dati condivisa e immutabile”. È definita come un registro digitale le cui voci sono raggruppate in blocchi, collegati in ordine cronologico, e la cui sicurezza è, come abbiamo già detto, garantita dall’uso della crittografia (Qui viene spiegata dettagliatamente cosa è e la sua importanza). Ogni nodo, ovvero ogni computer connesso ai blocchi, ha una copia della blockchain: difatti la qualità dei dati è mantenuta grazie a una costante replicazione del database. Non esiste nessuna copia ufficiale centralizzata e nessun utente è più credibile di altri, tutti sono allo stesso livello. E’ proprio questa la grande novità: un sistema decentralizzato che rimpiazza quello originariamente centralizzato (ovvero che ogni operazione debba necessariamente passare per un solo grande blocco che funge da intermediario per gli altri, es: banca) , poiché quest’ultimo rende vulnerabile il sistema (in caso di attacco informatico mirato solo al blocco centrale si otterrebbe l’immediato accesso a tutti gli altri blocchi).

Dopo che una transazione è avvenuta, lo storico e tutte le informazioni a essa collegate vengono salvate e conservate su ogni singolo blocco della catena che è pubblico e condiviso da tutti i nodi.

Questa nuova tecnologia, oltre che nel settore finanziario e della compravendita, si sta evolvendo in tantissime aree, tra queste: sistema sanitario,industria musicale, energia rinnovabile, scuole e università, pubblica amministrazione e molti altri.

Blockchain

Il Mining: Come vengono creati i Bitcoin

Il processo che produce nuova moneta virtuale è detto Mining. Esso consiste nel decifrare i codici crittografici presenti nei Bitcoin per completare le transizioni. Per fare ciò sono necessari una serie di computer di alta potenza che utilizzano software ed hardware specializzati capaci di fare milioni di calcoli al secondo. Decifrare questi codici risulta essere un vero e proprio problema matematico estremamente complesso: quei nodi che procedono alla ricerca della soluzione sono detti “minatori” e il primo che riesce a risolvere il problema viene premiato con una quota di bitcoin generati proprio grazie a questo processo. Inizialmente la ricompensa era di 50 bitcoin per blocco, ma se tale ricompensa rimanesse sempre la stessa, la moneta in circolazione aumenterebbe infinitamente nel tempo e si verificherebbe una continua inflazione (qui viene spiegata in dettaglio cosa è). Per evitare questo problema il sistema è programmato per generare moneta secondo una serie geometrica fino a che il numero totale di Bitcoin non giunge a 21 milioni. Il sistema dimezza la ricompensa ogni 210000 blocchi minati (ovvero ogni 4 anni circa); così facendo si ottiene:

$210000\cdot 50\cdot \sum^{+\infty }_{n=0}{{\left(\frac{1}{2}\right)}^n}=21000000$

Da questo momento, tutte le transazioni contenute in quell’ultimo blocco generato vengono “incatenate” alla blockchain e diventano pubbliche; quindi chi ha pagato una somma di Bitcoin non li possiede più mentre il ricevente li possiede effettivamente.

Creazione blocchi

Il Wallet Bitcoin: un po’ di algoritmi per capirne la solidità

I wallet (letteralmente “portafoglio”) sono una componente dell’architettura bitcoin attraverso il quale gli utenti gestiscono la propria cryptovaluta. I bitcoin sono infatti associati ad indirizzi assimilabili al numero di conto corrente di una banca e ogni utente può gestire, attraverso il proprio wallet, uno o più conti.

Ogni indirizzo di un wallet Bitcoin è costituito da due parti: la chiave pubblica, ovvero il vero e proprio indirizzo che useremo per ricevere i pagamenti, e la chiave privata, che deve assolutamente rimanere tale.

‘’I grandi numeri sono il primo nemico degli hacker, ed è questo il motivo per cui le chiavi private sono a prova di penetrazione.’’

La chiave pubblica, ovvero l’indirizzo del wallet, è una serie alfanumerica tra i 26 e i 35 caratteri in formato HEX (sistema numerico esadecimale). Questa serie di numeri è qualcosa di mai visto: sarete i primi  ed unici al mondo ad aver creato questa serie di numeri e lettere. E’ come lanciare una moneta per 160 volte e segnare l’ordine in cui escono testa (1) e croce (0), in quanti, al mondo, si ritroverebbero con la vostra stessa serie binaria? Le statistiche dicono nessuno. Quella sequenza di 160 monete lanciate è il vostro indirizzo.

Il valore della chiave privata viene generato tramite funzioni di crittografia dette “ellittiche” e successivamente usato sia come parametro di complessi algoritmi detti “algoritmi di hashing”. Essi sono in grado di elaborare una gran quantità di informazione e, sopratutto, non sono invertibili.

Questa proprietà è davvero importante, perché un algoritmo (facilmente) invertibile nel campo della sicurezza è sintomo di vulnerabilità. Basta pensare a una funzione crittografica come ad una semplice funzione matematica in cui l’input è un numero che viene elevato alla seconda e l’output è il risultato:

$x^2=81$

 se così fosse, basterebbe calcolare la radice quadrata per invertire la funzione e scoprire l’input a partire dall’output:

$\sqrt{81}=x$

Questi appena descritti sono i più moderni e solidi modelli di sicurezza.