Least Squares source code in C++?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 28K views
SirTristan
Messages
12
Reaction score
0
Does anyone know where to find source code for a simple and fast least squares solver written purely in C++?
 
Physics news on Phys.org
try the C++ version of LAPACK
 
I actually already have LAPACK++ installed, however it's really pretty complicated. I'd like some simpler code that I can modify, for instance to implement regularization.
 
you can find some code snippet in "Numerical Recipes in C book On-Line!"

http://www.fizyka.umk.pl/nrbook/bookcpdf.html

and they are in Chapter 15.

Good luck.
 
Last edited by a moderator:
Thank you, that might be helpful.

Anyone know of algorithmic pseudocode for least squares anywhere, that I myself could use to create code? A http://en.wikipedia.org/wiki/Linear_regression#Example" can be estimated by solving for the (XTX)B=XTy normal equations, but that seems to be different than the decomposition and other approaches I've read about; and also I don't know how I'd be able to modify these normal equations for regularization purposes, as I don't see how the RSS can be modified. What I'm looking for is more of an iterative procedure.
 
Last edited by a moderator:
I'm having a problem trying to use the Levenberg-Marquardt source code from Numerical Recipes in C. The code requires the gaussj(float**, int, float**, int) function, and according to:
http://www.fizyka.umk.pl/nrbook/c0-2.pdf

That is found in section 2.1. However, the http://www.fizyka.umk.pl/nrbook/bookcpdf.html" gives a "file is damaged and could not be repaired" error when trying to open it. Does anyone know where I could find the code for this same gaussj() function? Thanks :smile:
 
Last edited by a moderator: