-
Notifications
You must be signed in to change notification settings - Fork 258
[query] ndarray inverse using LAPACK #9093
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| } | ||
|
|
||
| @Test def testNDArrayInv() { | ||
| implicit val execStrats: Set[ExecStrategy] = ExecStrategy.compileOnly |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not clear to me if this is an oversight, but most of our NDArray tests are not actually tested, because execStrats are Set(); the values specified in these assertEvalsTo are arbitrary. See TestNDArrayMatMul as a worrisome example of this. This was done during move away from C++ and not fixed after John re-implemented the work in Scala. I will PR a fix unless there are other plans around this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oof, good catch! That's consistent with my memory of the history here. Will happily (and a bit nervously...) review the PR to reenable most tests.
These nodes are also tested pretty well in Python, so this isn't as horrifying as it may appear at first.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I verified that matmul for instance works perfectly enabled.
tpoterba
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! Nice work, Alex!
|
it was fun, thanks Tim! |
|
Very cool! |
* implementation for doubles * cleanup * flake8 format
* implementation for doubles * cleanup * flake8 format
to flesh out our linear algebra, and in service of regenie. eventually, this, qr, and other linalg functions should be moved to hl.linalg I think, to match scipy, numpy, dask, etc
we should also decide whether to break out LU factorization. Numpy, scipy, dask do this, so that's my preference for a followup pr, because people who are looking for a fleshed out linalg experience may want this.
also, we should have less than double precision support, but this matches QR.