Estratto del documento

Pivoting con Inversione Virtuale di Righe

4

Routine

  • integer Pivot(real(n, n) A in/out, integer(n) ipiv out, integer n in)

Sottoprogrammi

  • integer IMaxCol (vedi Appendice)

File

  • PIVOPAR2.FOR

Problema

Nel capitolo 3 è stato usato l'abbinamento PivoParz/BackSub (oppure PivoParz/BackCol) per risolvere un sistema lineare. Potrebbero sorgere, tuttavia, alcune obiezioni. La prima è che l'eliminazione di Gauss è un problema separato dalla risoluzione di sistemi la seconda è che si potrebbe desiderare risolvere più sistemi con la stessa matrice dei coefficienti. Un approccio più efficiente alla risoluzione dei sistemi è, quindi, quello di svincolare l'eliminazione di Gauss dal vettore dei termini noti, fornendo comunque le informazioni necessarie per l'adattamento di tale vettore alla matrice triangolarizzata.

Pivoting con Inversione Virtuale di Righe

4

Routine

  • integer Pivot(real(n, n) A in/out, integer(n) ipiv out, integer n in)

Sottoprogrammi

  • integer IMaxCol (vedi Appendice)

File

  • PIVOPAR2.FOR

Problema

Nel capitolo 3 è stato usato l'abbinamento PivoParz/BackSub (oppure PivoParz/BackCol) per risolvere un sistema lineare. Potrebbero sorgere, tuttavia, alcune obiezioni. La prima è che l'eliminazione di Gauss è un problema separato dalla risoluzione di sistemi la seconda è che si potrebbe desiderare risolvere più sistemi con la stessa matrice dei coefficienti. Un approccio più efficiente alla risoluzione dei sistemi è, quindi, quello di svincolare l'eliminazione di Gauss dal vettore dei termini noti, fornendo comunque le informazioni necessarie per l'adattamento di tale vettore alla matrice triangolarizzata.

PIVOT

Scopo

Eseguire l'eliminazione di Gauss con pivoting parziale, fornendo, eventualmente, dei dati per l'adattamento del vettore dei termini noti.

Descrizione dell'algoritmo

L'algoritmo di questa funzione è analogo a quello di pivoparz (cap. 3), eccetto per il fatto che non coinvolge il vettore dei termini noti e che le inversioni non avvengono effettivamente sulla matrice, ma vengono eseguite graze a un vettore di interi.

Osservazioni / Raccomandazioni

BackSub e BackCol non sono adatte a risolvere sistemi le cui matrici sono state triangolarizzate da Pivot. Servirsi, piuttosto di InvSolve (Cap.5).

Specifiche

integer function Pivot(A, ipiv, n)

  • Pivot            integer function      codice di avvertimento:                         0:   tutto ok                            1:   matrice singolare, l'elaborazione è comunque completata
  • A (in/out)     real(n, n)  (in) matrice da triangolarizzare, (out) matrice triangolare superiore relativamente a ipiv
  • ipiv (out)       integer(n)   (out) vettore inversioni, indica la sequenza corretta di indici di riga con cui considerare la matrice in uscita affinché risulti triangolare alta
  • n (in)          integer    ordine del problema

Sottoprogrammi

[MaxCol (Appendice)]

Tempo di esecuzione

Come pivoparz (cap. 3), eccetto per il fatto che non esegue effettivamente le inversioni sulla matrice e non coinvolge il vettore dei termini noti.

Memoria richiesta

Nessun array locale.

Accuratezza

In relazione al condizionamento del sistema.

Esempio

Vedi cap. 5

PIVOPAR2.FOR

c   PIVOPAR2.FOR

c   Algoritmo di Gauss con Pivoting Parziale

c   con inversione VIRTUALE

c   Versione kij

c   A matrice quadrata (in); matrice triangolarizzata (out)

c   n ordine (in)

c   ipiv vettore inversione (out)

c   La funzione restituisce 1 se la matrice é singolare.

c   Integer function Pivot(A,ipiv,n)

c   integer n

c   real A(n,n)

c   integer ipiv(n)

Anteprima
Vedrai una selezione di 1 pagina su 3
Calcolo numerico - Pivoting con inversione virtuale di righe Pag. 1
1 su 3
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Menzo di informazioni apprese con la frequenza delle lezioni di Calcolo numerico e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof D'Alessio Alessandra.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community