CostantiniMatteo / progetto-mcs

Progetto Metodi del Calcolo Scientifico

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Progetto Metodi del Calcolo Scientifico

Progetto 1

Studio dell'implementazione di algoritmi di risoluzione diretta di sistemi lineari (Ax=b) per matrici sparse di librerie open source e confronto con l'implementazione in MATLAB.

I parametri analizzati sono:

  • Tempi di calcolo
  • Errore relativo della soluzione trovata rispetto alla soluzione esatta
  • Memoria utilizzata per la risoluzione
  • Semplicità di utilizzo della libreria
  • Chiarezza della documentazione

Linguaggi utilizzati

MATLAB

Per la risoluzione di sistemi lineari del tipo Ax=b si utilizza la funzione mldivide (equivalente all'operatore \).

Python

In Python è stata utilizzata la libreria scipy, in particolare la funzione spsolve di scipy.sparse.linalg specifica per la risoluzione di sistemi lineari la cui matrice A è sparsa.

Progetto 2

Nella prima parte del progetto abbiamo implementato la DCT come spiegata a lezione ed abbiamo poi confrontato i tempi di esecuzione della nostra implementazione con quella della libreria scelta.

Nella seconda parte abbiamo implementato un'interfaccia minimale tramite la quale è possibile scegliere un'immagine su cui applicare un'alterazione nel dominio delle frequenze. In particolare viene calcolata la DCT dell'immagine e viene alterata in funzione dei parametri d e β. Le frequenze della DCT a partire dalla d-esima antidiagonale verranno moltiplicate per β, viene poi applicata l'IDCT e confrontata l'immagine originale con quella ottenuta dopo la trasformazione.

Linguaggio scelto

Anche per questa parte abbiamo scelto Python e la libreria scipy, in questo caso il modulo utilizzato è scipy.fftpack che implementa diverse trasformate tra cui FFT e DCT.

Studenti

  • Matteo Colella, 794028
  • Matteo Angelo Costantini, 795125
  • Dario Gerosa, 793636

About

Progetto Metodi del Calcolo Scientifico


Languages

Language:Python 81.2%Language:MATLAB 18.8%