\section{New\-Fitter\-G\-S\-L Class Reference}
\label{classNewFitterGSL}\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}}


A kinematic fitter using the Newton-\/\-Raphson method to solve the equations.  




{\ttfamily \#include $<$New\-Fitter\-G\-S\-L.\-h$>$}

Inheritance diagram for New\-Fitter\-G\-S\-L\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classNewFitterGSL}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \{ {\bfseries N\-P\-A\-R\-M\-A\-X} =50, 
{\bfseries N\-C\-O\-N\-M\-A\-X} =10, 
{\bfseries N\-U\-N\-M\-M\-A\-X} =10
 \}
\item 
enum \{ {\bfseries N\-I\-T\-M\-A\-X} = 100
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf New\-Fitter\-G\-S\-L} ()\label{classNewFitterGSL_a583e344fba8d18aa5441d27163dcf257}

\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
virtual {\bf $\sim$\-New\-Fitter\-G\-S\-L} ()\label{classNewFitterGSL_ae86b5602226498caf158eba98087649c}

\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\item 
virtual double {\bf fit} ()\label{classNewFitterGSL_af0e97312c53d18f2cac8c22964cd6cf7}

\begin{DoxyCompactList}\small\item\em The fit method, returns the fit probability. \end{DoxyCompactList}\item 
virtual int {\bf get\-Error} () const \label{classNewFitterGSL_a3272c72e2d302180f71e14b18deda69c}

\begin{DoxyCompactList}\small\item\em Get the error code of the last fit\-: 0=O\-K, 1=failed. \end{DoxyCompactList}\item 
virtual double {\bf get\-Probability} () const \label{classNewFitterGSL_afadea776649a36868fe299aa4907c717}

\begin{DoxyCompactList}\small\item\em Get the fit probability of the last fit. \end{DoxyCompactList}\item 
virtual double {\bf get\-Chi2} () const \label{classNewFitterGSL_a65a27af871f3a4461e593852389d03fc}

\begin{DoxyCompactList}\small\item\em Get the chi$\ast$$\ast$2 of the last fit. \end{DoxyCompactList}\item 
virtual int {\bf get\-Do\-F} () const \label{classNewFitterGSL_a34a24666ae14f3ddd371e04cf4620bdd}

\begin{DoxyCompactList}\small\item\em Get the number of degrees of freedom of the last fit. \end{DoxyCompactList}\item 
virtual int {\bf get\-Iterations} () const \label{classNewFitterGSL_ab03912083d0e7867a1c956b466c41c0c}

\begin{DoxyCompactList}\small\item\em Get the number of iterations of the last fit. \end{DoxyCompactList}\item 
virtual int {\bf get\-Ncon} () const \label{classNewFitterGSL_a9d3ea88254942be6a0db78c603e4fa1b}

\begin{DoxyCompactList}\small\item\em Get the number of hard constraints of the last fit. \end{DoxyCompactList}\item 
virtual int {\bf get\-Nsoft} () const \label{classNewFitterGSL_ad3e408c23575381f186ac274e64f7c1a}

\begin{DoxyCompactList}\small\item\em Get the number of soft constraints of the last fit. \end{DoxyCompactList}\item 
virtual int {\bf get\-Npar} () const \label{classNewFitterGSL_a5aaaccd516a35228f96c8836967409ba}

\begin{DoxyCompactList}\small\item\em Get the number of all parameters of the last fit. \end{DoxyCompactList}\item 
virtual int {\bf get\-Nunm} () const \label{classNewFitterGSL_a6f382796663095648550f29090e64e99}

\begin{DoxyCompactList}\small\item\em Get the number of unmeasured parameters of the last fit. \end{DoxyCompactList}\item 
virtual bool {\bf initialize} ()\label{classNewFitterGSL_a4a82c781eb5837be2273e8a0bb3fdb0e}

\begin{DoxyCompactList}\small\item\em Initialize the fitter. \end{DoxyCompactList}\item 
virtual void {\bf set\-Debug} (int debuglevel)\label{classNewFitterGSL_a3e982de4cd91abb220387f7203395495}

\begin{DoxyCompactList}\small\item\em Set the Debug Level. \end{DoxyCompactList}\item 
virtual void {\bf determine\-Lambdas} (gsl\-\_\-vector $\ast$vecxnew, const gsl\-\_\-matrix $\ast$Mat\-M, const gsl\-\_\-vector $\ast$vecx, gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-vector $\ast$vecw, double eps=0)
\begin{DoxyCompactList}\small\item\em Determine best lambda values. \end{DoxyCompactList}\item 
virtual void {\bf calc2nd\-Order\-Corr} (gsl\-\_\-vector $\ast$vecdxhat, const gsl\-\_\-vector $\ast$vecxnew, const gsl\-\_\-matrix $\ast$Mat\-M, gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-vector $\ast$vecw, double eps=0)
\begin{DoxyCompactList}\small\item\em Calculate 2nd order correction step. \end{DoxyCompactList}\item 
virtual gsl\-\_\-matrix\-\_\-view {\bf calc\-Z} (int \&rank\-A, gsl\-\_\-matrix $\ast$Mat\-W1, gsl\-\_\-matrix $\ast$Mat\-W2, gsl\-\_\-vector $\ast$vecw1, gsl\-\_\-vector $\ast$vecw2, gsl\-\_\-permutation $\ast$perm\-W, double eps=0)
\begin{DoxyCompactList}\small\item\em Calculate null space of constraints; return value is a matrix view of Mat\-W1, with column vectors spanning null(\-A) \end{DoxyCompactList}\item 
virtual gsl\-\_\-matrix\-\_\-view {\bf calc\-Reduced\-Hessian} (int \&rank\-H, gsl\-\_\-matrix $\ast$Mat\-W1, const gsl\-\_\-vector $\ast$vecx, gsl\-\_\-matrix $\ast$Mat\-W2, gsl\-\_\-matrix $\ast$Mat\-W3, gsl\-\_\-vector $\ast$vecw1, gsl\-\_\-vector $\ast$vecw2, gsl\-\_\-permutation $\ast$perm\-W, double eps=0)
\begin{DoxyCompactList}\small\item\em Calculate reduced Hessian; return value is a matrix view of Mat\-W1 giving the reduced Hessian. \end{DoxyCompactList}\item 
virtual gsl\-\_\-vector\-\_\-view {\bf calc\-Reduced\-Hessian\-Eigenvalues} (int \&rank\-H, gsl\-\_\-matrix $\ast$Mat\-W1, const gsl\-\_\-vector $\ast$vecx, gsl\-\_\-matrix $\ast$Mat\-W2, gsl\-\_\-matrix $\ast$Mat\-W3, gsl\-\_\-vector $\ast$vecw1, gsl\-\_\-vector $\ast$vecw2, gsl\-\_\-permutation $\ast$perm\-W, gsl\-\_\-eigen\-\_\-symm\-\_\-workspace $\ast$eigenws, double eps=0)
\item 
virtual double {\bf calc\-Chi2} ()\label{classNewFitterGSL_adbaf911ad987c4f283fc665d033b1bf8}

