franko / gsl-shell

GSL library shell based on LuaJIT2
http://franko.github.io/gsl-shell/
GNU General Public License v3.0
92 stars 12 forks source link

Linearalgebra #14

Closed h4rm closed 10 years ago

h4rm commented 10 years ago

I readded several matrix/linear algebra functions that I was missing in the current version and that I had implemented in a branch that I forgot about. For one thing I added matrix.det which is very important imho.

Also I added various decompositions (QR, LU, cholesky, Hessenberg, TD, Hessenberg-Triangular), added them to the documentation in the linear algebra section and added a test file for these particular linear algebra functions.

franko commented 10 years ago

Great, thank you very much Benjamin, this is an excellent contribution, I appreciate a lot.

Just a small remark. You are using in some loops the syntax:

m[i][j] =

While this is correct it is very inefficient. The reason is that every time you write m[i] where m is a matrix a temporary object is created. This can greatly slow down the loop and put pressure on the GC. The syntax above is just a facility for the performance-unaware users :-)

I will merge now your pull request and I will fix this minor issue later. Thank you!

Francesco

h4rm commented 10 years ago

Hey Francesco,

thanks for the remarks regarding the 2dimensional array referencing. I can fix that (e.g. by using set functions) and issue another pull if you like.

Ben

On Fri, Nov 22, 2013 at 9:40 AM, Francesco notifications@github.com wrote:

Great, thank you very much Benjamin, this is an excellent contribution, I appreciate a lot.

Just a small remark. You are using in some loops the syntax:

m[i][j] =

While this is correct it is very inefficient. The reason is that every time you write m[i] where m is a matrix a temporary object is created. This can greatly slow down the loop and put pressure on the GC. The syntax above is just a facility for the performance-unaware users :-)

I will merge now your pull request and I will fix this minor issue later. Thank you!

Francesco

— Reply to this email directly or view it on GitHubhttps://github.com/franko/gsl-shell/pull/14#issuecomment-29057001 .