DreamSpark – download gratuito di software Microsoft

Navigando in rete, ieri sono venuto a conoscenza di Microsoft DreamSpark. Si tratta di un’iniziativa Microsoft creata per offrire agli studenti l’accesso gratuito a una serie di strumenti professionali per lo sviluppo e il design. Lo scopo di questo programma è quello di fornire agli studenti il software necessario per innovare ed acquisire le competenze necessarie per avviarsi al mondo del lavoro.

Continue reading “DreamSpark – download gratuito di software Microsoft”

Sistemi Informativi – Analisi del portale del comune di Firenze

Il processo di modernizzazione della pubblica amministrazione (PA) utilizza sempre di più le tecnologie telematiche come strumento per semplificare e personalizzare i rapporti tra cittadino e amministrazioni. La maggior parte delle iniziative intraprese sono incentrate sull’implementazione del web che diventa di fatto un ufficio virtuale, atto alla comunicazione e all’interazione con l’utenza. Uno degli obiettivi primari delle amministrazioni centrali e locali è dunque quello di incrementare l’uso del sito web come “virtual office” sempre più alternativo, e in alcuni casi esclusivo, rispetto a quello tradizionale.

Continue reading “Sistemi Informativi – Analisi del portale del comune di Firenze”

Matrici Sparse e metodi iterativi di Jacobi e Gauss-Seidel

I metodi più efficienti per risolvere un sistema di tipo sparso sono quelli che non effettuano operazioni inutili coinvolgenti gli elementi nulli in esse presenti. Un metodo diretto come il classico algoritmo di Gauss non possiede tale caratteristica. Esso modifica la matrice dei coefficienti non preservandone la sparsità, poiché genera elementi non nulli in corrispondenza di elementi nulli della matrice originaria (fenomeno detto riempimento o fill in). La principale caratteristica di un metodo di risoluzione di un sistema sparso è quella di non modificare la matrice dei coefficienti così da ridurre complessità di tempo e spazio. Si possono così usare le particolari tecniche di memorizzazione (CSR e CSC ad esempio viste nel precedente articolo) che riducono la complessità di spazio e consentono una “facile gestione” in memoria di sistemi di grandi dimensioni. La sparsità di una matrice si può perdere se si eseguono alcune operazioni di algebra lineare, come l’algoritmo di Gauss e la fattorizzazione LU, con i quali otteniamo una matrice trasformata ed i fattori L ed U molto più “pieni” della matrice di partenza. Quindi, se il sistema è sparso e di grandi dimensioni è necessario l’utilizzo di metodi che non alterano la struttura della matrice e non effettuano operazioni su elementi nulli. I metodi usati per risolvere sistemi sparsi di grandi dimensioni sono metodi iterativi. Essi generano, a partire da una approssimazione iniziale, una successione di vettori che, in opportune ipotesi, converge alla soluzione del sistema. Una tecnica generale per costruire la successione di vettori è basata sullo splitting della matrice dei coefficienti. A seconda dello splitting generato si distinguono diversi metodi iterativi. Non scendiamo nel dettaglio della descrizione degli algoritmi, riportando alcuni link che si occupano di analizzare il formalismo algoritmico. Di seguito si riporta l’archivio contenente gli elaborati che in MATLAB implementano i metodi iterativi di Jacobi e Gauss-Seidel, sviluppati per l’esame di Calcolo Numerico 2. L’unica differenza che ci preme far notare rispetto ai link riportati è che nel caso Gauss-Seidel lo splitting da noi considerato è leggermente diverso: M=D+L e N=-U.

[dm]3[/dm]