{"id":3255,"date":"2022-03-07T17:37:00","date_gmt":"2022-03-07T16:37:00","guid":{"rendered":"https:\/\/techgoggler.com\/it\/?p=3255"},"modified":"2023-04-16T17:25:21","modified_gmt":"2023-04-16T15:25:21","slug":"risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss","status":"publish","type":"post","link":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/","title":{"rendered":"Equazioni lineari con Python: metodo di eliminazione di Gauss"},"content":{"rendered":"<p><a href=\"https:\/\/it.wikipedia.org\/wiki\/Sistema_di_equazioni_lineari\" rel=\"noopener noreferrer\" target=\"_blank\">Le equazioni lineari e algebriche<\/a> si possono trovare in quasi tutti i rami dell&#8217;analisi numerica. Ma la loro applicazione pi\u00f9 naturale nell&#8217;ingegneria \u00e8 nell&#8217;analisi dei sistemi lineari. L&#8217;ampia classe dei sistemi lineari include strutture, solidi elastici, flussi di calore, campi elettromagnetici, circuiti elettrici e molto altro.<\/p>\n<p>La modellazione di sistemi lineari d\u00e0 origine a equazioni lineari della forma Ax = b, dove b \u00e8 il vettore degli ingressi e il vettore x rappresenta la risposta del sistema. La matrice di coefficienti A, che riflette le caratteristiche intrinseche del sistema, \u00e8 indipendente dall&#8217;ingresso. Ovvero, se modifichiamo l&#8217;ingresso, il sistema di equazioni lineari da risolvere avr\u00e0 un vettore <strong>b <\/strong>diverso ma la stessa matrice dei coefficienti <strong>A<\/strong>.<\/p>\n<h2>Metodi di risoluzione dei sistemi di equazioni lineari<\/h2>\n<p>Oltre ai metodi iterativi, dei quali non parleremo in questa sede, esistono i metodi cosiddetti diretti. La loro caratteristica comune \u00e8 che essi cercano di trasformare le equazioni originali in un sistema equivalente di pi\u00f9 facile soluzione.<\/p>\n<p>Tale trasformazione pu\u00f2 essere ottenuta applicando 3 operazioni fondamentali:<\/p>\n<ol>\n<li>scambiare due righe di A (il determinante di A cambia segno);<\/li>\n<li>moltiplicare una riga di A per uno scalare &lambda; non nullo (il determinante di A viene moltiplicato per lo stesso scalare);<\/li>\n<li>sostituire una riga di A con quella che si ottiene sommando tale riga con un&#8217;altra riga moltiplicata per uno scalare (lascia invariato il determinante di A);<\/li>\n<\/ol>\n<p>Naturalmente queste operazioni non influenzano le soluzioni del sistema che rimangono le stesse, ma possono influenzare i coefficienti di A ed il suo determinante.<\/p>\n<p>La tabella seguente, riassume i 3 principali metodi diretti di risoluzione:<\/p>\n<table>\n<tr>\n<th>Metodo<\/th>\n<th>Forma iniziale<\/th>\n<th>Forma finale<\/th>\n<\/tr>\n<tr>\n<td>Eliminazione di Gauss<\/td>\n<td>Ax=b<\/td>\n<td>Ux=c<\/td>\n<\/tr>\n<tr>\n<td>Decomposizione LU<\/td>\n<td>Ax=b<\/td>\n<td>LUx=b<\/td>\n<\/tr>\n<tr>\n<td>Eliminazione di Gauss-Jordan<\/td>\n<td>Ax=b<\/td>\n<td>Ix=c<\/td>\n<\/tr>\n<\/table>\n<p>In tabella, nella colonna della forma finale delle equazioni, appaiono 3 matrici standard, che sono:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-d8a2e5fc5ad2b3e095c96f285e45fdc9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#85;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#85;&#95;&#123;&#49;&#49;&#125;&#38;&#85;&#95;&#123;&#49;&#50;&#125;&#38;&#85;&#95;&#123;&#49;&#51;&#125;&#32;&#92;&#92;&#32;&#48;&#38;&#85;&#95;&#123;&#50;&#50;&#125;&#38;&#85;&#95;&#123;&#50;&#51;&#125;&#32;&#92;&#92;&#32;&#48;&#38;&#48;&#38;&#85;&#95;&#123;&#51;&#51;&#125;&#32;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"219\" style=\"vertical-align: -36px;\"\/> detta triangolare superiore; <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-0da05663f23eda4e3caeae5960345fea_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#76;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#76;&#95;&#123;&#49;&#49;&#125;&#38;&#48;&#38;&#48;&#32;&#92;&#92;&#32;&#76;&#95;&#123;&#50;&#49;&#125;&#38;&#76;&#95;&#123;&#50;&#50;&#125;&#38;&#48;&#32;&#92;&#92;&#32;&#76;&#95;&#123;&#51;&#49;&#125;&#38;&#76;&#95;&#123;&#51;&#50;&#125;&#38;&#76;&#95;&#123;&#51;&#51;&#125;&#32;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"217\" style=\"vertical-align: -36px;\"\/>  detta triangolare inferiore;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-b6ec920ade265e94f84b02691885710c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#73;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#49;&#38;&#48;&#38;&#48;&#32;&#92;&#92;&#32;&#48;&#38;&#49;&#38;&#48;&#32;&#92;&#92;&#32;&#48;&#38;&#48;&#38;&#49;&#32;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"143\" style=\"vertical-align: -36px;\"\/> detta matrice identit\u00e0.<\/p>\n<p>Il motivo per il quale i metodi diretti di risoluzione cercano di trasformare la matrice A in una matrice triangolare, risulta subito evidente quando si scriva, ad esempio <strong>Ux=c<\/strong>, che significa risolvere il sistema di equazioni lineari seguente:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-7f09f9fbdd70be5d431fcaa641bd8aab_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#108;&#101;&#102;&#116;&#92;&#123;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#85;&#95;&#123;&#49;&#49;&#125;&#120;&#95;&#123;&#49;&#125;&#43;&#85;&#95;&#123;&#49;&#50;&#125;&#120;&#95;&#123;&#50;&#125;&#43;&#85;&#95;&#123;&#49;&#51;&#125;&#120;&#95;&#123;&#51;&#125;&#61;&#99;&#95;&#123;&#49;&#125;&#92;&#92;&#32;&#85;&#95;&#123;&#50;&#50;&#125;&#120;&#95;&#123;&#50;&#125;&#43;&#85;&#95;&#123;&#50;&#51;&#125;&#120;&#95;&#123;&#51;&#125;&#61;&#99;&#95;&#123;&#50;&#125;&#92;&#92;&#85;&#95;&#123;&#51;&#51;&#125;&#120;&#95;&#123;&#51;&#125;&#61;&#99;&#95;&#123;&#51;&#125;&#92;&#101;&#110;&#100;&#123;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#92;&#114;&#105;&#103;&#104;&#116;&#46;\" title=\"Rendered by QuickLaTeX.com\" height=\"85\" width=\"298\" style=\"vertical-align: -36px;\"\/> <\/p>\n<p>come si vede esso risulta di facile risoluzione partendo dall&#8217;ultima equazione.<\/p>\n<h2>Il metodo di eliminazione di Gauss<\/h2>\n<p>E&#8217; il metodo pi\u00f9 familiare per la soluzione dei sistemi di equazioni lineari. Esso si compone di due fasi: la fase di eliminazione e quella di sostituzione all&#8217;indietro. La prima fase ha lo scopo, come indicato nella precedente tabella, di trasformare le equazioni dalla forma <strong>Ax=b<\/strong> a quella di immediata soluzione <strong>Ux=c<\/strong>.<\/p>\n<p>La fase di eliminazione procede eseguendo ripetutamente la 3^ operazione fondamentale dell&#8217;elenco precedentemente discusso. Senza perderci nelle complicazioni della notazione per il caso generale, procederemo con un esempio.<\/p>\n<p>Risolveremo il sistema di equazioni lineari seguente:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-9301c7fb26dfd68fb6c3031379485d11_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#108;&#101;&#102;&#116;&#92;&#123;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#120;&#43;&#121;&#43;&#122;&#61;&#49;&#92;&#92;&#120;&#45;&#121;&#45;&#122;&#61;&#49;&#32;&#92;&#92;&#120;&#45;&#50;&#121;&#43;&#51;&#122;&#61;&#45;&#53;&#92;&#101;&#110;&#100;&#123;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#92;&#114;&#105;&#103;&#104;&#116;&#46;\" title=\"Rendered by QuickLaTeX.com\" height=\"85\" width=\"195\" style=\"vertical-align: -36px;\"\/> <\/p>\n<h2>Soluzione manuale con il metodo di Gauss<\/h2>\n<p>Prima di vedere l&#8217;algoritmo codificato in Python, procederemo manualmente con il metodo di eliminazione di Gauss.<\/p>\n<p>La matrice A del sistema \u00e8:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-bb90e037af648342bdbdb59de87d58b4_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#49;&#38;&#49;&#32;&#38;&#49;&#32;&#92;&#92;&#32;&#49;&#38;&#45;&#49;&#32;&#38;&#45;&#49;&#32;&#92;&#92;&#32;&#49;&#38;&#45;&#50;&#32;&#38;&#51;&#32;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"185\" style=\"vertical-align: -36px;\"\/> <\/p>\n<p>e il vettore dei coefficienti b \u00e8:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-8723004928523578ab81baeb3fa7cb6c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#98;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#49;&#92;&#92;&#49;&#32;&#92;&#92;&#45;&#53;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"93\" style=\"vertical-align: -36px;\"\/> <\/p>\n<p>Come detto, lo scopo della prima fase del metodo di Gauss \u00e8 quello di trasformare la matrice A in una matrice traingolare superiore U. Come si vede da A, il primo passo sar\u00e0 quello di rendere nulli i termini a<sub>21<\/sub> e a<sub>31<\/sub>. Per fare questo dobbiamo individuare una costante &lambda; tale che moltiplicata per la riga R<sub>1<\/sub> e sommata alla riga R<sub>2<\/sub> e successivamente R<sub>3<\/sub>, rendano nulli i coefficienti desiderati.<\/p>\n<p><strong>1.<\/strong> Per annullare a<sub>21<\/sub> moltiplicheremo R<sub>1<\/sub> per -1 e poi la sommeremo a R<sub>2<\/sub>:<\/p>\n<p> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-94ef875488396f53e556ebd40df62e5f_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#45;&#49;&#92;&#99;&#100;&#111;&#116;&#32;&#82;&#95;&#123;&#49;&#125;&#124;&#98;&#95;&#123;&#49;&#125;&#43;&#82;&#95;&#123;&#50;&#125;&#124;&#98;&#95;&#123;&#50;&#125;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#48;&#38;&#45;&#50;&#32;&#38;&#45;&#50;&#32;&#38;&#124;&#48;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"28\" width=\"380\" style=\"vertical-align: -8px;\"\/> <\/p>\n<p>Da notare che la stessa operazione viene anche eseguita sui corrispondenti elementi del vettore b.<\/p>\n<p>Analogamente per l&#8217;annullamento del coefficiente a<sub>31<\/sub>:<\/p>\n<p> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-600d2937309d2fb455dc164ff356cdeb_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#45;&#49;&#92;&#99;&#100;&#111;&#116;&#32;&#82;&#95;&#123;&#49;&#125;&#124;&#98;&#95;&#123;&#49;&#125;&#43;&#82;&#95;&#123;&#51;&#125;&#124;&#98;&#95;&#123;&#51;&#125;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#48;&#38;&#45;&#51;&#32;&#38;&#50;&#32;&#38;&#124;&#45;&#54;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"28\" width=\"390\" style=\"vertical-align: -8px;\"\/><\/p>\n<p>Sostituendo le nuove righe trasformate nella matrice A, abbiamo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-8ab142d03d1f6ff3b15656c5146f955c_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#49;&#38;&#49;&#32;&#38;&#49;&#32;&#92;&#92;&#32;&#48;&#38;&#45;&#50;&#32;&#38;&#45;&#50;&#32;&#92;&#92;&#32;&#48;&#38;&#45;&#51;&#32;&#38;&#50;&#32;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"185\" style=\"vertical-align: -36px;\"\/> <\/p>\n<p>e il vettore b trasformato adesso \u00e8:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-ca45f7bafb78da217327d91fa8394c9b_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#98;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#49;&#92;&#92;&#48;&#32;&#92;&#92;&#45;&#54;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"93\" style=\"vertical-align: -36px;\"\/> <\/p>\n<p><strong>2.<\/strong> Procediamo adesso ad annullare il coefficiente a<sub>32<\/sub>.<\/p>\n<p> <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-a0ad0fc23538c5fb70908dafde7e0f42_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#45;&#92;&#102;&#114;&#97;&#99;&#123;&#51;&#125;&#123;&#50;&#125;&#92;&#99;&#100;&#111;&#116;&#32;&#82;&#95;&#123;&#50;&#125;&#124;&#98;&#95;&#123;&#50;&#125;&#43;&#82;&#95;&#123;&#51;&#125;&#124;&#98;&#95;&#123;&#51;&#125;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#48;&#38;&#48;&#32;&#38;&#53;&#32;&#38;&#124;&#45;&#54;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"29\" width=\"375\" style=\"vertical-align: -8px;\"\/><\/p>\n<p>Sostituendo la nuova riga cos\u00ec ottenuta:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-46edaf1c77a00e460351314f03a01b6a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#65;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#49;&#38;&#49;&#32;&#38;&#49;&#32;&#92;&#92;&#32;&#48;&#38;&#45;&#50;&#32;&#38;&#45;&#50;&#32;&#92;&#92;&#32;&#48;&#38;&#48;&#32;&#38;&#53;&#32;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"185\" style=\"vertical-align: -36px;\"\/><\/p>\n<p>e il vettore b, che resta immutato:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-ca45f7bafb78da217327d91fa8394c9b_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#98;&#61;&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#49;&#92;&#92;&#48;&#32;&#92;&#92;&#45;&#54;&#92;&#101;&#110;&#100;&#123;&#98;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"84\" width=\"93\" style=\"vertical-align: -36px;\"\/> <\/p>\n<p>Il procedimento di eliminazione \u00e8 concluso, come si pu\u00f2 vedere la matrice A \u00e8 stata trasformata in una matrice triangolare superiore <strong>U <\/strong>e il vettore <strong>b <\/strong>\u00e8 pure trasformato in un nuovo vettore che nella tabella abbiamo chiamato <strong>c<\/strong>. A questo punto, partendo dal basso, \u00e8 agevole trovare le soluzioni del sistema lineare: <\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-86eeac14b99d6d0ee781e518702c211b_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#53;&#122;&#61;&#45;&#54;&#59;&#32;&#122;&#61;&#92;&#102;&#114;&#97;&#99;&#123;&#45;&#54;&#125;&#123;&#53;&#125;&#32;\" title=\"Rendered by QuickLaTeX.com\" height=\"29\" width=\"161\" style=\"vertical-align: -8px;\"\/><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-3a3a55778b43063c782dc8d71a0875f3_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#45;&#50;&#121;&#45;&#50;&#122;&#61;&#48;&#59;&#32;&#121;&#61;&#45;&#122;&#61;&#92;&#102;&#114;&#97;&#99;&#123;&#54;&#125;&#123;&#53;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"29\" width=\"261\" style=\"vertical-align: -8px;\"\/><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-034a4b7779426865db10dd718335b4bf_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#61;&#49;&#45;&#121;&#45;&#122;&#61;&#49;\" title=\"Rendered by QuickLaTeX.com\" height=\"21\" width=\"177\" style=\"vertical-align: -5px;\"\/> <\/p>\n<p>Le soluzioni allora sono:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-513383941942278331a781a6aef516a9_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#120;&#61;&#49;&#59;&#32;&#121;&#61;&#92;&#102;&#114;&#97;&#99;&#123;&#54;&#125;&#123;&#53;&#125;&#59;&#32;&#122;&#61;&#45;&#92;&#102;&#114;&#97;&#99;&#123;&#54;&#125;&#123;&#53;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"29\" width=\"206\" style=\"vertical-align: -8px;\"\/> <\/p>\n<h2>Algoritmo di eliminazione di Gauss in Python<\/h2>\n<p>Vi sono due variazioni rispetto al procedimento manuale: la prima \u00e8 che le righe vengono trasformate per sottrazione invece che per somma; la seconda \u00e8 che le righe trasformate non vengono sostituite alle righe originali della matrice A, solo gli elementi propri della matrice triangolare superiore vengono sostituiti. Infatti, gli elementi non appartenenti a U (matrice trasformata) sono irrilevanti per il calcolo delle soluzioni.<\/p>\n<pre><code>\r\nimport numpy as np\r\ndef gaussElim(a,b):\r\n    n = len(b)\r\n    # Fase di eliminazione\r\n    for k in range(0,n-1):\r\n        for i in range(k+1,n):\r\n            if a[i,k] != 0.0:\r\n                #se elemento non nullo calcolo lambda opportuno\r\n                lam = a [i,k]\/a[k,k]\r\n                #calcolo la nuova riga della matrice\r\n                a[i,k+1:n] = a[i,k+1:n] - lam*a[k,k+1:n]\r\n                #aggiorno il vettore b\r\n                b[i] = b[i] - lam*b[k]\r\n                # sostituzione all'indietro\r\n    for k in range(n-1,-1,-1):\r\n        b[k] = (b[k] - np.dot(a[k,k+1:n],b[k+1:n]))\/a[k,k]\r\n    \r\n    return b\r\n\r\n#inserisco i coefficienti iniziali\r\na=np.array([[1.0,1.0,1.0],[1.0,-1.0,-1.0],[1.0,-2.0,3.0]])\r\nb=np.array([1.0,1.0,-5.0])\r\naOrig = a.copy() # Salvo matrice originale\r\nbOrig = b.copy() #salvo vettore b iniziale\r\nx = gaussElim(a,b)\r\n#stampo la matrice A per verifica\r\nprint(a)\r\nprint(\"x =\\n\",x)\r\n#det = np.prod(np.diagonal(a)) #eventuale calcolo determinante\r\n#print(\"\\ndet =\",det)\r\n#eventuale calcolo precisione del risultato\r\nprint(\"\\nCheck risultato: [a]{x} - b =\\n\",np.dot(aOrig,x) - bOrig)\r\n<\/code><\/pre>\n<h2>Esecuzione:<\/h2>\n<pre>\r\n<code>\r\nPython 3.8.8 \r\n[evaluate ex-gauss.py]\r\nA=\r\n [[ 1.  1.  1.]\r\n [ 1. -2. -2.]\r\n [ 1. -3.  5.]]\r\nx =\r\n [ 1.   1.2 -1.2]\r\n\r\nCheck risultato: [a]{x} - b =\r\n [2.22044605e-16 0.00000000e+00 0.00000000e+00]\r\n\r\n<\/code>\r\n<\/pre>\n<p>Come si diceva, la matrice A non appare triangolarizzata ma solo perch\u00e8 gli elementi al di sotto della diagonale non vengono sostituiti effettivamente essendo irrilevanti per il calcolo delle soluzioni. Se guardiamo invece gli elementi diversi da zero di U:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techgoggler.com\/it\/wp-content\/ql-cache\/quicklatex.com-ae7cff56562c8d905c7bd268e81f7d13_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#92;&#98;&#101;&#103;&#105;&#110;&#123;&#66;&#109;&#97;&#116;&#114;&#105;&#120;&#125;&#32;&#97;&#95;&#123;&#49;&#49;&#125;&#38;&#97;&#95;&#123;&#49;&#50;&#125;&#32;&#38;&#97;&#95;&#123;&#49;&#51;&#125;&#32;&#38;&#97;&#95;&#123;&#50;&#50;&#125;&#32;&#38;&#97;&#95;&#123;&#50;&#51;&#125;&#32;&#38;&#97;&#95;&#123;&#51;&#51;&#125;&#32;&#92;&#92;&#92;&#101;&#110;&#100;&#123;&#66;&#109;&#97;&#116;&#114;&#105;&#120;&#125;\" title=\"Rendered by QuickLaTeX.com\" height=\"28\" width=\"316\" style=\"vertical-align: -8px;\"\/> <\/p>\n<p>essi corrispondono esattamente a quelli ottenuti nel nostro procedimento manuale.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Il metodo di eliminazione di Gauss si compone di due fasi: la fase di eliminazione e quella di sostituzione all&#8217;indietro. <a class=\"mh-excerpt-more\" href=\"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/\" title=\"Equazioni lineari con Python: metodo di eliminazione di Gauss\"><\/a><\/p>\n<\/div>","protected":false},"author":10,"featured_media":3303,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[116],"tags":[137,267,138],"class_list":{"0":"post-3255","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-informatica","8":"tag-algoritmi","9":"tag-learning-informatica","10":"tag-python"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Equazioni lineari con Python: metodo di eliminazione di Gauss - the Tech Goggler<\/title>\n<meta name=\"description\" content=\"Il metodo di eliminazione di Gauss si compone di due fasi: la fase di eliminazione e quella di sostituzione all&#039;indietro.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Equazioni lineari con Python: metodo di eliminazione di Gauss - the Tech Goggler\" \/>\n<meta property=\"og:description\" content=\"Il metodo di eliminazione di Gauss si compone di due fasi: la fase di eliminazione e quella di sostituzione all&#039;indietro.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/\" \/>\n<meta property=\"og:site_name\" content=\"the Tech Goggler\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-07T16:37:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-16T15:25:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/03\/sis-eq-lin-python-gauss.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"678\" \/>\n\t<meta property=\"og:image:height\" content=\"381\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Carlo Bazzo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@carlobazzo\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Carlo Bazzo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/\"},\"author\":{\"name\":\"Carlo Bazzo\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#\\\/schema\\\/person\\\/3d651f2f0fab48cd6bd478b558b65f73\"},\"headline\":\"Equazioni lineari con Python: metodo di eliminazione di Gauss\",\"datePublished\":\"2022-03-07T16:37:00+00:00\",\"dateModified\":\"2023-04-16T15:25:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/\"},\"wordCount\":1007,\"publisher\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/03\\\/sis-eq-lin-python-gauss.jpg\",\"keywords\":[\"Algoritmi\",\"learning informatica\",\"Python\"],\"articleSection\":[\"Informatica\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/\",\"url\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/\",\"name\":\"Equazioni lineari con Python: metodo di eliminazione di Gauss - the Tech Goggler\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/03\\\/sis-eq-lin-python-gauss.jpg\",\"datePublished\":\"2022-03-07T16:37:00+00:00\",\"dateModified\":\"2023-04-16T15:25:21+00:00\",\"description\":\"Il metodo di eliminazione di Gauss si compone di due fasi: la fase di eliminazione e quella di sostituzione all'indietro.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/#primaryimage\",\"url\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/03\\\/sis-eq-lin-python-gauss.jpg\",\"contentUrl\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/03\\\/sis-eq-lin-python-gauss.jpg\",\"width\":678,\"height\":381,\"caption\":\"Risolvere i sistemi lineari con Python: metodo di eliminazione di Gauss\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Equazioni lineari con Python: metodo di eliminazione di Gauss\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/\",\"name\":\"the Tech Goggler\",\"description\":\"Tech for decision makers\",\"publisher\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#organization\",\"name\":\"HDEMO SNC\",\"url\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/01\\\/squared.jpg\",\"contentUrl\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/01\\\/squared.jpg\",\"width\":360,\"height\":360,\"caption\":\"HDEMO SNC\"},\"image\":{\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/#\\\/schema\\\/person\\\/3d651f2f0fab48cd6bd478b558b65f73\",\"name\":\"Carlo Bazzo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/11\\\/cropped-foto-96x96.jpg\",\"url\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/11\\\/cropped-foto-96x96.jpg\",\"contentUrl\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/11\\\/cropped-foto-96x96.jpg\",\"caption\":\"Carlo Bazzo\"},\"description\":\"Sysadmin &amp; network eng. @Epysoft, editor @TheTechGoggler, CTO @HDEMO. Former developer @MSFT @GOOG. Former MOps consultant @XRX @HPQ. LinkedIn: it.linkedin.com\\\/in\\\/carlobazzo\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/carlobazzo\"],\"url\":\"https:\\\/\\\/techgoggler.com\\\/it\\\/author\\\/carlobazzo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Equazioni lineari con Python: metodo di eliminazione di Gauss - the Tech Goggler","description":"Il metodo di eliminazione di Gauss si compone di due fasi: la fase di eliminazione e quella di sostituzione all'indietro.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/","og_locale":"it_IT","og_type":"article","og_title":"Equazioni lineari con Python: metodo di eliminazione di Gauss - the Tech Goggler","og_description":"Il metodo di eliminazione di Gauss si compone di due fasi: la fase di eliminazione e quella di sostituzione all'indietro.","og_url":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/","og_site_name":"the Tech Goggler","article_published_time":"2022-03-07T16:37:00+00:00","article_modified_time":"2023-04-16T15:25:21+00:00","og_image":[{"width":678,"height":381,"url":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/03\/sis-eq-lin-python-gauss.jpg","type":"image\/jpeg"}],"author":"Carlo Bazzo","twitter_card":"summary_large_image","twitter_creator":"@carlobazzo","twitter_misc":{"Scritto da":"Carlo Bazzo","Tempo di lettura stimato":"6 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/#article","isPartOf":{"@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/"},"author":{"name":"Carlo Bazzo","@id":"https:\/\/techgoggler.com\/it\/#\/schema\/person\/3d651f2f0fab48cd6bd478b558b65f73"},"headline":"Equazioni lineari con Python: metodo di eliminazione di Gauss","datePublished":"2022-03-07T16:37:00+00:00","dateModified":"2023-04-16T15:25:21+00:00","mainEntityOfPage":{"@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/"},"wordCount":1007,"publisher":{"@id":"https:\/\/techgoggler.com\/it\/#organization"},"image":{"@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/#primaryimage"},"thumbnailUrl":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/03\/sis-eq-lin-python-gauss.jpg","keywords":["Algoritmi","learning informatica","Python"],"articleSection":["Informatica"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/","url":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/","name":"Equazioni lineari con Python: metodo di eliminazione di Gauss - the Tech Goggler","isPartOf":{"@id":"https:\/\/techgoggler.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/#primaryimage"},"image":{"@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/#primaryimage"},"thumbnailUrl":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/03\/sis-eq-lin-python-gauss.jpg","datePublished":"2022-03-07T16:37:00+00:00","dateModified":"2023-04-16T15:25:21+00:00","description":"Il metodo di eliminazione di Gauss si compone di due fasi: la fase di eliminazione e quella di sostituzione all'indietro.","breadcrumb":{"@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/#primaryimage","url":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/03\/sis-eq-lin-python-gauss.jpg","contentUrl":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/03\/sis-eq-lin-python-gauss.jpg","width":678,"height":381,"caption":"Risolvere i sistemi lineari con Python: metodo di eliminazione di Gauss"},{"@type":"BreadcrumbList","@id":"https:\/\/techgoggler.com\/it\/risolvere-sistemi-lineari-python-metodo-eliminazione-di-gauss\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techgoggler.com\/it\/"},{"@type":"ListItem","position":2,"name":"Equazioni lineari con Python: metodo di eliminazione di Gauss"}]},{"@type":"WebSite","@id":"https:\/\/techgoggler.com\/it\/#website","url":"https:\/\/techgoggler.com\/it\/","name":"the Tech Goggler","description":"Tech for decision makers","publisher":{"@id":"https:\/\/techgoggler.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techgoggler.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/techgoggler.com\/it\/#organization","name":"HDEMO SNC","url":"https:\/\/techgoggler.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/techgoggler.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2019\/01\/squared.jpg","contentUrl":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2019\/01\/squared.jpg","width":360,"height":360,"caption":"HDEMO SNC"},"image":{"@id":"https:\/\/techgoggler.com\/it\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/techgoggler.com\/it\/#\/schema\/person\/3d651f2f0fab48cd6bd478b558b65f73","name":"Carlo Bazzo","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/11\/cropped-foto-96x96.jpg","url":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/11\/cropped-foto-96x96.jpg","contentUrl":"https:\/\/techgoggler.com\/it\/wp-content\/uploads\/sites\/2\/2022\/11\/cropped-foto-96x96.jpg","caption":"Carlo Bazzo"},"description":"Sysadmin &amp; network eng. @Epysoft, editor @TheTechGoggler, CTO @HDEMO. Former developer @MSFT @GOOG. Former MOps consultant @XRX @HPQ. LinkedIn: it.linkedin.com\/in\/carlobazzo","sameAs":["https:\/\/x.com\/carlobazzo"],"url":"https:\/\/techgoggler.com\/it\/author\/carlobazzo\/"}]}},"_links":{"self":[{"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/posts\/3255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/comments?post=3255"}],"version-history":[{"count":3,"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/posts\/3255\/revisions"}],"predecessor-version":[{"id":3308,"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/posts\/3255\/revisions\/3308"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/media\/3303"}],"wp:attachment":[{"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/media?parent=3255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/categories?post=3255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techgoggler.com\/it\/wp-json\/wp\/v2\/tags?post=3255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}