Forum Studenti Ingegneria dell'Università di Padova
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?
27 Novembre 2009, 01:46:54

Accesso con nome utente, password e durata della sessione
Ricerca:     Ricerca avanzata
Consiglio: Vai su: Profilo -> Notifiche ed e-mail -> Spuntare:
- Ricevi le notifiche di risposta solo per il primo nuovo messaggio
- Attiva le notifiche ogni volta che si scrive un messaggio o si risponde ad una discussione

Sciegliere sotto: Risposte e Moderazione
1849 Messaggi in 310 Discussioni da 356 utenti
Ultimo utente: chicca86
* Indice Aiuto Tag Ricerca Agenda Accedi Registrati
Forum Studenti Ingegneria dell'Università di Padova  |  Area  |  Ingegneria  |  Ingegneria Settore Civile e dell'Architettura  |  Discussione: Metodi Numerici 0 utenti e 1 Utente non registrato stanno visualizzando questa discussione. « precedente successivo »
Pagine: [1] Vai giù Stampa





Autore Discussione: Metodi Numerici  (Letto 331 volte)
Zannas
Administrator
Hero Member
*****
Scollegato Scollegato

Sesso: Maschio
Messaggi: 558



Mostra profilo WWW
« inserito:: 17 Ottobre 2009, 19:52:09 »

Ciao, qualcuno del forum sta seguendo questo corso?
Registrato

OriginalP
Newbie
*
Scollegato Scollegato

Sesso: Maschio
Messaggi: 30



Mostra profilo
« Risposta #1 inserito:: 18 Ottobre 2009, 14:23:37 »

Ciao, qualcuno del forum sta seguendo questo corso?

Io lo sto seguendo con il prof. Gambolati (Ing. Mecc.)
Registrato
Zannas
Administrator
Hero Member
*****
Scollegato Scollegato

Sesso: Maschio
Messaggi: 558



Mostra profilo WWW
« Risposta #2 inserito:: 18 Ottobre 2009, 15:02:17 »

Ciao, qualcuno del forum sta seguendo questo corso?


Io lo sto seguendo con il prof. Gambolati (Ing. Mecc.)
da voi è obbligatorio questo corso?
Comunque, è arrivato al calcolo degli autovettori? http://dispense.dmsa.unipd.it/gambolati/metodi/lucidi_metodi_num/03-Calcolo_autovalore_minimo.pdf
Io ho perso questa lezione e mi servirebbero un minimo di appunti giusto per capire se ha fatto cose in più o viste in modo diverso dal libro
« Ultima modifica: 18 Ottobre 2009, 15:09:35 da Zannas » Registrato

OriginalP
Newbie
*
Scollegato Scollegato

Sesso: Maschio
Messaggi: 30



Mostra profilo
« Risposta #3 inserito:: 18 Ottobre 2009, 15:25:15 »

Ciao, qualcuno del forum sta seguendo questo corso?


Io lo sto seguendo con il prof. Gambolati (Ing. Mecc.)
da voi è obbligatorio questo corso?
Comunque, è arrivato al calcolo degli autovettori? http://dispense.dmsa.unipd.it/gambolati/metodi/lucidi_metodi_num/03-Calcolo_autovalore_minimo.pdf
Io ho perso questa lezione e mi servirebbero un minimo di appunti giusto per capire se ha fatto cose in più o viste in modo diverso dal libro


È ancora al gradiente coniugato. Ci son state due lezioni in cui è venuta l'assistente a spiegare richiami di Fortran e la prima esercitazione da portare all'esame
Registrato
Zannas
Administrator
Hero Member
*****
Scollegato Scollegato

Sesso: Maschio
Messaggi: 558



Mostra profilo WWW
« Risposta #4 inserito:: 31 Ottobre 2009, 12:05:13 »

