CMU Researchers Break Speed Barrier In Solving Important Class of Linear Systems
cmu.edu
cmu.edu
Furthermore, "Einstein and Noname grad student's method for solving X" sounds a lot better than "Noname's method for X". People will read it more and it will disseminate faster. The student will ultimately be better off.
But given the thread root, and not knowing any more about Qz -- indeed being unable to trivially associate that handle with a real name/project via the profile page -- a cynical comment from a disgruntled grad couldn't be ruled out.
On the other hand, quite frequently the whole thing is the professor's idea, and the grad student does the drudge work of coding it up and verifying it and writing the paper, and they co-publish.
Of course if you're going to lament "the current state of the academy" you should be aware that the current state of the academy is far more likely than any previous state to give credit to the junior researchers. And in Europe this kind of thing still goes on, with professors butting in to take primary authorship on papers where their students have done 90% of the work.
For most problems that individuals face each day, linear programs are fairly simple to model and solve. However, there are lots of complex problems that are solved each day.
A few examples of large-scale linear programming problems: - For Amazon.com: what quantity of each item should be stocked at each warehouse each day to minimize inventory while also optimizing for shipping time and cost to demand nodes (customers). - For an airline: how to plan and schedule flights to all domestic and international airports to maximize profit - In shipping logistics: how to allocate trucks and set routes to minimize fuel cost while satisfying delivery time.
For complex systems, you can easily run up a linear program with millions of independent variables (producing millions of rows in the linear system).
As you might expect, there's a physical interpretation.
Diagonal dominance basically means that the diagonal entry of each row of the matrix is at least as big (in magnitude) as the sum of the off-diagonal entries.
Suppose the diagonal entry gives the rate of change of flow (say of a fluid, or of electric charge) into some physical location as you change some other property of that location (like its pressure, or voltage). Then the off-diagonals in the same column reflect the rates of change of flows to other locations as you change its pressure. And the off-diagonals on the same row reflect the rates of change of flows out of that location as you change the pressures in other locations.
If the flows are driven by pressure or voltage differences-- which is often the case, especially when you've linearized the system mathematically-- you get symmetry (because adding 1 volt to node A has the same effect on the A-to-B flow as subtracting 1 volt from node B).
If the system conserves mass (or electric charge or whatever), then the diagonals must at least add up to off-diagonals (in magnitude).
So then all you need is a connection to an outside node of known pressure or voltage (like ground), that doesn't change and hence doesn't contribute to the off-diagonals. That kicks one node over into having a diagonal entry greater than its off-diagonals, and then you have a nonsingular matrix and you can apply the algorithm.
Disclaimer-- it's been a while since I worked on this, so I probably messed up at least one of the directions or row-wise vs. column-wise relationships.
Does anyone know how this improvement in solving SDD affects the complexity of the current best max-flow algorithm [1] i.e. (N+L)^(4/3) ?
[1]: http://web.mit.edu/newsoffice/2010/max-flow-speedup-0927.htm...
They specifically target large systems, because their approach (I think) iteratively approximates the matrix, then uses the solution of each simpler version as the initial guess to the solution of the next closest one to the original.
Presumably all that overhead pays off in the long run, but not on small systems.