Numeric JavaScript
numericjs.com
numericjs.com
There are a few known bugs in mainline numericjs (including one in the eigen decomposition when there are repeated eigenvalues). The author of numericjs is active in the Google group, but hasn't had time to work on it in the last few years. Hence the third-party, not integrated orangeduck branch.
This project, when I started using it 5 or 6 years ago, was the one that made me realize just how fast JavaScript has become. This project also demonstrates how desperately JavaScript needs operator overloading. When I used numericjs for a homework assignment recently, I considered writing a sweetjs macro for my students but didn't get around to it. I would be grateful if someone else did!
Its implementation of "dot" is kind of nice though. Without worry about the type, it does multiplying a scalar to a matrix, a matrix with a matrix, a matrix with a vector, and a vector with a vector, etc all correctly.
EDIT: I guess it is also explained by the apparent fact that it was written by a math professor before he was a professor.
https://github.com/sloisel/numeric/blob/656fa1254be540f42871...
delay or hold back in terms of progress, development, or accomplishment
It appears to be checking whether the browser is Internet Explorer, and creating a Web Worker polyfill if it is - which, naming conventions aside, really isn't such a good strategy.
There's also a lot of `var foo` in that file; I don't know if it says much about the quality of code in the rest of the project (maybe this is just a file slapped together in a hurry), but it doesn't particularly inspire confidence.
In fact, on closer investigation, there's a lot of `var foo` in this file too: https://github.com/sloisel/numeric/blob/master/src/numeric.j...
The IE11 user agent looks like this:
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko