Thermodynamic Linear Algebra
arxiv.org
arxiv.org
1. Simple Gradient Descent is already linear in time w.r.t. # of parameters (but it is an iterative method). It seems to be missing from Table I too. This method requires waiting for equilibration, so could it be seen as another form of iterative method? If so, wouldn't the proper comparison be against known O(n) first-order iterative methods like GD as opposed to exact methods (O(n^3)) or pseudo-2nd-order iterative methods like CG (O(n^2))?
2. In 2.B.3 the paper says "Note that this includes a compilation step that scales as O(d2)". I think this needs some clarification. Is this saying that, in order to run this on actual hardware, there's a compilation step involved that is O(n^2)? Of course O notation says nothing about linear factors but wouldn't that contradict what's stated in Table I?
You make an important point, regarding the compilation. In this case, we are talking about the time it takes to upload the matrix A and vector b to the hardware. This requires O(d^2) numbers to be updated, but assuming it is done in parallel it could be done in O(d) time, and the coefficient of this scaling is independent of the physical parameters of the analog hardware. For this reason, in the analysis of the algorithm, we are generally ignoring the time to update the parameters, as is clarified in the Methods section.
Thanks for the clarification of the uploading / compilation step.
[1]: https://en.wikipedia.org/wiki/Optical_computing#Optical_Four...
Let's assume you need at least m = n^2 particles for a physical system modelling a n by n matrix and model the change of the system from setting the state of the particles (to the matrix elements) to measurement by a finite number of interactions between particles (by exchanging a photon):
- a particle can interact with a particle of the heat bath
- a particle can interact with another particle of the m particles of the system
I guess this result holds up if the second interaction kind does not matter because the first interaction alone then takes a constant time for each particle. The whole thing becomes a massively parallel computation (with m threads).
But the second interaction should matter, otherwise how can the system capture/model dependencies between variables (I guess)?
My intuition would be that subsystems of particles get closer to the equilibrium by interaction with the heat bath and then two subsystems combine their wave functions to one by the second kind of interaction. You got subsystems that are in local thermal equilibrium that combine and split their wave functions and as time goes to t_0 the subsystems sizes that are in local equilibrium get larger and larger until they reach size m at time t_0. This does seem to take longer for more particles (not that massively parallel anymore). Anyone got any insight into how this scales?
(This only matters under the assumption that the number of photon exchanges (that each particle experiences) for each of the m particles is finite and constant (or gets larger with larger m) for a fixed temperature. I could easily have missed some things that could make these thoughts irrelevant.)
Keep in mind that the venerable (and enormously successful!) gradient descent method does not model dependencies between variables either and manages to find solutions too. It just has to iterate a bit on it -- actually not unlike the method presented here.
I think there is some confusion because they have two tiers of “particles” going on. The first is the masses coupled in the spring-mass system. In that system, each component of x is a particle. However, any specific vector x, in the parlance of thermodynamics, is a single microstate of the system. You can then form a macrostate, I.e., a distribution, of microstate particles, by considering an infinite (or near infinite) number of particles. The dynamics of the macrostate are given by the Fokker-Planck equation, where interactions where both interactions you mention come from the diffusion term only present due to connection with a heat bath.
So the n coupled masses are viewed as a single particle in an abstract system with (stochastic) gradient dynamics.
Your comment reminded me of this classic of the genre.
An extremely approachable read.
You could simulate the SDE digitally, but you would probably need d^2 time per iteration, where this approach just initializes the systems and waits for it to converge to a sufficient precision. Turns out the convergence time depends on sqrt(condition number) similar to the best iterative linear solvers, conjugate gradient (CG).
You can debate whether it's fair to assume a fully connected d^2 chip, since a similar size cpu or gpu could perhaps do each iteration of CG in constant time, and so would have the same (or better) complexity as the thermodynamic method. However, each cell the the proposed chip is way simpler than a cpu cell, so it should be cheaper/more energy efficient.
In order to solve the linear system of equations in this framework, you need to integrate a measurement of the system over some time greater than t_0 and tau. However in equation 12 you can see that t_0 and tau are functions of the eigenvalues and the norm of the matrix.
AFAIK the best runtime algorithms we have for computing matrix eigenvalues is still O(d²), so even if the thermodynamic part of algorithm is linear in d, computing how long you would need to run the algorithm for is still quadratic in d, so there's no real gain.
Or am I missing something here?
To give a comparison with conjugate gradients, there the condition number is in the convergence bound, however computing it requires the maximum and minimum eigenvalues, hence people never compute it, and rely on heuristics for convergence.
Would this thermodynamic technique provide solutions to these sorts of non linear optimization and system solving problems? It feels from my reading it might, and in a simpler way to express.
Forgive my likely display of extraordinary ignorance.
The different though is instead of a matrix multiplication it’s a nonlinear optimization. The crucial part is the nonlinearity. But I assume given this technique is as you say Monte Carlo at its root, that shouldn’t specifically matter?
Also makes me wonder if Google's DWave could be more similar to this method rather than true quantum computing.
However, (1) these thermodynamic cells are much simpler than processors, and (2) it seems the overall energy required to simulate the SDE, once the couplings are initialized, only scales with O(N), not O(N^2) as in your digital case.
https://en.wikipedia.org/wiki/Multigrid_method
Unless of course your matrix has a prohibitively complicated structure.
Do we also have information-energy equivalence? Can we use the Landauer bounds to prove by transitivity that information and energy are equivalent?
more of information-entropy equivalence, but close enough
Reading about waiting to reach equilibrium state, extracting paths and integrating it(IIRC this is analogus to estimating the expected value) in a space made me think of that :). Sorry if the comparison seems naive.