\begin{DoxyCompactList}\small\item\em Calculate the chi2. \end{DoxyCompactList}\item 
void {\bfseries fillx} (gsl\-\_\-vector $\ast$vecx)\label{classNewFitterGSL_a8864beb643092a783881cb9e73033d90}

\item 
void {\bfseries fillperr} (gsl\-\_\-vector $\ast$vece)\label{classNewFitterGSL_a1f2ff2b3d6c0fe936cef9bd0de8bb108}

\item 
void {\bfseries assemble\-M} (gsl\-\_\-matrix $\ast$Mat\-M, const gsl\-\_\-vector $\ast$vecx, bool errorpropagation=false)\label{classNewFitterGSL_a1a66eca9e33b363c499728d9b838b138}

\item 
void {\bfseries assemble\-G} (gsl\-\_\-matrix $\ast$Mat\-M, const gsl\-\_\-vector $\ast$vecx)\label{classNewFitterGSL_a7276bbae690d9c5f34beb8c482489857}

\item 
void {\bfseries scale\-M} (gsl\-\_\-matrix $\ast$Mat\-Mscal, const gsl\-\_\-matrix $\ast$Mat\-M, const gsl\-\_\-vector $\ast$vece)\label{classNewFitterGSL_a7a2a5014533481cdcdd94ca9be2072f7}

\item 
void {\bfseries assembley} (gsl\-\_\-vector $\ast$vecy, const gsl\-\_\-vector $\ast$vecx)\label{classNewFitterGSL_a080e1f9811b903e8b7b7e2b7797c71ac}

\item 
void {\bfseries scaley} (gsl\-\_\-vector $\ast$vecyscal, const gsl\-\_\-vector $\ast$vecy, const gsl\-\_\-vector $\ast$vece)\label{classNewFitterGSL_a64b63fab749b39f3675a214e6b35ac32}

\item 
void {\bfseries assemble\-Chi2\-Der} (gsl\-\_\-vector $\ast$vecy)\label{classNewFitterGSL_a772297cdb7f00e088af5fa6db62379fe}

\item 
void {\bfseries add\-Constraints} (gsl\-\_\-vector $\ast$vecy)\label{classNewFitterGSL_a75245de2b958b9de816dc622d1aa8c69}

\item 
void {\bfseries assemble\-Const\-Der} (gsl\-\_\-matrix $\ast$Mat\-M)\label{classNewFitterGSL_a4e51c2e79773dda2a316c7ef3cab6f97}

\item 
int {\bf calc\-Newton\-Dx} (gsl\-\_\-vector $\ast$vecdx, gsl\-\_\-vector $\ast$vecdxscal, gsl\-\_\-vector $\ast$vecx, const gsl\-\_\-vector $\ast$vece, gsl\-\_\-matrix $\ast$Mat\-M, gsl\-\_\-matrix $\ast$Mat\-Mscal, gsl\-\_\-vector $\ast$vecy, gsl\-\_\-vector $\ast$vecyscal, gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-matrix $\ast$Mat\-W2, gsl\-\_\-permutation $\ast$perm\-W, gsl\-\_\-vector $\ast$vecw)
\item 
int {\bf calc\-Limited\-Dx} (double \&alpha, double \&mu, gsl\-\_\-vector $\ast$vecxnew, int imode, gsl\-\_\-vector $\ast$vecx, gsl\-\_\-vector $\ast$vecdxhat, const gsl\-\_\-vector $\ast$vecdx, const gsl\-\_\-vector $\ast$vecdxscal, const gsl\-\_\-vector $\ast$vece, const gsl\-\_\-matrix $\ast$Mat\-M, const gsl\-\_\-matrix $\ast$Mat\-Mscal, gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-vector $\ast$vecw)
\item 
int {\bf do\-Line\-Search} (double \&alpha, gsl\-\_\-vector $\ast$vecxnew, int imode, double phi0, double dphi0, double phi\-R, double eta, double zeta, double mu, const gsl\-\_\-vector $\ast$vecx, const gsl\-\_\-vector $\ast$vecdx, const gsl\-\_\-vector $\ast$vece, gsl\-\_\-vector $\ast$vecw)
\item 
double {\bf calc\-Mu} (const gsl\-\_\-vector $\ast$vecx, const gsl\-\_\-vector $\ast$vece, const gsl\-\_\-vector $\ast$vecdx, const gsl\-\_\-vector $\ast$vecdxscal, const gsl\-\_\-vector $\ast$xnew, const gsl\-\_\-matrix $\ast$Mat\-M, const gsl\-\_\-matrix $\ast$Mat\-Mscal, gsl\-\_\-vector $\ast$vecw)
\item 
double {\bf merit\-Function} (double mu, const gsl\-\_\-vector $\ast$vecx, const gsl\-\_\-vector $\ast$vece)
\item 
double {\bf merit\-Function\-Deriv} (double mu, const gsl\-\_\-vector $\ast$vecx, const gsl\-\_\-vector $\ast$vece, const gsl\-\_\-vector $\ast$vecdx, gsl\-\_\-vector $\ast$vecw)
\item 
bool {\bfseries update\-Params} (gsl\-\_\-vector $\ast$vecx)\label{classNewFitterGSL_a176696cf611dc0cbb988591215d670f8}

