Quantcast Least Squares source code in C++? Text - Physics Forums Library

PDA

View Full Version : Least Squares source code in C++?


SirTristan
Jul10-08, 10:34 PM
Does anyone know where to find source code for a simple and fast least squares solver written purely in C++?

ice109
Jul11-08, 11:39 AM
try the C++ version of LAPACK

SirTristan
Jul11-08, 01:26 PM
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.

zyh
Jul13-08, 09:08 PM
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.

SirTristan
Jul14-08, 06:01 PM
Thank you, that might be helpful.

Anyone know of algorithmic pseudocode for least squares anywhere, that I myself could use to create code? A linear regression (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.

SirTristan
Sep4-08, 04:33 PM
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 book (http://www.fizyka.umk.pl/nrbook/bookcpdf.html)'s section 2.1 (http://www.fizyka.umk.pl/nrbook/c2-1.pdf) 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: