Giuseppe Sottile
COMPUTER ENGINEER AND GRAPHIC DESIGNER

Projects

In questa sezione riporto diversi progetti da me realizzati sia in ambito accademico che lavorativo. La sezione è in aggiornamento.$$ \diamond\diamond\diamond $$

IOT - Arduino - WebDesign - Graphical - Electronics - SoftwareEngineering - C\C++ - JAVA ... etc

View All »


WebDesign

Il tuo sito web su misura.

Progettazione di siti web per ogni tipo di realtà

La sezione è in aggiornamento e a breve sarà disponibile.

Report & Articles

Articoli, appunti e guide di informatica ed elettronica. Linguaggi e programmazione. Networking e sistemi GNU\Linux. Storia dell'informatica e scoperte scientifiche. Retrocomputing.

Articoli e guide recenti

View All »

Artworks

Introduce the visitor to the Graphic and WebDesign section.

$$ \diamond\diamond\diamond $$

Una delle attività principali che svolgo è la grafica in ambito web e business, molti dei lavori sono riportati in questa sezione del sito, tuttavia, rispetto ai dettagli implmentativi riportati nella pagina dei progetti, quì riporto i dettagli grafici.

La sezione è in aggiornamento e a breve sarà disponibile.


Videolezioni

Lista completa ordinata delle videolezioni

La lista è correlata al mio canale youtube divulgativo ufficiale - " PhysMath Academy

Youtube List

math & physic

In questa sezione espongo vari argomenti sia di fisica che di matematica in generale. Si tratta essenzialmente di una raccolta di esposizioni da me sviluppate nel corso degli studi che continuo tuttora progressivamente ad arricchire.

Entra nella sezione



Projects

In questa sezione riporto diversi progetti da me realizzati sia in ambito accademico che lavorativo. La sezione è in aggiornamento.

$$ \diamond\diamond\diamond $$

IOT - Arduino - WebDesign - Graphical - Electronics - SoftwareEngineering - C\C++ - JAVA ... etc

View All »


WebDesign

Il tuo sito web su misura.

$$ \diamond\diamond\diamond $$

Progettazione di siti web per ogni tipo di realtà

La sezione è in aggiornamento e a breve sarà disponibile.


Report & Articles

Articoli, appunti e guide di informatica ed elettronica. Linguaggi e programmazione. Networking e sistemi GNU\Linux. Storia dell'informatica e scoperte scientifiche. Retrocomputing.

Articoli recenti

View All »


Artworks

Introduce the visitor to the Graphic and WebDesign section.

$$ \diamond\diamond\diamond $$

Una delle attività principali che svolgo è la grafica in ambito web e business, molti dei lavori sono riportati in questa sezione del sito, tuttavia, rispetto ai dettagli implmentativi riportati nella pagina dei progetti, quì riporto i dettagli grafici.

La sezione è in aggiornamento e a breve sarà disponibile.


math & physic

In questa sezione espongo vari argomenti sia di fisica che di matematica in generale. Si tratta essenzialmente di una raccolta di esposizioni da me sviluppate nel corso degli studi che continuo tuttora progressivamente ad arricchire.

Quick Reference

Questi minicorsi offrono un trade-off fra una trattazione semplice e completa.

(Prossimamente)

  • Numeri Complessi
  • Funzioni olomorfe
  • Quaternioni
  • Serie di Fourier

Entra nella sezione


Videolezioni

Lista completa ordinata delle videolezioni

La lista è correlata al mio canale youtube divulgativo ufficiale - " PhysMath Academy

Youtube List


Recent Article

Qubit & Computer Quantistici
Una sbirciatina nel crepuscolo e nel tempo
di Giuseppe Sottile

