ott.solvers module contains the main algorithmic engines of the
OTT package. The biggest component in this module are without a doubt the
linear solvers in
ott.solvers.linear, designed to solve linear OT
problems. More advanced solvers, notably quadratic in
ott.solvers.quadratic, rely on calls to linear solvers as subroutines.
That property itself is implemented in the more abstract
WassersteinSolver class, which provides a
lower-level template at the interface between the two.
A generic solver for problems that use a linear problem in inner loop.