\item 
int {\bfseries invert\-M} ()\label{classNewFitterGSL_af238180b78c53675065984a714b0f0b4}

\item 
void {\bfseries calc\-Cov\-Matrix} (gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-permutation $\ast$perm\-W, gsl\-\_\-vector $\ast$vecx)\label{classNewFitterGSL_a21f84e2af3fdcf7b6309610c3626efb1}

\item 
double {\bf calcp\-T\-Lp} (const gsl\-\_\-vector $\ast$vecdx, const gsl\-\_\-matrix $\ast$Mat\-M, gsl\-\_\-vector $\ast$vecw)
\item 
int {\bf solve\-System} (gsl\-\_\-vector $\ast$vecdxscal, double \&det\-W, const gsl\-\_\-vector $\ast$vecyscal, const gsl\-\_\-matrix $\ast$Mat\-Mscal, gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-matrix $\ast$Mat\-W2, gsl\-\_\-vector $\ast$vecw, double eps\-L\-U, double eps\-S\-V)\label{classNewFitterGSL_ac41888dac8b135ce3990fc57812f25c6}

\begin{DoxyCompactList}\small\item\em solve system of equations Mscal$\ast$dxscal = yscal \end{DoxyCompactList}\item 
int {\bf solve\-System\-L\-U} (gsl\-\_\-vector $\ast$vecdxscal, double \&det\-W, const gsl\-\_\-vector $\ast$vecyscal, const gsl\-\_\-matrix $\ast$Mat\-Mscal, gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-vector $\ast$vecw, double eps)\label{classNewFitterGSL_aa3e791f4051d8f73f0d759c0ba8d92e6}

\begin{DoxyCompactList}\small\item\em solve system of equations Mscal$\ast$dxscal = yscal using L\-U decomposition \end{DoxyCompactList}\item 
int {\bf solve\-System\-S\-V\-D} (gsl\-\_\-vector $\ast$vecdxscal, double \&det\-W, const gsl\-\_\-vector $\ast$vecyscal, const gsl\-\_\-matrix $\ast$Mat\-Mscal, gsl\-\_\-matrix $\ast$Mat\-W, gsl\-\_\-matrix $\ast$Mat\-W2, gsl\-\_\-vector $\ast$vecw, double eps)\label{classNewFitterGSL_a486f1021cde05ca8663aae8e87af341e}

\begin{DoxyCompactList}\small\item\em solve system of equations Mscal$\ast$dxscal = yscal using S\-V\-D decomposition \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void {\bfseries ini\-\_\-gsl\-\_\-permutation} (gsl\-\_\-permutation $\ast$\&p, unsigned int size)\label{classNewFitterGSL_ad3ebb289172d528006298cc3b71cfd1c}

\item 
static void {\bfseries ini\-\_\-gsl\-\_\-vector} (gsl\-\_\-vector $\ast$\&v, int unsigned size)\label{classNewFitterGSL_a5c75f0f98bbc4b7bd3c898c4d30267b7}

\item 
static void {\bfseries ini\-\_\-gsl\-\_\-matrix} (gsl\-\_\-matrix $\ast$\&m, int unsigned size1, unsigned int size2)\label{classNewFitterGSL_a5899a610ef65b6e11f8126ae7caf0a94}

\item 
static void {\bfseries debug\-\_\-print} (const gsl\-\_\-matrix $\ast$m, const char $\ast$name)\label{classNewFitterGSL_acfac474ba3cef0487874d7c22dabd411}

\item 
static void {\bfseries debug\-\_\-print} (const gsl\-\_\-vector $\ast$v, const char $\ast$name)\label{classNewFitterGSL_a3f2736f4795d9eb877f5a686e9a44112}

\item 
static void {\bfseries add} (gsl\-\_\-vector $\ast$vecz, const gsl\-\_\-vector $\ast$vecx, double a, const gsl\-\_\-vector $\ast$vecy)\label{classNewFitterGSL_a1c3a260d9c4db699c74042d6e4f951cd}

\item 
static bool {\bfseries isfinite} (const gsl\-\_\-vector $\ast$vec)\label{classNewFitterGSL_a8e2c918033d75681826248e3ccb33241}

\item 
static bool {\bfseries isfinite} (const gsl\-\_\-matrix $\ast$mat)\label{classNewFitterGSL_ae103013aa3236438a55e52116dc7a818}

\item 
static void {\bf Moore\-Penrose\-Inverse} (gsl\-\_\-matrix $\ast$Ainv, gsl\-\_\-matrix $\ast$A, gsl\-\_\-matrix $\ast$W, gsl\-\_\-vector $\ast$w, double eps=0)
\begin{DoxyCompactList}\small\item\em Compute the Moore-\/\-Penrose pseudo-\/inverse A+ of A, using S\-V\-D. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
int {\bf npar}\label{classNewFitterGSL_aa7fa5ae3a27f457567e5e521d1476ab7}

\begin{DoxyCompactList}\small\item\em total number of parameters \end{DoxyCompactList}\item 
int {\bf ncon}\label{classNewFitterGSL_a957fd45d2d19c2e70024a21d50ee449b}

\begin{DoxyCompactList}\small\item\em total number of hard constraints \end{DoxyCompactList}\item 
int {\bf nsoft}\label{classNewFitterGSL_a5afe6482439a663d4033b1a178a85e6e}

