Struttura:
psblas:
psblas/src: la directory contenente il codice sorgente
psblas/src/comm: contiene tutte le routine preposte allo scambio di
		 dati 
psblas/src/internals: contiene una serie di routine utilizzate per
		 l'assemblaggio dei descrittori di comunicazione e per
		 lo scambio di dati (psi_dswap_data e psi_dswap_tran)
psblas/src/methd: contiene l'implementazione dei metodi iterativi
psblas/src/modules: contiene i moduli con le interfacce, le
		 definizioni di tipi e di costanti
psblas/src/prec: contiene tutte le routine preposte alla generazione e
		 applicazione dei precondizionatori
psblas/src/psblas: contiene le routine algebriche parallele
psblas/src/serial: contiene l'implementazione seriale di routine
		 algebriche e ausiliarie
psblas/src/serial/aux: routine ausiliarie (in realtà c'è rimasto be poco)
psblas/src/serial/coo: routine relative al formato coo
psblas/src/serial/csr: routine relative al formato csr
psblas/src/serial/dp: routine per l'assemblaggio e la conversione da
		 un formato all'altro
psblas/src/serial/f77: si tratta delle routine algebriche. queste
		 vengono chiamate all'interno delle routine in
		 psblas/src/psblas. 
psblas/src/serial/jad: routine relative al formato jad
psblas/src/tools: tutte le routine per la generazione e rigenerazione
		 di descrittori e matrici
psblas/test: programmi di test


Schema di nomenclatura:
tutti i simboli (quindi routine, tipi dato, costanti, moduli etc...)
devono avere il prefisso psb_. I tipi hanno il suffisso "_type" (quindi
quello che prima era d_spmat adesso diventa psb_dspmat_type), tutti i
moduli hanno il suffisso "_mod".


Interfacce subroutine & argomenti:
l'articolo di Carney et al. richiede questa convenzione per l'ordine
degli argomenti:
1-  arguments specifying options (tipo TRANS, UNITD etc...)
2-  arguments specifying problem dimensions
3-  input scalar associated with input matrices
4-  description of sparse input matrices (che sarebbe i nostri FIDA e
    DESCRA)
5-  description of dense input matrices
6-  input scalar associated with input-output matrices
7-  description of input-output matrices
8-  error processing informations
9-  workspace
10- length of workspace

tutto questo va rivisto nell'ottica f90 e, quindi, con i tipi dato
user-defined e con gli argomenti opzionali.
Attualmente, in linea di massima, le interfacce delle routine
algebriche hanno sempre desc_a (il descrittore) e info (il codice di
errore riportato) nelle ultime posizioni prima dei parametri
opzionali. I parametri opzionali contengono sempre gli argomenti al
punto 1 oltre che jx, jy e k che definiscono il sottopreblema su cui
effettuare l'operazione richiesta. Per tutto il resto non c'è uno
schema ben definito e viene, generalmente seguito l'ordine con cui gli
operandi appaiono nella scrittura della formula matematica relativa
all'operazione implementata nella subroutine. si potrebbe pensare a
come risistemare la cosa ma secondo me è abbastanza chiara.