Salve ragazzi, stavo cercando di applicare il GCM alla matrice che ci han dato  al corso di Calcolo Numerico. La sobroutine Kersh per la decomposta incompleta di Cholesky non sembra mi funzioni molto bene...
Ecco la matrice A:


Quindi: `n=9`
`nt=33`
Il vettore SYSMAT:`(4,-1,-1,-1,4,-1,-1,-1,4,-1,-1,4,-1,-1,-1,-1,4,-1,-1,-1,-1,4,-1,-1,4,-1,-1,-1,4,-1,-1,-1,4)^T`

Il vettore JA:`(1,2,3,1,2,3,5,2,3,6,1,4,5,7,2,4,5,6,8,3,5,6,9,4,7,8,5,7,8,9,6,8,9)^T`
Il vettore IA:`(1,4,8,11,15,20,24,27,31,34)^T`

Il vettore PREC sputato fuori dalla subroutine Kersh é:
`((2.),(-0.5),(-0.5),(6.),(2.),(-1.875),(-1.5),(6.44444444),(0.666666667),(-0.277777778),(6.85113871),(0.620689655),(-0.337240787),(-0.251486326),(7.19215508),(-0.146419314),(0.585677255),(-0.309922359),(-0.232173775),(7.48371227),(-0.139417165),(0.55766866),(-0.217165748),(7.78596251),(0.534494093),(-0.271309698),(8.03445697),(-0.128710131),(0.514840522),(-0.194975321),(8.03445697),(0.),(0.))`
Gli "errori" che mi dà in risposta la subroutine Kersh sono:
Citazione
*** Subroutine Kersh: diagonal element <= zero at position:     4      -0.12500E+01
***** using previous diagonal value:   0.20000000E+01
*** Subroutine Kersh: diagonal element <= zero at position:     8      -0.47656E+01
***** using previous diagonal value:   0.60000000E+01
*** Subroutine Kersh: diagonal element <= zero at position:    11      -0.10000E+01
***** using previous diagonal value:   0.64444444E+01
*** Subroutine Kersh: diagonal element <= zero at position:    15      -0.33132E+01
***** using previous diagonal value:   0.68297001E+01
*** Subroutine Kersh: diagonal element <= zero at position:    20      -0.11311E+01
***** using previous diagonal value:   0.71727179E+01
*** Subroutine Kersh: diagonal element <= zero at position:    24      -0.10632E+01
***** using previous diagonal value:   0.74837123E+01
*** Subroutine Kersh: diagonal element <= zero at position:    27      -0.10959E+01
***** using previous diagonal value:   0.77693962E+01
*** Subroutine Kersh: diagonal element <= zero at position:     9      -0.10852E+01
***** using previous diagonal value:   0.80344570E+01

non è normale vero che alla fine di PREC vi siano 2 elementi nulli vero?
Idee? Ho solo applicato Kesh.f!
« Ultima modifica: 16 Novembre 2009, 00:13:27 da Zannas » Registrato

OriginalP
Newbie
*
Scollegato Scollegato

Sesso: Maschio
Messaggi: 30



Mostra profilo
« Risposta #5 inserito:: 01 Novembre 2009, 17:49:31 »

Io non ho ancora svolto quella esercitazione, ma non ti converrebbe testare il tuo programma con una matrice più piccola (es 4x4) per confrontare i risultati ottenuti con il programma e quelli ottenuti manualmente?
Registrato
OriginalP
Newbie
*
Scollegato Scollegato

Sesso: Maschio
Messaggi: 30



Mostra profilo
« Risposta #6 inserito:: 04 Novembre 2009, 19:22:47 »

ho provato anche io e ottengo gli stessi tuoi risultati
Registrato
Zannas
Administrator
Hero Member
*****
Scollegato Scollegato

Sesso: Maschio
Messaggi: 558



Mostra profilo WWW
« Risposta #7 inserito:: 04 Novembre 2009, 19:27:28 »