Nell'era futuristica di Star Wars, dove regna il mondo dell'elettronica digitale e della logica di commutazione tradizionale, i computers hanno da tempo sostituito l'uomo in molte delle attività mentali e raziocinanti, prettamente legate al calcolo ed al trattamento dell'informazione. Tra le mille cose che questi dispositivi elettronici sanno fare con straordinaria velocità e precisione, c'è, fortunatamente, una cosa che essi non sanno fare e risultano, pretanto, assai inefficienti; si tratta dei contesti legati alla creatività ed alle emozioni, correlati all'emisfero destro del nostro cervello, quindi al pensiero che va al di là della logica. In un'epoca non molto lontana dalla nostra, dove personaggi illustri del calibro di Gauss, Newton ed Einstein (solo per citarne alcuni) grandi cultori e profondi conoscitori della scienza, capitava spesso, che le scoperte avvenivano per la loro profonda visione d'insieme di cose che apparentemente diverse, costituivano un tutt'uno; famosa è l'unificazione fra elettricità e magnetismo ad opera di James Clerk Maxwell nel 1865. Oggi è raro trovare queste figure perchè siamo specializzati in settori specifici, ma quando diverse aree scientifiche apparentemente diverse si uniscono, nascono dei connubbi indissolubili, che solo grandi menti riescono ad afferrare. La cosiddetta computazione quantistica, di cui tratteremo alcune idee in questo articolo è una disciplina che nasce negli anni 80 come una commistione di idee tratte sia dalla meccanica quantsitica che dall'informatica.

Il computer quantistico

Un computer quantistico è un dispositivo elettronico, che, rispetto all'approccio tradizionale basato sulle porte logiche irreversibili e sui flip-flops si fonda sulle leggi della meccanica quantistica come ad esempio l'entanglement e la sovrapposizione degli effetti.

Con buona probabilità esso è in grado di svolgere "più soluzioni per un singolo problema nello stesso momento" piuttosto che svolgere calcoli sequenziali. Il tutto a una velocità senza precedenti. Ma quali sono le caratteristiche concettuali e su cosa si fonda un computer quantistico? Diamo una visione d'insieme.

$$ \diamond\diamond\diamond $$

Caratteristiche rispetto al modello classico: l'alba di una nuova era

In un computer tradizionale, che ritroviamo sulle nostre scrivanie, in uno smarthphone piuttosto che in un televisore o in un qualunque circuito logico digitale irreversibile, l'informazione è rappresentata sottoforma di bit, i quali possono assumere solo due stati possibili, come ad esempio due facce di una moneta, un valore di verità vero o falso, una lampada accesa o spenta ecc. In tutti questi esempi gli stati sono mutuamente esclusivi, ossia l'uno implica l'assenza dell'altro. Questi stati concretamente, vengono realizzati a livello circuitale rilevando il passaggio o il non passaggio di corrente nelle cosiddette porte logiche elementari, che sono a fondamento di tutta l'architettura e la logica dei calcolatori. Ma il passaggio, ed il riconoscimento di uno stato è possibile, per via del tutto sommaria attraverso lo spostamento di migliaia di particelle (flusso di elettroni). Sostanzialmente, un singolo bit, ciò che noi rappresentiamo con 0 o con 1, ovvero, l'unità elementare dell'informazione è rappresentata dallo spostamento di un'enorme quantità di particelle.


Fig 1: Circuito digitale - porte logiche elementari


Fig 2: Sfera di Bloch: rappresentazione astratta di un qubit

