I hope people find this little class useful. I was doing a lot of coding with matrices, and kept losing track of what dimensions were associated with what matrices, and which elements had to be incremented where for the three-loop matrix multiplication, so I went ahead and created this to do it all for me. It works, but it can be a bit finicky.
That said, I would love some ideas for improvements (or just drop some code on me). Some things I would like to see:
The ability to assign values to a CLmatrix object by passing a matrix to the constructor (not just a column-major-order vector).
Some of the weird memory hiccups beaten out. For example, you can change the size of an object through an assignment operation (=), but not through the "assign" member function (object1.assign(object2.vect)). This can cause some headaches when debugging.
Incorporation of lapack functions for inversion, diagonalization, exponential, square-root, etc. It would be great if these were all wrapped up withing the class so you did not have to pass any additional values to the member function.
A bit more robustness with matrix dimensions where appropriate.
If you would like to improve the project then be my guest. I just ask that you keep me in the loop so I can post the upgrades as the come.
Thanks,
Nathan
Last edit: Engineero 2012-07-04
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
v1.1 released, and I changed the name to NTmatrix since I found a pre-existing CLmatrix library and did not want to conflict with their name. Check out the changelog and readme for the new version. I added a couple of member functions and allowed for multiplication by a scalar. I have been using this quite a lot for developing neural-networks and optimal control simulations and it has worked great. I hope you enjoy it, and let me know if you would like to see any additional functionality or just send me some code.
Nathan
Last edit: Engineero 2012-07-04
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I hope people find this little class useful. I was doing a lot of coding with matrices, and kept losing track of what dimensions were associated with what matrices, and which elements had to be incremented where for the three-loop matrix multiplication, so I went ahead and created this to do it all for me. It works, but it can be a bit finicky.
That said, I would love some ideas for improvements (or just drop some code on me). Some things I would like to see:
If you would like to improve the project then be my guest. I just ask that you keep me in the loop so I can post the upgrades as the come.
Thanks,
Nathan
Last edit: Engineero 2012-07-04
v1.1 released, and I changed the name to NTmatrix since I found a pre-existing CLmatrix library and did not want to conflict with their name. Check out the changelog and readme for the new version. I added a couple of member functions and allowed for multiplication by a scalar. I have been using this quite a lot for developing neural-networks and optimal control simulations and it has worked great. I hope you enjoy it, and let me know if you would like to see any additional functionality or just send me some code.
Nathan
Last edit: Engineero 2012-07-04