- Joined
- 3/7/10
- Messages
- 69
- Points
- 18
I thought it would be interesting to start a thread discussing the issues around implementing a Matrix class in C++/CUDA/C#/Python. Although this topic has been talked about before, I'd like to see how people have approached the problem recently, now that we're heading into 2013. Some topics:
C# and Python/NumPy are encroaching more heavily on the financial space, but does C++ still remain the leading implementation?
As a learning exercise, constructing a Matrix class can teach a lot about C++ concepts. There is definitely tangible benefit in writing your own. Efficient storage and iteration in full, sparse, banded, block-banded and tridiagonal matrices make for interesting implementation problems. How have people gone about this in their own work?
Also, I'd be interested to hear how people are implementing numerical algorithms (decomposition, iterative etc) , such as LU, QR, Cholesky, Gauss-Seidel/SOR...
Once past the "learning stage" what production libraries are being used? uBlas et al? How is CUDA/GPU changing the landscape?
Looking forward to some interesting thoughts.
C# and Python/NumPy are encroaching more heavily on the financial space, but does C++ still remain the leading implementation?
As a learning exercise, constructing a Matrix class can teach a lot about C++ concepts. There is definitely tangible benefit in writing your own. Efficient storage and iteration in full, sparse, banded, block-banded and tridiagonal matrices make for interesting implementation problems. How have people gone about this in their own work?
Also, I'd be interested to hear how people are implementing numerical algorithms (decomposition, iterative etc) , such as LU, QR, Cholesky, Gauss-Seidel/SOR...
Once past the "learning stage" what production libraries are being used? uBlas et al? How is CUDA/GPU changing the landscape?
Looking forward to some interesting thoughts.