various cleaning and homogeneization

This commit is contained in:
Thomas Capricelli
2009-08-24 08:28:31 +02:00
parent 930651ff9a
commit 950eb4a254
7 changed files with 102 additions and 160 deletions

View File

@@ -167,7 +167,7 @@ void testLmder()
const int m=15, n=3;
int info, nfev=0, njev=0;
double fnorm, covfac, covar_ftol;
VectorXd x(n), fvec(m), diag(n);
VectorXd x(n), fvec(m), diag(n), qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -175,7 +175,7 @@ void testLmder()
x.setConstant(n, 1.);
// do the computation
info = ei_lmder<lmder_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<lmder_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return values
VERIFY( 1 == info);
@@ -630,7 +630,7 @@ void testNistChwirut2(void)
const int m=54, n=3;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -639,7 +639,7 @@ void testNistChwirut2(void)
*/
x<< 0.1, 0.01, 0.02;
// do the computation
info = ei_lmder<chwirut2_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<chwirut2_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -657,7 +657,7 @@ void testNistChwirut2(void)
*/
x<< 0.15, 0.008, 0.010;
// do the computation
info = ei_lmder<chwirut2_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<chwirut2_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 400, 1.E6*epsilon<double>(), 1.E6*epsilon<double>());
// check return value
@@ -707,7 +707,7 @@ void testNistMisra1a(void)
const int m=14, n=2;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -716,7 +716,7 @@ void testNistMisra1a(void)
*/
x<< 500., 0.0001;
// do the computation
info = ei_lmder<misra1a_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<misra1a_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -733,7 +733,7 @@ void testNistMisra1a(void)
*/
x<< 250., 0.0005;
// do the computation
info = ei_lmder<misra1a_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<misra1a_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -792,7 +792,7 @@ void testNistHahn1(void)
const int m=236, n=7;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -801,7 +801,7 @@ void testNistHahn1(void)
*/
x<< 10., -1., .05, -.00001, -.05, .001, -.000001;
// do the computation
info = ei_lmder<hahn1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<hahn1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -823,7 +823,7 @@ void testNistHahn1(void)
*/
x<< .1, -.1, .005, -.000001, -.005, .0001, -.0000001;
// do the computation
info = ei_lmder<hahn1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<hahn1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -877,7 +877,7 @@ void testNistMisra1d(void)
const int m=14, n=2;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -886,7 +886,7 @@ void testNistMisra1d(void)
*/
x<< 500., 0.0001;
// do the computation
info = ei_lmder<misra1d_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<misra1d_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 3 == info);
@@ -903,7 +903,7 @@ void testNistMisra1d(void)
*/
x<< 450., 0.0003;
// do the computation
info = ei_lmder<misra1d_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<misra1d_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -954,7 +954,7 @@ void testNistLanczos1(void)
const int m=24, n=6;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -963,7 +963,7 @@ void testNistLanczos1(void)
*/
x<< 1.2, 0.3, 5.6, 5.5, 6.5, 7.6;
// do the computation
info = ei_lmder<lanczos1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<lanczos1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 2 == info);
@@ -984,7 +984,7 @@ void testNistLanczos1(void)
*/
x<< 0.5, 0.7, 3.6, 4.2, 4., 6.3;
// do the computation
info = ei_lmder<lanczos1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<lanczos1_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 2 == info);
@@ -1039,7 +1039,7 @@ void testNistRat42(void)
const int m=9, n=3;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1048,7 +1048,7 @@ void testNistRat42(void)
*/
x<< 100., 1., 0.1;
// do the computation
info = ei_lmder<rat42_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<rat42_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -1066,7 +1066,7 @@ void testNistRat42(void)
*/
x<< 75., 2.5, 0.07;
// do the computation
info = ei_lmder<rat42_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<rat42_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -1116,7 +1116,7 @@ void testNistMGH10(void)
const int m=16, n=3;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1125,7 +1125,7 @@ void testNistMGH10(void)
*/
x<< 2., 400000., 25000.;
// do the computation
info = ei_lmder<MGH10_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<MGH10_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 2 == info);
@@ -1143,7 +1143,7 @@ void testNistMGH10(void)
*/
x<< 0.02, 4000., 250.;
// do the computation
info = ei_lmder<MGH10_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<MGH10_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 2 == info);
@@ -1191,7 +1191,7 @@ void testNistBoxBOD(void)
const int m=6, n=2;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1200,7 +1200,7 @@ void testNistBoxBOD(void)
*/
x<< 1., 1.;
// do the computation
info = ei_lmder<BoxBOD_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<BoxBOD_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 10., 400, 1E6*epsilon<double>(), 1E6*epsilon<double>());
// check return value
@@ -1218,7 +1218,7 @@ void testNistBoxBOD(void)
*/
x<< 100., 0.75;
// do the computation
info = ei_lmder<BoxBOD_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<BoxBOD_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 14000, epsilon<double>(), epsilon<double>());
// check return value
@@ -1268,7 +1268,7 @@ void testNistMGH17(void)
const int m=33, n=5;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1279,7 +1279,7 @@ void testNistMGH17(void)
x<< 50., 150., -100., 1., 2.;
// do the computation
info = ei_lmder<MGH17_functor, double>(
x, fvec, nfev, njev, fjac, ipvt, diag,
x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 5000, epsilon<double>(), epsilon<double>());
// check return value
@@ -1301,7 +1301,7 @@ void testNistMGH17(void)
*/
x<< 0.5 ,1.5 ,-1 ,0.01 ,0.02;
// do the computation
info = ei_lmder<MGH17_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<MGH17_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -1356,7 +1356,7 @@ void testNistMGH09(void)
const int m=11, n=4;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1365,7 +1365,7 @@ void testNistMGH09(void)
*/
x<< 25., 39, 41.5, 39.;
// do the computation
info = ei_lmder<MGH09_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<MGH09_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 5000);
// 1, 100., 5000, epsilon<double>(), epsilon<double>());
@@ -1386,7 +1386,7 @@ void testNistMGH09(void)
*/
x<< 0.25, 0.39, 0.415, 0.39;
// do the computation
info = ei_lmder<MGH09_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<MGH09_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -1438,7 +1438,7 @@ void testNistBennett5(void)
const int m=154, n=3;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1447,7 +1447,7 @@ void testNistBennett5(void)
*/
x<< -2000., 50., 0.8;
// do the computation
info = ei_lmder<Bennett5_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<Bennett5_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 5000);
// check return value
@@ -1465,7 +1465,7 @@ void testNistBennett5(void)
*/
x<< -1500., 45., 0.85;
// do the computation
info = ei_lmder<Bennett5_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<Bennett5_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -1523,7 +1523,7 @@ void testNistThurber(void)
const int m=37, n=7;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1532,7 +1532,7 @@ void testNistThurber(void)
*/
x<< 1000 ,1000 ,400 ,40 ,0.7,0.3,0.0 ;
// do the computation
info = ei_lmder<thurber_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<thurber_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 400, 1.E4*epsilon<double>(), 1.E4*epsilon<double>());
// check return value
@@ -1555,7 +1555,7 @@ void testNistThurber(void)
*/
x<< 1300 ,1500 ,500 ,75 ,1 ,0.4 ,0.05 ;
// do the computation
info = ei_lmder<thurber_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<thurber_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 400, 1.E4*epsilon<double>(), 1.E4*epsilon<double>());
// check return value
@@ -1611,7 +1611,7 @@ void testNistRat43(void)
const int m=15, n=4;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1620,7 +1620,7 @@ void testNistRat43(void)
*/
x<< 100., 10., 1., 1.;
// do the computation
info = ei_lmder<rat43_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<rat43_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 400, 1.E6*epsilon<double>(), 1.E6*epsilon<double>());
// check return value
@@ -1640,7 +1640,7 @@ void testNistRat43(void)
*/
x<< 700., 5., 0.75, 1.3;
// do the computation
info = ei_lmder<rat43_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag,
info = ei_lmder<rat43_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag,
1, 100., 400, 1.E5*epsilon<double>(), 1.E5*epsilon<double>());
// check return value
@@ -1694,7 +1694,7 @@ void testNistEckerle4(void)
const int m=35, n=3;
int info, nfev=0, njev=0;
VectorXd x(n), fvec(m), diag;
VectorXd x(n), fvec(m), diag, qtf;
MatrixXd fjac;
VectorXi ipvt;
@@ -1703,7 +1703,7 @@ void testNistEckerle4(void)
*/
x<< 1., 10., 500.;
// do the computation
info = ei_lmder<eckerle4_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<eckerle4_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);
@@ -1721,7 +1721,7 @@ void testNistEckerle4(void)
*/
x<< 1.5, 5., 450.;
// do the computation
info = ei_lmder<eckerle4_functor, double>(x, fvec, nfev, njev, fjac, ipvt, diag);
info = ei_lmder<eckerle4_functor, double>(x, fvec, nfev, njev, fjac, ipvt, qtf, diag);
// check return value
VERIFY( 1 == info);