Skip to content

Random related useful links

Tom Vercauteren edited this page Sep 2, 2016 · 5 revisions

This is just a collection of useful links.

Parallel LSQR v3 (PLSQR3) seems to support matrix-free abstract linear operators
https://github.com/rickli92/PLSQR3.2013.09

Conjugate Gradient for Least Squares in CUDA (can do matrix-free)
https://github.com/foges/cgls_cuda

lsq_linear from Python SciPy can solve matrix-free non-negative (bound-constrained) linear least-squares
http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.lsq_linear.html
http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.LinearOperator.html#scipy.sparse.linalg.LinearOperator

scipy.optimize.minimize from Python SciPy can be provided with callable jacobin and hessian functions meaning it can do non-linear least squares with custom matrix-free implementation of the product of a vector with the hessian
http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html

Eigen has some initial support for matrix-free, no linear least-squares though
http://eigen.tuxfamily.org/dox/group__MatrixfreeSolverExample.html

Matrix-Free Convex Optimisation Modeling, in python
http://stanford.edu/%7Eboyd/papers/abs_ops.html

Ceres provides many nonlinear least-squares solvers and an implementation of l-BFGS
http://ceres-solver.org

libLBFGS provides a c implementation of L-BFGS and OWL-QN (for L1 regularisation)
http://www.chokkan.org/software/liblbfgs/

NLopt provides several (mostly MIT licensed) non-linear optimisers
http://ab-initio.mit.edu/wiki/index.php/NLopt

CppOptimizationLibrary also provides a few non-linear optimisers in c++ under an MIT license
https://github.com/PatWie/CppNumericalSolvers

COINS-OR has a number of solvers and is licensed under the Eclipse Public License (EPL). It notably has a c++ implementation of PDCO and LSQR as part of their Clp sub package:
http://www.coin-or.org
https://projects.coin-or.org/Clp
https://github.com/ampl/coin/blob/master/Clp/src/ClpPdco.hpp
https://projects.coin-or.org/Ipopt

BCLS (L-GPL) relies on LSQR to implement bound constraints:
http://www.cs.ubc.ca/~mpf/bcls/index.html

A BSD C implementation of L-BFGS-B:
https://github.com/stephenbeckr/L-BFGS-B-C

Clone this wiki locally