\begin{DoxyCompactList}\small\item\em total number of soft constraints \end{DoxyCompactList}\item 
int {\bf nunm}\label{classNewFitterGSL_a7b24440ed51cbed9e7351f75b4a2df0b}

\begin{DoxyCompactList}\small\item\em total number of unmeasured parameters \end{DoxyCompactList}\item 
int {\bf ierr}\label{classNewFitterGSL_a7ff3745813ef1b1b13dd95c526f91d54}

\begin{DoxyCompactList}\small\item\em Error status. \end{DoxyCompactList}\item 
int {\bf nit}\label{classNewFitterGSL_a5bf7769eda65cac38457ba1c486c9c34}

\begin{DoxyCompactList}\small\item\em Number of iterations. \end{DoxyCompactList}\item 
double {\bf fitprob}\label{classNewFitterGSL_a6e6fb9ccc0c6b6c45274f98682843e5b}

\begin{DoxyCompactList}\small\item\em fit probability \end{DoxyCompactList}\item 
double {\bf chi2}\label{classNewFitterGSL_a5a1c804d33a4f07b1620698393e8ce3f}

\begin{DoxyCompactList}\small\item\em final chi2 \end{DoxyCompactList}\item 
unsigned int {\bfseries idim}\label{classNewFitterGSL_a299cbfd1c354b9c990f239153cdd77e5}

\item 
gsl\-\_\-vector $\ast$ {\bfseries x}\label{classNewFitterGSL_ab342e24afdd41b3e4c02c64d56289970}

\item 
gsl\-\_\-vector $\ast$ {\bfseries xold}\label{classNewFitterGSL_a49bf3fc99a96cb63b6da3e96e789fef4}

\item 
gsl\-\_\-vector $\ast$ {\bfseries xnew}\label{classNewFitterGSL_a3be4924e0453ac5419aec9d048c3bc01}

\item 
gsl\-\_\-vector $\ast$ {\bfseries dx}\label{classNewFitterGSL_aafdfa2ffd5cea00be36907ac3c8f8666}

\item 
gsl\-\_\-vector $\ast$ {\bfseries dxscal}\label{classNewFitterGSL_a75eb9fda566338afe99685c9a3fa84f7}

\item 
gsl\-\_\-vector $\ast$ {\bfseries y}\label{classNewFitterGSL_a88ffae24a05eb17667e0d90ee8ad507a}

\item 
gsl\-\_\-vector $\ast$ {\bfseries yscal}\label{classNewFitterGSL_a66e6942ca7e24f2013bea85f5b40409c}

\item 
gsl\-\_\-vector $\ast$ {\bfseries perr}\label{classNewFitterGSL_ab10833f101a098351eeb9533244a6606}

\item 
gsl\-\_\-vector $\ast$ {\bfseries v1}\label{classNewFitterGSL_abf11e02f9bb6c62e8d99e69b592a250e}

\item 
gsl\-\_\-vector $\ast$ {\bfseries v2}\label{classNewFitterGSL_a757644dd76a9c1466354b7674d6f7dab}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries M}\label{classNewFitterGSL_a51a1827702e3ea33763f0de1502a694e}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries Mscal}\label{classNewFitterGSL_a410fb1542ebb2e571946f7e6da665392}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries W}\label{classNewFitterGSL_abcbbc59c56ab7afe89f492d7d61d6aa1}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries W2}\label{classNewFitterGSL_a0f6bb55f91121d0ee187054bc8488372}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries W3}\label{classNewFitterGSL_a37a5aa05f9b68634e54fe751dd853680}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries M1}\label{classNewFitterGSL_a673212771f6021ba084f5966addd8be2}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries M2}\label{classNewFitterGSL_a0da17acaee78588ac4a292a2c47098b9}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries M3}\label{classNewFitterGSL_a12f33e126d1922acd0ec4fbb72fcbf21}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries M4}\label{classNewFitterGSL_a7ffa039b9a119148fd527a1180eeb280}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries M5}\label{classNewFitterGSL_a5a55d434dba4e698c30526887689dfae}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries C\-C}\label{classNewFitterGSL_af03e327b0c4e75ce8ad7917c1ad02d2f}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries C\-C1}\label{classNewFitterGSL_a55eef991a28ed7ca1379960f4585fdb5}

\item 
gsl\-\_\-matrix $\ast$ {\bfseries C\-Cinv}\label{classNewFitterGSL_ae0ea9e7e7ab85b8370db109eedbf141a}

\item 
gsl\-\_\-permutation $\ast$ {\bfseries perm\-W}\label{classNewFitterGSL_aa59890e7e3754aae1b343d845e54091f}

\item 
gsl\-\_\-eigen\-\_\-symm\-\_\-workspace $\ast$ {\bfseries eigenws}\label{classNewFitterGSL_aacb2c91417c9d2d42f9dd97ed3bbc447}

\item 
unsigned int {\bfseries eigenwsdim}\label{classNewFitterGSL_a3537c05e6cac60b0cc710db64aa6ed80}

\item 
double {\bfseries chi2best}\label{classNewFitterGSL_a2d8c04d6a315ee8f5e59bd4990ba7df9}

\item 
double {\bfseries chi2new}\label{classNewFitterGSL_a1bcdbbc2efd5dbc768f132d5e05989ba}

\item 
double {\bfseries chi2old}\label{classNewFitterGSL_af1a73ef89c6ce54d1693172f7ce50831}

\item 
double {\bfseries fvalbest}\label{classNewFitterGSL_a49c0dcce3614c5c19c9c18d595065825}

\item 
double {\bfseries scale}\label{classNewFitterGSL_a35735d45a8e5eceb418a2f198ac16750}

\item 
double {\bfseries scalebest}\label{classNewFitterGSL_a3bb4ea3ad015d9132d1b5a62da54faa1}

