|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
[Opengl]inversa di matrice
per affrontare una serie di calcoli moooollltooooo lunghi sto cercando di sfruttare anche il processore della scheda video.
fondamentalmente una parte del problema si risolve invertendo una matrice 4x4 e moltiplicandola per un'altra... ho provato a vedere quanto ci mette a moltiplicare qualche milione di volte due matrici con multmatrix e ci mette un casino di meno della moltiplicazione implementata a mano... se ora riuscissi a spiegarli anche che deve invertire matrici (che non hanno nessuna buona caratteristica che mi permetta di invertirle banalmente) il giocone sarebbe fatto e il processore si potrebbe mettere a generare le matrici da usare... ho cercato un po`, ma non ho trovato nessuna funzione opengl che mi invertisse matrici... sapreste aiutarmi? graaaaaazieeeeeee ![]() ciao! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
help
![]() o una libreria per c++ decetemene velcoe e ben fatta per matrici piccole che sappia invertire una matrice? ciaaaAAAAAAAAAaaaaaAAAAAaaooOOOOOOoooOOOOOoooooooo |
![]() |
![]() |
![]() |
#3 |
Moderatore
Iscritto dal: Nov 2003
Messaggi: 16211
|
Se le matrici da invertire sono solo 4x4, potresti scrivere una funzioncina tu sfruttando la regola di Laplace, oppure usando la diagonalizzazione di Gauss... sempre se la scheda grafica è in grado di eseguire il codice risultante, cosa che mi piacerebbe sapere...
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" ![]() Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
eh, a saperla usare dovrebbe potersi fare...
a quanto ne so ormai e` una cosa abbastanza usata... ho trovato dei buoni tutorial in giro, solo che non ho tutto sto tempo ![]() speravo esistesse qualcosa di pronto.... alla fine ho provato le boost ma su matrici piccole sono penosamente lente, e le alternative non sono tantissime... e poi i calcoli da fare sono tanti, e il tempo e` poco ![]() e a peggiorare la situazione per ora l'algoritmo che lo chiama nel caso pessimo ha complessita` N^N, e le ottimizzazioni che posso fare sono su base euristica, nulla di algoritmico. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
qualcuno in giro dice che si perde a fare calcoli su matrici troppo piccole.. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhh
![]() ehm... nessuna libreria??? ![]() mi sa che me le dovro` scrivere a mano... ciaaaoooooooooo |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2007
Messaggi: 2267
|
Fino a matrici di dimensione 5 (se non ricordo male) risulta più efficiente applicare la regola di Laplace piuttosto che l'algoritmo di Gauss.
A scrivere la regola di Laplace per una matrice 4x4 non dovrebbe volerci tanto. Inoltre utilizzando Laplace puoi già verificare, precalcolandoti il determinante, che ti servirà in seguito, se effettivamente l'inversa per tale matrice esiste (risparmiandoti eventuali calcoli inutili!). P.S.: Cmq
__________________
Concluso con:... |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jan 2007
Messaggi: 2267
|
... ( scusate avevo postato 2 volte!
![]()
__________________
Concluso con:... |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:40.