Nella versione quantistica questi stati si riferiscono, invece al comportamento di singole particelle elementari, es. elettroni, fotoni ecc; è possono trasportare un'unità singola di informazione (0 oppure 1), un notevole incremento delle prestazioni, ma c'è una novità!, gli stati possono sovrapporsi l'un l'altro in una "logica probabilistica", - ricorderete il paradosso del gatto di Schrödinger che risulta sia morto che vivo contemporaneamente fintantochè non apriamo la scatola in cui è rinchiuso..., analogamente, qui gli stati possono valere ambedue, essere, cioè sovrapposti l'un l'altro (termine più propriamente espresso, come, « entangled » e collassare in uno stato concreto, quando si interagisce con le particelle. Questi oggetti astratti vengono chiamati qubit (quantum bit) o bit quantistici; e lo scopo di questo articolo è carpire alcune delle loro proprietà fondamentali.

Come detto un bit classico può avere solo due stati \( 0\) o \(1\); analogamente un bit quantistico (qubit) può avere due stati elementari che rappresenteremo con i simboli:

$$ {\huge |0\rangle \hspace{6mm} |1\rangle } $$ $$ {\large |0\rangle = \begin{pmatrix} 1 \\ 0 \end{pmatrix}}, \hspace{5mm}{\large |1\rangle = \begin{pmatrix} 0 \\ 1 \end{pmatrix}} $$ Facciamo ora la seguente osservazione: se nella logica tradizionale questi stati elementari sono rappresentati da numeri "singleton" (singoletti) - i fisici li chiamerebbero scalari, nella loro versione quantistica essi sono dei vettori complessi espressi secondo la notazione bra-ket di Dirac (per chi non sapesse cos'è la notazione di Dirac, non c'è problema, possiamo sempre fare riferimento a dei semplici vettori colonna, vi invito, comunque a dare un'occhiata su wikipedia o su altre fonti). Senza addentrarci troppo in dettagli tecnici per la legge di sovrapposizione gli stati possono valere entrambi, e questo è possibile attraverso la definizione del vettore di stato \( |\psi\rangle \) espresso come combinazione lineare dei due vettori di partenza.
$$ {\LARGE |\psi\rangle = \alpha|0\rangle + \beta|1\rangle = \alpha\begin{pmatrix} 1 \\ 0 \end{pmatrix}}{\LARGE +\beta\begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} \alpha \\ \beta \end{pmatrix}} $$
$$ {\LARGE |\psi\rangle = \alpha|0\rangle + \beta|1\rangle }$$ $$ \downarrow $$ $$ \alpha\begin{pmatrix} 1 \\ 0 \end{pmatrix} +\beta\begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} \alpha \\ \beta \end{pmatrix} $$
$$ {\LARGE |\psi\rangle = \alpha|0\rangle + \beta|1\rangle = \alpha\begin{pmatrix} 1 \\ 0 \end{pmatrix}}{\LARGE +\beta\begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} \alpha \\ \beta \end{pmatrix}} $$
La possibilità che si verifichi uno dei due eventi associati ai due vettori di stato elementari è espressa attraverso la legge di probabilità tipica della meccanica quantistica. $$ {\Large |\alpha|^2 + |\beta|^2 = 1}$$ dove in generale \( |\alpha|^2 = \alpha\cdot \overline{\alpha} \) (prodotto del complesso per il suo coniugato), è la probabilità che si verifichi l'evento associato al vettore di stato \( |0\rangle \), stesso discorso per \( \beta \). Abbiamo quindi scoperto che l'equivalente della logica booleana, la logica quantistica, è basata su vettori complessi chiamati qubit con delle proprietà simili a quelle delle particelle elementari, cerchiamo ora di capire come potrebbero essere progettati i circuiti elementari di un computer quantistico. $$ \diamond\diamond\diamond $$

Logica quantistica

Se un computer tradizionale è costruito su porte logiche a transistor, i qubit viaggiano nelle porte logiche quantistiche, ossia, porte speciali con capacità che vanno oltre le leggi classiche della fisica, la più semplice delle quali è sicuramente l'inverter NOT o negazione logica. Un inverter tradizionale effettua un'inversione di segnale: (se l'input è \(1\), l'output sarà \(0\) e viceversa) un elemento essenziale nella realizzazione circuitale degli elaboratori, il corrispettivo quantistico dell'inverter è l'inverter di stato. Dal momento che un qualunque qubit \( |\psi\rangle \) è rappresentato dalla combinazione dei vettori di stato l'invertitore deve semplicemente trasformare un vettore \( |\psi\rangle = \begin{pmatrix} \alpha \\ \beta \end{pmatrix} \) in un vettore \( \overline{|\psi\rangle} = \begin{pmatrix} \beta \\ \alpha \end{pmatrix} \).

Ora, cos'è che trasforma (matematicamente) un vettore colonna in un altro vettore colonna lasciandone inalterate le dimensioni? Ebbene, chi ha studiato un pò di geometria ed algebra saprà sicuramente o ricorderà che si tratta di una matrice \( {\mathbb M}\) di trasformazione, e l'operazione è il prodotto di questa matrice \( {\mathbb M}\) per il vettore di stato \(|\psi\rangle \).