\item 
double {\bfseries stepsize}\label{classNewFitterGSL_aa822b5de59ddc2160f4932e656a0d6d7}

\item 
double {\bfseries stepbest}\label{classNewFitterGSL_a4644e939b61c79ad0da2696a26301552}

\item 
double {\bfseries scalevals} [N\-I\-T\-M\-A\-X]\label{classNewFitterGSL_af960f5a40aff3fa2b72f0fe5a00851ae}

\item 
double {\bfseries fvals} [N\-I\-T\-M\-A\-X]\label{classNewFitterGSL_a96a6c790342633d1e33061e7d1e4dba3}

\item 
int {\bfseries imerit}\label{classNewFitterGSL_a801433f2c078f779a9a795280a5cd497}

\item 
bool {\bfseries try2nd\-Order\-Corr}\label{classNewFitterGSL_adffc87b84be82b28bbb5607a0d21413a}

\item 
int {\bfseries debug}\label{classNewFitterGSL_acfd53184018bb72bd834236a8f2e3353}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
A kinematic fitter using the Newton-\/\-Raphson method to solve the equations. 

This class implements a kinematic fitter using the Newton-\/\-Raphson method to solve the system of equations arising from the Lagrange multiplier method

Author\-: Benno List Last update\-: \begin{DoxyParagraph}{Date\-:}
2011/05/03 13\-:16\-:41 
\end{DoxyParagraph}
by\-: \begin{DoxyParagraph}{Author\-:}
blist 
\end{DoxyParagraph}


{\bfseries Changelog\-:} 
\begin{DoxyItemize}
\item 15.\-11.\-2010 First version 
\end{DoxyItemize}

\subsection{Member Function Documentation}
\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calc2nd\-Order\-Corr@{calc2nd\-Order\-Corr}}
\index{calc2nd\-Order\-Corr@{calc2nd\-Order\-Corr}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calc2nd\-Order\-Corr}]{\setlength{\rightskip}{0pt plus 5cm}void New\-Fitter\-G\-S\-L\-::calc2nd\-Order\-Corr (
\begin{DoxyParamCaption}
\item[{gsl\-\_\-vector $\ast$}]{vecdxhat, }
\item[{const gsl\-\_\-vector $\ast$}]{vecxnew, }
\item[{const gsl\-\_\-matrix $\ast$}]{Mat\-M, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W, }
\item[{gsl\-\_\-vector $\ast$}]{vecw, }
\item[{double}]{eps = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classNewFitterGSL_a0489b64ec9730d4868d417d875b07356}


Calculate 2nd order correction step. 


\begin{DoxyParams}{Parameters}
{\em vecdxhat} & the correction step \\
\hline
{\em vecxnew} & the current state vector (parameters must be set to vecxnew!) \\
\hline
{\em Mat\-M} & The matrix of the last Newton step \\
\hline
{\em Mat\-W} & work matrix \\
\hline
{\em vecw} & work vector \\
\hline
{\em eps} & Singular values $<$ eps$\ast$(max(abs(s\-\_\-i))) are set to 0 \\
\hline
\end{DoxyParams}


References ncon, and npar.



Referenced by calc\-Limited\-Dx().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calc\-Limited\-Dx@{calc\-Limited\-Dx}}
\index{calc\-Limited\-Dx@{calc\-Limited\-Dx}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calc\-Limited\-Dx}]{\setlength{\rightskip}{0pt plus 5cm}int New\-Fitter\-G\-S\-L\-::calc\-Limited\-Dx (
\begin{DoxyParamCaption}
\item[{double \&}]{alpha, }
\item[{double \&}]{mu, }
\item[{gsl\-\_\-vector $\ast$}]{vecxnew, }
\item[{int}]{imode, }
\item[{gsl\-\_\-vector $\ast$}]{vecx, }
\item[{gsl\-\_\-vector $\ast$}]{vecdxhat, }
\item[{const gsl\-\_\-vector $\ast$}]{vecdx, }
\item[{const gsl\-\_\-vector $\ast$}]{vecdxscal, }
\item[{const gsl\-\_\-vector $\ast$}]{vece, }
\item[{const gsl\-\_\-matrix $\ast$}]{Mat\-M, }
\item[{const gsl\-\_\-matrix $\ast$}]{Mat\-Mscal, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W, }
\item[{gsl\-\_\-vector $\ast$}]{vecw}
\end{DoxyParamCaption}
)}\label{classNewFitterGSL_a03a1ae789f6b524de979b827d864e44b}

\begin{DoxyParams}{Parameters}
{\em alpha} & Output value alpha \\
\hline
{\em mu} & Value of mu for merit function \\
\hline
{\em vecxnew} & New vector x \\
\hline
{\em imode} & mode\-: 0=Armijo, 1=Wolfe, 2=Goldstein \\
\hline
{\em vecx} & Current vector x \\
\hline
{\em vecdxhat} & the 2nd order correction step, if any \\
\hline
{\em vecdx} & Update vector dx \\
\hline
{\em vecdxscal} & Result\-: Update vector dx, scaled \\
\hline
{\em vece} & Error vector e \\
\hline
{\em Mat\-M} & Matrix M \\
\hline
{\em Mat\-Mscal} & Matrix M, scaled \\
\hline
{\em Mat\-W} & Work matrix \\
\hline
{\em vecw} & Work vector w1 \\
\hline
\end{DoxyParams}


References calc2nd\-Order\-Corr(), calc\-Chi2(), calc\-Mu(), do\-Line\-Search(), merit\-Function(), merit\-Function\-Deriv(), and Base\-Tracer\-::substep().



