I just thought I'd share my experiences using Eigen (which unbelievably was built only using the C++ stl). I was initially super skeptical about the amount of time it would take to solve huge linear systems over the whole mesh as described in this lecture, but Eigen is able to solve 3 14290 x 14290 linear systems almost instantaneously which allows for the animations to be very much real time. Eigen really is quite amazing!

kmcrane

@kapalani: Yep. And the even more amazing fact is that Eigen is not particularly fast, as far as linear solvers go! For sparse linear algebra, a lot of "heavy duty" numerical linear algebra is done using a package called SuiteSparse (for instance, this is what gets used inside MATLAB and Mathematica). In some sense, it shouldn't be too surprising that sparse linear solvers scale well, since (and this is only an extremely rough piece of intuition) the number of nonzeros is roughly linear rather than quadratic in the matrix dimension. So at least something like matrix-vector multiplication shouldn't be expensive. On the other hand, numerical linear algebra is one of the great successes of 20th century scientific computing... as indicated by this slide! In short: you should be impressed! :-)

I just thought I'd share my experiences using Eigen (which unbelievably was built only using the C++ stl). I was initially super skeptical about the amount of time it would take to solve huge linear systems over the whole mesh as described in this lecture, but Eigen is able to solve 3 14290 x 14290 linear systems almost instantaneously which allows for the animations to be very much real time. Eigen really is quite amazing!

@kapalani: Yep. And the even more amazing fact is that Eigen is not particularly fast, as far as linear solvers go! For sparse linear algebra, a lot of "heavy duty" numerical linear algebra is done using a package called SuiteSparse (for instance, this is what gets used inside MATLAB and Mathematica). In some sense, it shouldn't be too surprising that

sparselinear solvers scale well, since (and this is only anextremelyrough piece of intuition) the number of nonzeros is roughly linear rather than quadratic in the matrix dimension. So at least something like matrix-vector multiplication shouldn't be expensive. On the other hand, numerical linear algebra is one of the great successes of 20th century scientific computing... as indicated by this slide! In short: you should be impressed! :-)