I sistemi lineari sparsi si presentano con frequenza crescente nelle applicazioni. Uno ha molte routine tra cui scegliere per risolvere questi sistemi. Al livello più alto, esiste uno spartiacque tra i metodi diretti (ad es. Eliminazione gaussiana sparsa o decomposizione di Cholesky, con speciali algoritmi di ordinamento e metodi multifrontali) e metodi iterativi (ad es. GMRES, (bi) coniugato gradiente).
Come si determina se utilizzare un metodo diretto o iterativo? Dopo aver fatto questa scelta, come si sceglie un algoritmo particolare? Conosco già lo sfruttamento della simmetria (ad esempio, usare il gradiente coniugato per un sistema definito positivo simmetrico rado), ma ci sono altre considerazioni come questa da prendere in considerazione nella scelta di un metodo?