$${\large {\mathbb M}|\psi\rangle = \overline{|\psi\rangle} = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} }$$
$${\large {\mathbb M}|\psi\rangle = \overline{|\psi\rangle} = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} }$$
$${ {\mathbb M}|\psi\rangle = \overline{|\psi\rangle} = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} }$$
Sorprendentemente, l'analogo delle semplici operazioni elementari dell'algebra booleana tradizionale è sostituito da matrici nella logica-quantistica dei qubits, e la porta NOT è un caso particolare quando si sceglie come \( {\mathbb M} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \). In generale tuttavia una porta-quantistica ad un singolo qubit è rappresentata dalla trasformazione unitaria sui bits di stato
$${\large \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} = \begin{pmatrix}a\alpha + b\beta \\ c\alpha + d\beta \end{pmatrix}}$$
$${\large \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} = \begin{pmatrix}a\alpha + b\beta \\ c\alpha + d\beta \end{pmatrix}}$$
$${ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} \alpha \\ \beta \end{pmatrix} = \begin{pmatrix}a\alpha + b\beta \\ c\alpha + d\beta \end{pmatrix}}$$
Questa matrice soddisfa a delle regole speciali come la legge di probabilità e l'unitarietà, ma non è l'unica. Vediamo di cosa si tratta più in dettaglio. Per capirlo bisogna aver ben chiaro il concetto di matrice trasposta e coniugata. Sono dei concetti semplici ma che è bene ribadire per rinfrecare le idee al lettore. Anzitutto una matrice è una tabella fatta di righe e colonne contenente di solito numeri (ma anche oggetti più complessi), ora una trasposta si ottiene semplicemente scambiando le righe con le colonne della matrice di partenza, e la coniugata è la matrice dei complessi coniugati, dal momento che gli elementi della matrice, specialmente in ambito quantistico sono dei numeri complessi.

Ebbene, se una matrice \( {\mathbb M} \) è tale per cui la sua trasposta-coniugata, che indicheremo con \( {\mathbb M^{\dagger}}\) soddisfa la segunete relazione: $$ {\Large {\mathbb M^{\dagger}}{\mathbb M} = {\mathbb I}} $$ Essa si dice unitaria

La matrice \( {\mathbb M} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \) è certamente unitaria; infatti:

$$ {\mathbb M} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = {\mathbb I} $$
$$ {\mathbb M} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = {\mathbb I} $$
$$ {\mathbb M} = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} $$ $$ \downarrow $$ $$\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} = {\mathbb I} $$
Ma non è la sola, esistono altre matrici con questa caratteristica, che suggeriscono una prima sostanziale differenza con l'approccio classico che vede un singolo inverter non banale per l'inversione dei bit. La matrice \({\mathbb H}\) di Hadamard è anch'essa unitaria; la sua definizione è: $$ {\large \mathbb H} = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} $$
$$ { \mathbb H^{\dagger}\mathbb H} = \frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} = \frac{1}{2}\begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix} $$
$$ { \mathbb H^{\dagger}\mathbb H} = \frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} = \frac{1}{2}\begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix} $$
$$ { \mathbb H^{\dagger}\mathbb H} = \frac{1}{2}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} $$ $$ \downarrow $$ $$ \frac{1}{2}\begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix} = \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix} $$
Osservate come la matrice di Hadamard coincide con la sua matrice aggiunta $${ \mathbb H^{\dagger} = \mathbb H} $$ In questo caso si dice che essa è auto-aggiunta.

Tutti gli operatori elementari, vengono sostituiti da matrici di trasformazione e gli stati vengono trasformati mediante una semplice operazione di prodotto. Naturalmente è possibile progettare porte a 2, 3 o più qubits, l'idea rimane la stessa, cambia il numero di componenti nei vettori ed il numero di combinazioni e di stati rappresentabili con un singolo qubit.

$$ \diamond\diamond\diamond $$

Fantascienza o realtà? Back to the future

Se da un punto di vista teorico, un computer quantistico è un insieme di teorie matematiche fondate su leggi fisiche ben solide, praticamente la sua realizzazione risulta alquanto complessa per un semplice fatto noto come decoerenza quantistica, che rappresenta l'inevitabile interazione tra il sistema quantistico e l'ambiente in cui esso è immerso, ed è conseguenza del Principio di indeterminazione di Heisemberg; del resto costruire una porta quantistica ad esempio a fotoni richiederebbe un apparato ottico fatto di specchi riflettori, fotodiodi, interferometri, collimatori - che causerebbero, durante il loro funzionamento, errori nelle misure e perturbazioni annullando le sovrapposizioni (ricordate che quando aprite la scatola il gatto di Schrödinger o è vivo o è morto ma non entrambi, avete collassato un evento) quando misuriamo un fascio di fotoni infatti secondo Heisemberg la misura è affetta da errori dovuti agli strumenti stessi i quali disturbano l'andamento del campo elettromagnetico al diminuire della lungheza d'onda con cui lo osserviamo.

