Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-12-2005, 18:05   #1
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
calcolo del determinante di una matrice

salve a tutti
in questi (pochi) giorni di vacanza, giusto per riprendere la mano con il c/c++ ho deciso di farmi un modulo contenente una classe e vari overloading di operatori per il calcolo matriciale. per ora ho implementato il prodotto, la somma, la differenza, la trasposta e mi sto cimentando con il calcolo del determinante. posto che vorrei usare lo sviluppo di laplace (non so se ci sono metodi piu efficienti, ma questo conosco e tanto questo modulo è piu un esercizio che qualcosa di veramente serio ),
la mia domanda è: chi sa qualcosa di calcolo matriciale saprà anche che ci sono un paio di regole che possono calcolare quasi immediatamente il determinante di una matrice (se una riga/colonna è tutta nulla oppure se 2 righe/colonne sono direttamente proporzionali tra di loro).
conviene quindi che nel calcolo del determinante controlli prima tutti questi casi (questo forse allungherebbe parecchio i tempi di calcolo?) o è meglio farlo solamente per matrici superiori ad una dimensione specifica? (questo perchè fino alle 4x4 o 5x5 o anche piu non credo che calcolare direttamente il determinante prenderebbe molto piu tempo).

scusate per le frasi un po' contorte ma non sono riuscito a spiegarmi meglio
grazie in anticipo!
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2005, 19:03   #2
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Lo sviluppo di laplace è pessimo e va bene solo per matrici piccole.
Di solito si utilizza un qualche metodo di fattorizzazione LU tipo Gauss-Jordan, in modo da ridurre la matrice in una triangolare superiore (o inferiore). Una volta ridotta a matrice triangolare, il calcolo del determinante è banale (moltiplichi gli elementi della diagonale principale).

Cerca Gaussian Elimination o Gauss-Jordan e troverai diversi link, questo è uno:

http://mathworld.wolfram.com/GaussianElimination.html

buon lavoro!
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 29-12-2005, 19:15   #3
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
si, avevo pensato a una cosa del genere, ma non mi andava proprio di cominciare a lavorare con autovalori e autovettori (o almeno così io diagonalizzo le matrici all'università ) ma se mi dici che lo sviluppo di laplace è così orribile dal punto di vista delle prestazioni vedrò di farci un pensierino

grazie mille per il consiglio
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 12:10   #4
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Niente autovalori e autovettori con Gauss-Jordan. Guardati l'algoritmo, è piuttosto semplice.
Laplace va bene per matrici piccole...prova a farlo su una matrice 100_000 x 100_000 o superiore. Stai lì dei giorni...
Poi tutto dipende dalle tue esigenze: se stai scrivendo una classe per gestire matrici di dimensione arbitraria, usi un metodo di fattorizzazione (gauss-jordan, choleski, ecc...), non laplace, per calcolare il determinante.

Ah, e se usi gauss-jordan, mi raccomando il pivoting parziale!!
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 13:21   #5
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
fino al terzo ordine ti consiglio di calcolarlo in modo diretto se non erro è kramer.

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 13:51   #6
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
Quote:
Originariamente inviato da Fenomeno85
fino al terzo ordine ti consiglio di calcolarlo in modo diretto se non erro è kramer.

~§~ Sempre E Solo Lei ~§~
sirrus se non sbaglio, ma grazie del consiglio in effetti stavo considerando una cosa del genere
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 18:19   #7
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da Torav
sirrus se non sbaglio, ma grazie del consiglio in effetti stavo considerando una cosa del genere
i nomi non sono il mio forte .. comunque non è che orlando la matrice non esca il risultato è solo che in modo diretto i tempo computazionale è nullo

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 19:06   #8
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
E' Sarrus.
Ma io continuo a consigliarti Gauss-Jordan. Almeno impari qualcosa di nuovo e utile!
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 30-12-2005, 20:07   #9
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
Quote:
Originariamente inviato da shinya
E' Sarrus.
Ma io continuo a consigliarti Gauss-Jordan. Almeno impari qualcosa di nuovo e utile!
si sto giusto dando un'occhiata e lo implementerò assolutamente! cmq con uno switch calcolo direttamente il determinante delle 2x2 e delle 3x3 ( con Sarrus) mentre per le altre userò gauss-jordan..grazie a tutti per i consigli e buon anno!
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2005, 11:57   #10
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da shinya
E' Sarrus.
Ma io continuo a consigliarti Gauss-Jordan. Almeno impari qualcosa di nuovo e utile!
devo ancora guardarmi come funziona gauss ma penso che non sia più veloce di una moltiplicazione

~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
Old 31-12-2005, 19:35   #11
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Fenomeno85
devo ancora guardarmi come funziona gauss ma penso che non sia più veloce di una moltiplicazione
Dipende dalle dimensioni della matrice. Per una 2x2 o una 3x3 puoi usare i metodi diretti, ma per matrici più grandi devi per forza usare un metodo di fattorizzazione.
Inoltre l'uso di un metodo numerico come gauss ti risolve un sistema lineare e, se applicato in un certo modo, ti calcola anche l'inversa. Tutto con un unico metodo.
Quindi non è proprio inutile impararlo.

E poi ripeto, dipende dalle esigenze del ragazzo. Se deve lavorare _solo_ con matrici 2x2 o 3x3 va bene anche senza gauss (o altri metodi), altrimenti decisamente no.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 01-01-2006, 18:29   #12
Fenomeno85
Senior Member
 
L'Avatar di Fenomeno85
 
Iscritto dal: Jun 2002
Città: Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8895
Quote:
Originariamente inviato da shinya
Dipende dalle dimensioni della matrice. Per una 2x2 o una 3x3 puoi usare i metodi diretti, ma per matrici più grandi devi per forza usare un metodo di fattorizzazione.
Inoltre l'uso di un metodo numerico come gauss ti risolve un sistema lineare e, se applicato in un certo modo, ti calcola anche l'inversa. Tutto con un unico metodo.
Quindi non è proprio inutile impararlo.

E poi ripeto, dipende dalle esigenze del ragazzo. Se deve lavorare _solo_ con matrici 2x2 o 3x3 va bene anche senza gauss (o altri metodi), altrimenti decisamente no.
quello che stavo dicendo io è:

matrici di ordine <=3 metodo diretto altrimenti gauss


~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio.
Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso
Fenomeno85 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
HONOR 500 Pro, scheda tecnica confermata...
GeForce NOW si prepara a vivere un mese ...
Exynos 2600: temperature più bass...
Apple si ispirerà a Nothing? Back...
Da Intel ad AMD, il grande salto di Kulk...
Velocità 12 volte superiore a que...
Una piccola Morte Nera è gi&agrav...
Sei frodi che minacciano gli utenti nel ...
BioShock 4: Take-Two rassicura sullo svi...
Tesla, Musk promette FSD 'quasi pronto' ...
BioWare conferma: il nuovo Mass Effect &...
5 robot aspirapolvere di fascia alta in ...
Xiaomi Redmi Note 14 5G a 179€ è ...
Veri affari con gli sconti de 15% Amazon...
Tutti gli iPhone 16 128GB a 699€, 16e a ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:22.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v