Quoted
Original von DRDK_Fragman
Ich studiere Informatik. Naja, es handelt ich um Matrizen die bei der Lösung der Euler-Lagrange Gleichungen von Funktionalen auftreten. Das Anwendungsgebiet ist das Berechnen sogenannter Optischer Flußfelder in Bildsequenzen.
Es handelt sich um Gleichungen mit vielen Unbekannten (eine pro Pixel in den Bilder der Sequenzen), also so in der Größenordnung von 16384 (128x128 Bilder) oder 65536 (256x256 Bilder). Das bedeutet Pentadiagonalmatrizen haben deutlich weniger als 10% nicht null Einträge.
Ich benutze derzeit für manche Sachen die newmat Bibliothek, aber die kann zwar Bandmatrizen, aber nur solche wo das Band in der Mitte verläuft. Meine haben aber die Struktur das in der Mitte 3 Diagonalen sind und und dann außen noch mal (auf der Hälfte der Seiten) (bin nicht sicher ob man die dann überhaupt Pentadiagonal nennt). Die Methoden die verwende sind mit Differentialgleichungen recht eng verwand.
Ich schreibe die Arbeit beim Lehrstuhl für Angewandte Mathematik. Die verwenden selbst Multigrid Verfahren die sie selbst in C implemtiert haben, aber da die nicht sonderlich modular sind ist es mir zu Blöd die von Hand so anzupassen das man sie einsetzen kann. Möglicherweise ist SOR in meinem Fall auch ausreichend, das konvergiert für den geringen Aufwand ja auch schon ganz gut. Aber wenn das nicht reicht werde ich mich nochmal nach geeigneten Bibliotheken umsehen.
Quoted
Original von DRDK_Fragman
Ich benutze derzeit für manche Sachen die newmat Bibliothek, aber die kann zwar Bandmatrizen, aber nur solche wo das Band in der Mitte verläuft.
Quoted
Original von Coold0wn
Quoted
Original von -=)GWC(RaMsEs
und im übrgien lernt man sehr leicht Java wenn man c++ kann, aber andersrum wird das schon schwieriger ...
ja weil man das schwierige hinter sich hat
c++ is doch viel härter als java oder?
Quoted
Original von Coold0wn
also compilieren - kein Problem (mehr , thx leute =) )
aber wie lass ich das dann laufen?
oO
Quoted
Original von Coold0wn
Quoted
Original von -=)GWC(RaMsEs
und im übrgien lernt man sehr leicht Java wenn man c++ kann, aber andersrum wird das schon schwieriger ...
ja weil man das schwierige hinter sich hat
c++ is doch viel härter als java oder?
Quoted
Original von -=)GWC(RaMsEs
Quoted
Original von Coold0wn
Quoted
Original von -=)GWC(RaMsEs
und im übrgien lernt man sehr leicht Java wenn man c++ kann, aber andersrum wird das schon schwieriger ...
ja weil man das schwierige hinter sich hat
c++ is doch viel härter als java oder?
kommt drauf an.
java nimmt dir halt sehr viele dinge wie zum beispiel speichermanagement ab. c++ hat eben kein garabge collector. Zusätzlich ist, wenn man mit pointern rbeitet es alles etwas schieriger zu handeln. das ist in java deutlich leichter. deswegen ist wenn man c++ mal kann java nicht mehr wild, aber anders rum schon.
This post has been edited 1 times, last edit by "DRDK_Fragman" (Jun 21st 2009, 9:15pm)
![]() |
Source code |
1 2 |
namespace u = boost::numeric::ublas; u::banded_matrix<double> m (3, 3, 1, 1); |