ho provato anche io e ottengo gli stessi tuoi risultati
ho riprovato come mi avevi suggerito tu con una matrice 4x4 (grazie Manuel per avermela fornita). Ho capito che quello che sbagliavo è che fornivo l'intera matrice, invece deve essere inserita solo la triangolare superiore (usiamo infatti matrici simmetrice e definite positive) salvata con il metodo CRS.
Ora penso di implementare il prima possibile Reyleight e poi riproverò con la matrice 9x9 di calcolo numerico.
Registrato

Zannas
Administrator
Hero Member
*****
Scollegato Scollegato

Sesso: Maschio
Messaggi: 558



Mostra profilo WWW
« Risposta #8 inserito:: 15 Novembre 2009, 13:10:09 »

Mamma mia...ma quanto è tr*** la matrice 48x48 che ci han dato da provare! Sopratutto se ci si mette a cercare l'autovalore minimo! Circa 49000 iterazioni per aver una precisione di `10^-7`!!! E' gustoso però vedere la CPU del PC sofferente!! Ah Ah Ah
Risulta anche a voi?
Registrato

OriginalP
Newbie
*
Scollegato Scollegato

Sesso: Maschio
Messaggi: 30



Mostra profilo
« Risposta #9 inserito:: 15 Novembre 2009, 13:59:22 »

Noi di ing. meccanica non abbiamo l'esercitazione sul calcolo degli autovalori, quindi, se vuoi, posso darti come confronto solo i valori che ho ricavato per la seconda esercitazione sul gradiente coniugato modificato.
Registrato
Zannas
Administrator
Hero Member
*****
Scollegato Scollegato

Sesso: Maschio
Messaggi: 558



Mostra profilo WWW
« Risposta #10 inserito:: 15 Novembre 2009, 23:53:03 »

Noi di ing. meccanica non abbiamo l'esercitazione sul calcolo degli autovalori, quindi, se vuoi, posso darti come confronto solo i valori che ho ricavato per la seconda esercitazione sul gradiente coniugato modificato.
Al momento vista l'ora carico solo i grafici di convergenza delle varie matrici, così possiamo discuterne e confrontarne un pò l'andamento...
Nota: tranne la ricerca dell'autovalore minimo e massimo, i grafici relativi al GCM sono presi per risolvere un problema con termine noto unitario (per capirsi `vec b=[1,1,1,....,1]^T` e con `vec x_0 = [0,0,...,0]^T`
Domani o in settimana dovrò anche riscrivere meglio il codice del CGM (devo staccare la parte delle Correzioni Residue dal GCM stesso)
Intanto:
Matrice 9x9 data a Calcolo Numerico (vedi sopra)



Vettore Soluzione:
`vec x = ((0.6875),(0.875),(0.6875),(0.875),(1.125),(0.875),(0.6875),(0.875),(0.6875))`
`lambda_n=1.17157288`
`vec v_n=((0.842954356),(1.19211748),(0.842954356),(1.19211748),(1.68590871),(1.19211748),(0.842954356),(1.19211748),(0.842954356))`
`lambda_1=6.82842712`
`vec v_1=((0.250000004),(-0.353553391),(0.250000004),(-0.353553391),(0.499999991),(-0.353553391),(0.250000004),(-0.353553391),(0.250000004))`

Matrice 48x48




