Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-03-2013, 17:01   #1
Van47
Member
 
Iscritto dal: Dec 2006
Messaggi: 149
[JAVA] Algoritmo per la risoluzione di sistemi lineari

Ciao a tutti, sto cercando un algoritmo in grado di risolvere sistemi lineari di un centinaio di equazioni in java, qualcuno sa dove potrei trovarlo?
Van47 è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2013, 17:44   #2
[Kendall]
Senior Member
 
L'Avatar di [Kendall]
 
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
Quote:
Originariamente inviato da Van47 Guarda i messaggi
Ciao a tutti, sto cercando un algoritmo in grado di risolvere sistemi lineari di un centinaio di equazioni in java, qualcuno sa dove potrei trovarlo?
La risoluzione di sistemi lineari è un problema dell'algebra lineare e del calcolo numerico che mette in gioco non un algoritmo, ma una serie di algoritmi estremamente utili e largamente usati in una miriade campi.
Oltretutto non esiste un solo metodo per la risoluzione di questo problema e molto dipende dall'implementazione che troverai. Tutto parte dalla trasformazione in matrice del tuo sistema di equazioni (che è poi la naturale rappresentazione matematica dei sistemi lineari). Da qui la risoluzione del sistema richiede la trasformazione della matrice tramite una scomposizione (es° Lu-Decomposition), o la classica eliminazione di Gauss, che permetta una più facile risoluzione del sistema tramite semplici operazioni matematiche.

Tutto questo in cosa si traduce? Che per un programma che esegua la risoluzione di sistemi lineari non si può definire un singolo algoritmo (sarebbe lavoro inutile e fine a se stesso) ma si deve procedere definendo una serie di classi e metodi che facciano tutto quello che ti ho brevemente spiegato qui sopra (e più, visto che nella scomposizione entrano in gioco altri algoritmi e principi del calcolo matriciale).

Per esperienza (è stato oggetto della mia tesi di laurea) ti dico che non puoi pensare di fare un lavoro di questo tipo, sempre che l'implementazione di suddetta libreria non sia proprio il fine ultimo del tuo lavoro, piuttosto ti conviene appoggiarti a librerie di calcolo numerico che da anni sono state implementate con gli algoritmi più efficienti, debuggate e ottimizzate.

Da sempre la miglior libreria di routine per l'algebra lineare (che io sappia) è quella fornita da BLAS e LAPACK. Con una rapida ricerca ho trovato l'implementazione chiamata jBLAS, ma se tanto mi da tanto è comunque una implementazione a livello delle LAPACK quindi decisamente di basso livello.
Per qualcosa di più alto livello dovresti fare una ricerca su google con parametri tipo "matrix java library" e vedere cosa salta fuori, perchè solo in questa maniera ottieni delle implementazioni di più alto livello che ti permettano una risoluzione diretta del sistema (andando semplicemente a riempire le matrici con i coefficienti delle tue equazioni ed usando il metodo adatto per farti restituire il vettore dei risultati).
[Kendall] è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2013, 21:05   #3
kwb
Senior Member
 
L'Avatar di kwb
 
Iscritto dal: Jul 2003
Città: Alessandria
Messaggi: 10167
Guarda qua: https://en.wikipedia.org/wiki/List_o...libraries#Java
__________________
Dell XPS 13 (9350) :: i5-2500K - HD6870 - AsRock Z68 Pro3 - Corsair Vengeance 8GB (4x2) DDR3 :: Samsung Galaxy S4 GT-i9505
kwb è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2013, 09:33   #4
ingframin
Senior Member
 
L'Avatar di ingframin
 
Iscritto dal: Apr 2010
Città: Leuven
Messaggi: 667
Oppure nella tua libreria a casa potresti mettere questo:
http://books.google.be/books/about/M...QC&redir_esc=y
Che ti spiega esattamente quello che devi fare e come farlo
__________________
L'elettronica digitale non esiste, è solo elettrotecnica con interruttori piccoli!
ingframin è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2013, 11:30   #5
Van47
Member
 
Iscritto dal: Dec 2006
Messaggi: 149
Perfetto, è esattamente quello che cercavo.

Grazie mille a tutti

Ultima modifica di Van47 : 07-04-2013 alle 13:05.
Van47 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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: 04:17.


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