Referenced by fit().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calc\-Mu@{calc\-Mu}}
\index{calc\-Mu@{calc\-Mu}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calc\-Mu}]{\setlength{\rightskip}{0pt plus 5cm}double New\-Fitter\-G\-S\-L\-::calc\-Mu (
\begin{DoxyParamCaption}
\item[{const gsl\-\_\-vector $\ast$}]{vecx, }
\item[{const gsl\-\_\-vector $\ast$}]{vece, }
\item[{const gsl\-\_\-vector $\ast$}]{vecdx, }
\item[{const gsl\-\_\-vector $\ast$}]{vecdxscal, }
\item[{const gsl\-\_\-vector $\ast$}]{xnew, }
\item[{const gsl\-\_\-matrix $\ast$}]{Mat\-M, }
\item[{const gsl\-\_\-matrix $\ast$}]{Mat\-Mscal, }
\item[{gsl\-\_\-vector $\ast$}]{vecw}
\end{DoxyParamCaption}
)}\label{classNewFitterGSL_abab119c9065356d77de532ef5acca40e}

\begin{DoxyParams}{Parameters}
{\em vecx} & Current vector x \\
\hline
{\em vece} & Current errors x \\
\hline
{\em vecdx} & Current step dx \\
\hline
{\em vecdxscal} & Current step dx, scaled \\
\hline
{\em xnew} & New vector x \\
\hline
{\em Mat\-M} & Current matrix M \\
\hline
{\em Mat\-Mscal} & Current scaled matrix M \\
\hline
{\em vecw} & Work vector w \\
\hline
\end{DoxyParams}


References calcp\-T\-Lp(), ncon, and npar.



Referenced by calc\-Limited\-Dx().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calc\-Newton\-Dx@{calc\-Newton\-Dx}}
\index{calc\-Newton\-Dx@{calc\-Newton\-Dx}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calc\-Newton\-Dx}]{\setlength{\rightskip}{0pt plus 5cm}int New\-Fitter\-G\-S\-L\-::calc\-Newton\-Dx (
\begin{DoxyParamCaption}
\item[{gsl\-\_\-vector $\ast$}]{vecdx, }
\item[{gsl\-\_\-vector $\ast$}]{vecdxscal, }
\item[{gsl\-\_\-vector $\ast$}]{vecx, }
\item[{const gsl\-\_\-vector $\ast$}]{vece, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-M, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-Mscal, }
\item[{gsl\-\_\-vector $\ast$}]{vecy, }
\item[{gsl\-\_\-vector $\ast$}]{vecyscal, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W2, }
\item[{gsl\-\_\-permutation $\ast$}]{perm\-W, }
\item[{gsl\-\_\-vector $\ast$}]{vecw}
\end{DoxyParamCaption}
)}\label{classNewFitterGSL_a482c0f6db09005c8df5bc085bf087199}

\begin{DoxyParams}{Parameters}
{\em vecdx} & Result\-: Update vector dx \\
\hline
{\em vecdxscal} & Result\-: Update vector dx, scaled \\
\hline
{\em vecx} & Current vector x \\
\hline
{\em vece} & Current ``error'' set of x \\
\hline
{\em Mat\-M} & Matrix M \\
\hline
{\em Mat\-Mscal} & Matrix M, scaled \\
\hline
{\em vecy} & Vector y \\
\hline
{\em vecyscal} & Vector y, scaled, \\
\hline
{\em Mat\-W} & Work matrix \\
\hline
{\em Mat\-W2} & Work matrix \\
\hline
{\em perm\-W} & Work permutation vector \\
\hline
{\em vecw} & Work vector \\
\hline
\end{DoxyParams}


References calcp\-T\-Lp(), determine\-Lambdas(), ncon, npar, and solve\-System().



Referenced by fit().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calcp\-T\-Lp@{calcp\-T\-Lp}}
\index{calcp\-T\-Lp@{calcp\-T\-Lp}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calcp\-T\-Lp}]{\setlength{\rightskip}{0pt plus 5cm}double New\-Fitter\-G\-S\-L\-::calcp\-T\-Lp (
\begin{DoxyParamCaption}
\item[{const gsl\-\_\-vector $\ast$}]{vecdx, }
\item[{const gsl\-\_\-matrix $\ast$}]{Mat\-M, }
\item[{gsl\-\_\-vector $\ast$}]{vecw}
\end{DoxyParamCaption}
)}\label{classNewFitterGSL_aea5de21d450c9ac3e869f64eb247afdc}

\begin{DoxyParams}{Parameters}
{\em vecdx} & Current step dx \\
\hline
{\em Mat\-M} & Current matrix M \\
\hline
{\em vecw} & Work vector w \\
\hline
\end{DoxyParams}


References npar.