Ma le sorprese non finiscono quì, un gruppo di fisici, stà lavorando ad un progetto che vede la possibilità di "fondere" un computer quantistico con una macchina del tempo. S. Aaronson dice: «di fronte ad una macchina del tempo i quantum computer apparirebbero inutili come i distributori di bevande» , si potrebbe addirittura far uso dei vecchi computer a valvole del dopoguerra dal momento che con delle macchine del tempo si possono superare quasi tutti limiti imposti dalla fisica, ed impiegare tutto il tempo che si vuole e solo dipo aver terminato la computazione trasmettere il risultato dal passato al presente; tuttavia sono l'oggetto più complesso che si possa mai realizzare.

Possiamo in conclusione affermare di essere ancora molto lontani da un prototipo funzionante di computer quntistico perfetto, tuttavia molti colossi dell'informatica come Google, Intel e IBM stano investendo cospicue somme in questa direzione e sono giunti alla realizzazione di veri e propri simulatori cloud quantistici, e processori a qubit -Intel ha già sfornato il suo primo processore a 17qubit ed IBM ha promesso che nel 2018 renderà disponibile il suo nuovo processore IBM-Q a 50qubit oltre ad un sistema cloud online con accesso al simulatore quantistico.

Questa potrebbe essere la svolta alla possibilità di costruire supercalcolatori dalle prestazioni estreme in grado di simulare il ragionamento di un cervello umano, cosa alquanto improbabile ai giorni nostri dove i supercomputer vincono qualche partita a scacchi o cercano inesorabilmente di superare la barriera dell'A.I. con il Test di Turing... Potremmo continuare a discuterne appassionatamente ma credo che ci sarà occasione futura, per adesso è tutto io sono quì, anzi, noi siamo quì, ansiosi, nell'attesa di una nuova era.


Open Courses
Work In Progress

Reti Logiche

Nel corso di Reti logiche e calcolatori elettronici molti argomenti verranno trattati in questo corso, richiede molto impegno ma alla fine avrai un bagaglio consistente di nozioni tecniche sull'architettura dei calcolatori. Partiremo infatti dai fondamenti matematici fino a giungere alla costruzione di un vero e proprio calcolatore!

Trigonometria

Benvenuto nel mondo della trigonometria! questo è un corso che ha come obiettivo principale quello di approfondire tutti i concetti della trigonometria. Si tratta sostanzialmente di un corso completo di trigonometria per il liceo e per l'università. Gli argomenti vanno dalla misura degli archi fino alla trigonometria sferica.

Analisi Armonica | Teoria dei segnali Ingegneria del suono

Un viaggio nel fantastico mondo delle onde e dei segnali. Gli argomenti vanno dal trattamento matematico delle onde fino alla conversione nel mondo digitale. Un'ampia trattazione sviluppa l'argomento acustica e suoni, nel contesto della fisica dei suoni E dei metodi di conversione e campionamento.

Analisi Complessa

L'argomento in questione, fa parte di un settore molto avanzato della mtematica noto come Analisi Complessa. Si tratta di uno strumento di fondamentale importanza. Con i metodi dell'analisi complessa si basano molte teorie fisiche come la meccanica quantistica, la teoria delle stringhe, l'analisi armonica, solo per citarne alcune; inoltre è proprio qui che si può apprezzare la vera potenza dei numeri complessi

Programmazione C\C++

Ti do il benvenuto nel mondo della programmazione e del C\C++! In questo corso vedremo tutti gli aspetti della programmazione a basso, medio ed alto livello... da qui inizierà un viaggio nel mondo dell'informatica e dei calcolatori, seguendo queste lezioni imparerai presto a programmare con uno dei linguaggi più potenti mai realizzati: ovvero il C. Ampio spazio sarà dato ai meccanismi della OOP e quindi al C++...

Geometria & Algebra Lineare

Gli argomenti che affronteremo nel corso di queste lezioni rivestono un ruolo direi centrale in tutte le scienze tecniche applicate e non solo. L'algebra lineare trova impiego in ingegneria, fisica, matematica, specie in fisica moderna ad es. meccanica quantistica e teoria delle stringhe, dove riveste un ruolo centrale.