Vettore soluzione: `vec x= ((0.000335667076),(3.59115768E-006),(8.77033532E-005),(3.34230027E-008),(-1.43883264E-007),(-6.38659204E-008),(0.00015592896),(2.91595248E-006),(8.77000031E-005),(3.32134783E-008),(-1.39621638E-007),(-6.05909231E-008),(0.000155944476),(-1.24297723E-006),(0.000104768961),(-2.08309665E-08),(-1.4531924E-007),(-6.37615957E-008),(0.000335657214),(1.76477397E-006),(0.000105739382),(1.35581645E-008),(-1.42420792E-007),(-6.76969885E-008),(0.000197404787),(2.1522149E-007),(6.15461883E-005),(1.00698963E-007),(-1.86127324E-007),(-1.54127365E-006),(9.54325524E-005),(2.01871354E-006),(6.1537878E-005),(1.00920125E-007),(-1.32721228E-007),(-1.27320848E-007),(9.5419131E-005),(-9.53751198E-007),(0.000101852929),(1.51484636E-007),(-1.02786275E-007),(-1.27045852E-007),(0.000197279249),(1.58274496E-006),(0.00010253161),(8.53880094E-008),(-2.95566785E-007),(-1.51046779E-006))`
`lambda_1=3.01517938E+009`
`vec v_1=((-1.20719091E-006),(-9.66460599E-007),(9.95595236E-007),(9.99304607E-007),(-0.000274951335),(-0.000277210959),(0.000545749477),(0.000324505015),(8.12435731E-006),(1.1074333E-006),(-0.00131340903),(0.0876396804),(0.000561536827),(-0.000324837593),(-8.01190621E-006),(-0.000108340114),(-0.0075078818),(0.0893120163),(-2.93801177E-006),(1.05774856E-006),(-8.50594008E-007),(-3.11969888E-005),(-0.000816881994),(-0.000246060547),(3.37376926E-008),(-2.23276421E-008),(-1.03503462E-009),(8.14633052E-006),(-1.29816732E-005),(-0.000708960702),(3.64357864E-005),(0.00323495301),(7.54599449E-007),(8.31574135E-006),(-0.000131244244),(0.701466936),(3.68313265E-005),(-0.00323515702),(-8.19581077E-007),(-7.46684525E-005),(-0.00052389614),(0.701565493),(-1.372766E-005),(4.67861497E-007),(1.25178956E-008),(-0.000187789844),(-0.00332661919),(-7.11694421E-006))`

Matrice 90x90




Matrice 100x100




Matrice 132x132




Matrice 1138x1138




PS: alcune matrici non pubblicate le ho trovate sempre nel sito delle dispense/esercitazioni di Gambolati. Basta cercare con Google:
ES: matrici 1138 site:dmsa.unipd.it

Appena posso aggiungo commenti / note e soluzioni del sistema. Dato che devo leggermente editare il programma che avevo creato spero di non giungere con la nuova versione a risultati diversi  Shocked Shocked
Vi farò sapere...
« Ultima modifica: 18 Novembre 2009, 20:40:05 da Zannas » Registrato

OriginalP
Newbie
*
Scollegato Scollegato

Sesso: Maschio
Messaggi: 30



Mostra profilo
« Risposta #11 inserito:: 18 Novembre 2009, 11:19:04 »

Ecco i risultati relativi alle mie prove.
Ho eseguito i test sulle 3 matrici di prova da analizzare per l'esame presenti qui e su altre trovate sul sito.
Come da consegna, ho usato come termine noto b quello costruito facendo la somma degli elementi di ciascuna riga di A in modo che la soluzione esatta sia data dal vettore x con elementi tutti uguali a 1.
Le prove sono fatte con un numero di correzioni residue (NCR) variabile (NCR = 0, implica partire da x = K^−1*b) e distinguendo fra l'uso del precondizionatore diagonale (D) e quello ottenuto con la fattorizzazione incompleta di Cholesky (LLT)

48x48


100x100


132x132


112x112


153x153


1138x1138


Ovviamente dovete prendere i miei risultati con le pinze, non sono sicuro siano corretti.
Registrato





Tags: Metodi Numerici  Gambolati 
| More




Ingegneria Padova Home

Pagine: [1] Vai su Stampa 
Forum Studenti Ingegneria dell'Università di Padova  |  Area  |  Ingegneria  |  Ingegneria Settore Civile e dell'Architettura  |  Discussione: Metodi Numerici « precedente successivo »
Vai a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.9 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 valido! CSS valido!
Pagina creata in 0.269 secondi con 22 query.