Hacker News new | ask | show | jobs
by dharmon 3665 days ago
This story reminds me of Prof. Tim Davis of Texas A&M, formerly Florida, who I heard had a hard time getting tenure, after making the software and mathematical world a much better place.

He (and his group) developed CHOLMOD and UMFPACK and other sparse solvers used everywhere. Basically, when you type A/b in Matlab, it calls his code.

It was an incredibly challenging task going from sort-of/kind-of being able to solve linear systems to where we are today. Hardly anybody thinks about it. Again, you just type A/b, even when A is poorly conditioned. You can write a crappy solver in less than 100 lines of code, but if you read his papers, building a rock-solid solver was a very difficult task.

Unfortunately this kind of work is important, but pretty thankless.

3 comments

Duff (who was Davis's post-doc advisor IIRC) also deserves credit for MA57, which is used in MATLAB's sparse symmetric indefinite solvers [1]. And the giant BLAS and LAPACK crew (as well as the previous LINPACK authors) deserve some credit for dense systems.

[1] http://www.mathworks.com/help/matlab/ref/ldl.html?requestedD...

You're right, of course, and the two little words "his group" don't do justice to the army of PhD, masters, and undergraduate students who spent their time on this massive codebase.

But in this case, and in the context of the OP, it was Davis's oversight and possibly tangible sacrifices (I don't know the details of his career) that made it possible.

Each time we use some numerical methods and it Just Works, we should mumble a tiny prayer of thanks to folks like these, and the writers of BLAS, LAPACK, ARPACK, and many others that provide the backbone of an incredible amount of work.

I heard (and hope it's true!) Prof Davis got a well-deserved license fee from MathWorks...

Prof Doug Lea at Oswego is another unsung hero who has done a ton for programming and particularly parallel programming. A big chunk of java's std library is copyright Josh Bloch and Doug Lea. In particular, Prof Lea built jsr166.

Yeah, he licenses SparseSuite out for commercial use.

His personal payout would be very tiny (if any at all), after U of F's take and money his lab gets. But at least its some funding to keep his lab going.

Didn't he write a book or two on Java parallelism?
Yeah, it was the 'go to' seminal text for a while. I've used his malloc implementation in a few projects. He's also an ACM fellow, so, not really unsung (not denigrating his work, just saying that his work is fairly well known in both academia and the industry).
Sorry, I meant unsung in the sense that his work doesn't produce lots of the usual markers of academic success, iepapers. Also, Oswego is not really what you'd call an academic powerhouse. Measured by impact, I'd think there's be a software engineering group at cmu, mit, berkeley, stanford, michigan, madison, etc that would love to have him work there.
> when you type A/b in Matlab

x = A\b gives the solution to Ax=b, and x=b/A gives the solution to xA=b. But when would you type A/b ?

He definitely meant backslash.
I'm not sure this is the same case here, although I am biased I readily admit. Everyone and their mom uses matlab. Sage on the other hand is mainly used in the mathematics community which I'm pretty sure is much smaller than the community (community?) or engineers, physicists, biologists, data scientists...