Referenced by calc\-Mu(), and calc\-Newton\-Dx().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calc\-Reduced\-Hessian@{calc\-Reduced\-Hessian}}
\index{calc\-Reduced\-Hessian@{calc\-Reduced\-Hessian}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calc\-Reduced\-Hessian}]{\setlength{\rightskip}{0pt plus 5cm}gsl\-\_\-matrix\-\_\-view New\-Fitter\-G\-S\-L\-::calc\-Reduced\-Hessian (
\begin{DoxyParamCaption}
\item[{int \&}]{rank\-H, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W1, }
\item[{const gsl\-\_\-vector $\ast$}]{vecx, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W2, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W3, }
\item[{gsl\-\_\-vector $\ast$}]{vecw1, }
\item[{gsl\-\_\-vector $\ast$}]{vecw2, }
\item[{gsl\-\_\-permutation $\ast$}]{perm\-W, }
\item[{double}]{eps = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classNewFitterGSL_a6bac27b460a3363dff2632d637cabd98}


Calculate reduced Hessian; return value is a matrix view of Mat\-W1 giving the reduced Hessian. 


\begin{DoxyParams}{Parameters}
{\em rank\-H} & dimension of H \\
\hline
{\em Mat\-W1} & work matrix, contains H at the end \\
\hline
{\em vecx} & vector with current x values \\
\hline
{\em Mat\-W2} & work matrix, contains Z at the end \\
\hline
{\em Mat\-W3} & work matrix \\
\hline
{\em vecw1} & work vector \\
\hline
{\em vecw2} & work vector \\
\hline
{\em perm\-W} & Work permutation vector \\
\hline
{\em eps} & Singular values $<$ eps$\ast$(max(abs(s\-\_\-i))) are set to 0 \\
\hline
\end{DoxyParams}


References calc\-Z(), and npar.



Referenced by calc\-Reduced\-Hessian\-Eigenvalues().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calc\-Reduced\-Hessian\-Eigenvalues@{calc\-Reduced\-Hessian\-Eigenvalues}}
\index{calc\-Reduced\-Hessian\-Eigenvalues@{calc\-Reduced\-Hessian\-Eigenvalues}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calc\-Reduced\-Hessian\-Eigenvalues}]{\setlength{\rightskip}{0pt plus 5cm}gsl\-\_\-vector\-\_\-view New\-Fitter\-G\-S\-L\-::calc\-Reduced\-Hessian\-Eigenvalues (
\begin{DoxyParamCaption}
\item[{int \&}]{rank\-H, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W1, }
\item[{const gsl\-\_\-vector $\ast$}]{vecx, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W2, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W3, }
\item[{gsl\-\_\-vector $\ast$}]{vecw1, }
\item[{gsl\-\_\-vector $\ast$}]{vecw2, }
\item[{gsl\-\_\-permutation $\ast$}]{perm\-W, }
\item[{gsl\-\_\-eigen\-\_\-symm\-\_\-workspace $\ast$}]{eigenws, }
\item[{double}]{eps = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classNewFitterGSL_a084a7664a4ccf2d2d248267e35a53004}

\begin{DoxyParams}{Parameters}
{\em rank\-H} & dimension of H \\
\hline
{\em Mat\-W1} & work matrix, contains H at the end \\
\hline
{\em vecx} & vector with current x values \\
\hline
{\em Mat\-W2} & work matrix, contains Z at the end \\
\hline
{\em Mat\-W3} & work matrix \\
\hline
{\em vecw1} & work vector \\
\hline
{\em vecw2} & work vector \\
\hline
{\em perm\-W} & Work permutation vector \\
\hline
{\em eigenws} & Work space for eigenvalue calculation \\
\hline
{\em eps} & Singular values $<$ eps$\ast$(max(abs(s\-\_\-i))) are set to 0 \\
\hline
\end{DoxyParams}


References calc\-Reduced\-Hessian().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!calc\-Z@{calc\-Z}}
\index{calc\-Z@{calc\-Z}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{calc\-Z}]{\setlength{\rightskip}{0pt plus 5cm}gsl\-\_\-matrix\-\_\-view New\-Fitter\-G\-S\-L\-::calc\-Z (
\begin{DoxyParamCaption}
\item[{int \&}]{rank\-A, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W1, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W2, }
\item[{gsl\-\_\-vector $\ast$}]{vecw1, }
\item[{gsl\-\_\-vector $\ast$}]{vecw2, }
\item[{gsl\-\_\-permutation $\ast$}]{perm\-W, }
\item[{double}]{eps = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classNewFitterGSL_a51234e1b52e7075151008dbf3074cb90}


Calculate null space of constraints; return value is a matrix view of Mat\-W1, with column vectors spanning null(\-A) 


\begin{DoxyParams}{Parameters}
{\em rank\-A} & rank of A (= number of lin. indep. constraints) \\
\hline
{\em Mat\-W1} & work matrix, contains Z at the end \\
\hline
{\em Mat\-W2} & work matrix \\
\hline
{\em vecw1} & work vector \\
\hline
{\em vecw2} & work vector \\
\hline
{\em perm\-W} & Work permutation vector \\
\hline
{\em eps} & Singular values $<$ eps$\ast$(max(abs(s\-\_\-i))) are set to 0 \\
\hline
\end{DoxyParams}


References ncon, and npar.



Referenced by calc\-Reduced\-Hessian().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!determine\-Lambdas@{determine\-Lambdas}}
\index{determine\-Lambdas@{determine\-Lambdas}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{determine\-Lambdas}]{\setlength{\rightskip}{0pt plus 5cm}void New\-Fitter\-G\-S\-L\-::determine\-Lambdas (
\begin{DoxyParamCaption}
\item[{gsl\-\_\-vector $\ast$}]{vecxnew, }
\item[{const gsl\-\_\-matrix $\ast$}]{Mat\-M, }
\item[{const gsl\-\_\-vector $\ast$}]{vecx, }
\item[{gsl\-\_\-matrix $\ast$}]{Mat\-W, }
\item[{gsl\-\_\-vector $\ast$}]{vecw, }
\item[{double}]{eps = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\label{classNewFitterGSL_a071c33b03cb00b46d45a802435ccb478}


Determine best lambda values. 


\begin{DoxyParams}{Parameters}
{\em vecxnew} & vector with new lambda values \\
\hline
{\em Mat\-M} & matrix with constraint derivatives \\
\hline
{\em vecx} & vector with current x values \\
\hline
{\em Mat\-W} & work matrix \\
\hline
{\em vecw} & work vector \\
\hline
{\em eps} & Singular values $<$ eps$\ast$(max(abs(s\-\_\-i))) are set to 0 \\
\hline
\end{DoxyParams}


References ncon, and npar.



Referenced by calc\-Newton\-Dx(), and fit().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!do\-Line\-Search@{do\-Line\-Search}}
\index{do\-Line\-Search@{do\-Line\-Search}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{do\-Line\-Search}]{\setlength{\rightskip}{0pt plus 5cm}int New\-Fitter\-G\-S\-L\-::do\-Line\-Search (
\begin{DoxyParamCaption}
\item[{double \&}]{alpha, }
\item[{gsl\-\_\-vector $\ast$}]{vecxnew, }
\item[{int}]{imode, }
\item[{double}]{phi0, }
\item[{double}]{dphi0, }
\item[{double}]{phi\-R, }
\item[{double}]{eta, }
\item[{double}]{zeta, }
\item[{double}]{mu, }
\item[{const gsl\-\_\-vector $\ast$}]{vecx, }
\item[{const gsl\-\_\-vector $\ast$}]{vecdx, }
\item[{const gsl\-\_\-vector $\ast$}]{vece, }
\item[{gsl\-\_\-vector $\ast$}]{vecw}
\end{DoxyParamCaption}
)}\label{classNewFitterGSL_a4ba3a17d8fb89401376b868dab035652}

\begin{DoxyParams}{Parameters}
{\em alpha} & Output value alpha \\
\hline
{\em vecxnew} & New vector x \\
\hline
{\em imode} & mode\-: 0=Armijo, 1=Wolfe, 2=Goldstein \\
\hline
{\em phi0} & Merit function for alpha=0 \\
\hline
{\em dphi0} & Directional derivative of merit function for alpha=0 \\
\hline
{\em phi\-R} & Merit function for given alpha \\
\hline
{\em eta} & Constant for Armijo's rule \\
\hline
{\em zeta} & Constant for Wolfe's or Goldstein's rule \\
\hline
{\em mu} & Value of mu for merit function \\
\hline
{\em vecx} & Current vector x \\
\hline
{\em vecdx} & Update vector dx \\
\hline
{\em vece} & Error vector e \\
\hline
{\em vecw} & Work vector w \\
\hline
\end{DoxyParams}


References merit\-Function(), merit\-Function\-Deriv(), nit, and Base\-Tracer\-::substep().



Referenced by calc\-Limited\-Dx().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!merit\-Function@{merit\-Function}}
\index{merit\-Function@{merit\-Function}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{merit\-Function}]{\setlength{\rightskip}{0pt plus 5cm}double New\-Fitter\-G\-S\-L\-::merit\-Function (
\begin{DoxyParamCaption}
\item[{double}]{mu, }
\item[{const gsl\-\_\-vector $\ast$}]{vecx, }
\item[{const gsl\-\_\-vector $\ast$}]{vece}
\end{DoxyParamCaption}
)}\label{classNewFitterGSL_a0c7c223307e2a9d45851d9e928c592d0}

\begin{DoxyParams}{Parameters}
{\em mu} & Value of mu \\
\hline
{\em vecx} & Current vector x \\
\hline
{\em vece} & Current errors x \\
\hline
\end{DoxyParams}


References calc\-Chi2(), Base\-Hard\-Constraint\-::get\-Global\-Num(), and Base\-Hard\-Constraint\-::get\-Value().



Referenced by calc\-Limited\-Dx(), and do\-Line\-Search().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!merit\-Function\-Deriv@{merit\-Function\-Deriv}}
\index{merit\-Function\-Deriv@{merit\-Function\-Deriv}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{merit\-Function\-Deriv}]{\setlength{\rightskip}{0pt plus 5cm}double New\-Fitter\-G\-S\-L\-::merit\-Function\-Deriv (
\begin{DoxyParamCaption}
\item[{double}]{mu, }
\item[{const gsl\-\_\-vector $\ast$}]{vecx, }
\item[{const gsl\-\_\-vector $\ast$}]{vece, }
\item[{const gsl\-\_\-vector $\ast$}]{vecdx, }
\item[{gsl\-\_\-vector $\ast$}]{vecw}
\end{DoxyParamCaption}
)}\label{classNewFitterGSL_a1dd78e6b13b287929c218a9bbab14d38}

\begin{DoxyParams}{Parameters}
{\em mu} & Value of mu \\
\hline
{\em vecx} & Current vector x \\
\hline
{\em vece} & Current errors x \\
\hline
{\em vecdx} & Current update vector dx \\
\hline
{\em vecw} & work vector \\
\hline
\end{DoxyParams}


References Base\-Hard\-Constraint\-::get\-Global\-Num(), Base\-Hard\-Constraint\-::get\-Value(), and npar.



Referenced by calc\-Limited\-Dx(), and do\-Line\-Search().

\index{New\-Fitter\-G\-S\-L@{New\-Fitter\-G\-S\-L}!Moore\-Penrose\-Inverse@{Moore\-Penrose\-Inverse}}
\index{Moore\-Penrose\-Inverse@{Moore\-Penrose\-Inverse}!NewFitterGSL@{New\-Fitter\-G\-S\-L}}
\subsubsection[{Moore\-Penrose\-Inverse}]{\setlength{\rightskip}{0pt plus 5cm}void New\-Fitter\-G\-S\-L\-::\-Moore\-Penrose\-Inverse (
\begin{DoxyParamCaption}
\item[{gsl\-\_\-matrix $\ast$}]{Ainv, }
\item[{gsl\-\_\-matrix $\ast$}]{A, }
\item[{gsl\-\_\-matrix $\ast$}]{W, }
\item[{gsl\-\_\-vector $\ast$}]{w, }
\item[{double}]{eps = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}\label{classNewFitterGSL_a5b3cf3924b9aa853957125d2b5c1ad2c}


Compute the Moore-\/\-Penrose pseudo-\/inverse A+ of A, using S\-V\-D. 


\begin{DoxyParams}{Parameters}
{\em Ainv} & Result\-: m x n matrix A+ \\
\hline
{\em A} & Input\-: n x m matrix A, n $>$= m (is destroyed!) \\
\hline
{\em W} & Work matrix, at least m x m \\
\hline
{\em w} & Work vector w, at least m \\
\hline
{\em eps} & Singular values $<$ eps$\ast$(max(abs(s\-\_\-i))) are set to 0 \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
{\bf New\-Fitter\-G\-S\-L.\-h}\item 
{\bf New\-Fitter\-G\-S\-L.\-cc}\end{DoxyCompactItemize}
