aboutsummaryrefslogtreecommitdiff
path: root/tests/src
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src')
-rw-r--r--tests/src/test_gensvm_io.c2
-rw-r--r--tests/src/test_gensvm_kernel.c183
-rw-r--r--tests/src/test_gensvm_train.c57
3 files changed, 135 insertions, 107 deletions
diff --git a/tests/src/test_gensvm_io.c b/tests/src/test_gensvm_io.c
index bf9746f..b4210bb 100644
--- a/tests/src/test_gensvm_io.c
+++ b/tests/src/test_gensvm_io.c
@@ -654,7 +654,7 @@ char *test_gensvm_write_model()
char buffer[GENSVM_MAX_LINE_LENGTH];
fgets(buffer, GENSVM_MAX_LINE_LENGTH, fid);
- mu_assert(strcmp(buffer, "Output file for GenSVM (version 0.1.4)\n")
+ mu_assert(strcmp(buffer, "Output file for GenSVM (version 0.2.0)\n")
== 0, "Line doesn't contain expected content (0).\n");
// skip the time line
diff --git a/tests/src/test_gensvm_kernel.c b/tests/src/test_gensvm_kernel.c
index cf1d4db..b075bc5 100644
--- a/tests/src/test_gensvm_kernel.c
+++ b/tests/src/test_gensvm_kernel.c
@@ -326,245 +326,269 @@ char *test_kernel_preprocess_kernel()
mu_assert(data->r == 7, "Incorrect data->r");
double eps = 1e-14;
+
+ mu_assert(fabs(matrix_get(data->Sigma, 1, 0, 0) -
+ 2.7638223432435374) < eps,
+ "Incorrect data->Sigma at 0, 0");
+ mu_assert(fabs(matrix_get(data->Sigma, 1, 1, 0) -
+ 0.8989108618424078) < eps,
+ "Incorrect data->Sigma at 1, 0");
+ mu_assert(fabs(matrix_get(data->Sigma, 1, 2, 0) -
+ 0.8492992522024180) < eps,
+ "Incorrect data->Sigma at 2, 0");
+ mu_assert(fabs(matrix_get(data->Sigma, 1, 3, 0) -
+ 0.6551312398422764) < eps,
+ "Incorrect data->Sigma at 3, 0");
+ mu_assert(fabs(matrix_get(data->Sigma, 1, 4, 0) -
+ 0.4151267289513675) < eps,
+ "Incorrect data->Sigma at 4, 0");
+ mu_assert(fabs(matrix_get(data->Sigma, 1, 5, 0) -
+ 0.3219015071458272) < eps,
+ "Incorrect data->Sigma at 5, 0");
+ mu_assert(fabs(matrix_get(data->Sigma, 1, 6, 0) -
+ 0.2206142024294812) < eps,
+ "Incorrect data->Sigma at 6, 0");
+
+
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 0, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 1)) -
- fabs(2.4632837902141640)) < eps,
+ fabs(0.8912598149573278)) < eps,
"Incorrect data->Z at 0, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 2)) -
- fabs(-0.3037489220604925)) < eps,
+ fabs(-0.3379077225053534)) < eps,
"Incorrect data->Z at 0, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 3)) -
- fabs(-0.0061287029147240)) < eps,
+ fabs(-0.0072161878146390)) < eps,
"Incorrect data->Z at 0, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 4)) -
- fabs(0.1822712619914593)) < eps,
+ fabs(0.2782209897902920)) < eps,
"Incorrect data->Z at 0, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 5)) -
- fabs(0.0252737053303148)) < eps,
+ fabs(0.0608819032061786)) < eps,
"Incorrect data->Z at 0, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 6)) -
- fabs(-0.0078753266252524)) < eps,
+ fabs(-0.0244650194249782)) < eps,
"Incorrect data->Z at 0, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 0, 7)) -
- fabs(-0.0012800124996018)) < eps,
+ fabs(-0.0058020403287988)) < eps,
"Incorrect data->Z at 0, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 1, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 1)) -
- fabs(2.2923640983040641)) < eps,
+ fabs(0.8294180354638190)) < eps,
"Incorrect data->Z at 1, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 2)) -
- fabs(-0.3048037728463330)) < eps,
+ fabs(-0.3390811990207864)) < eps,
"Incorrect data->Z at 1, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 3)) -
- fabs(-0.2586192720897897)) < eps,
+ fabs(-0.3045090071834334)) < eps,
"Incorrect data->Z at 1, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 4)) -
- fabs(0.1747912247100736)) < eps,
+ fabs(0.2668033732480146)) < eps,
"Incorrect data->Z at 1, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 5)) -
- fabs(-0.0623497873850738)) < eps,
+ fabs(-0.1501945864641692)) < eps,
"Incorrect data->Z at 1, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 6)) -
- fabs(-0.0199493291395259)) < eps,
+ fabs(-0.0619733946461100)) < eps,
"Incorrect data->Z at 1, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 1, 7)) -
- fabs(0.0068540206892510)) < eps,
+ fabs(0.0310679032164383)) < eps,
"Incorrect data->Z at 1, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 2, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 1)) -
- fabs(2.4167201742337761)) < eps,
+ fabs(0.8744122718819858)) < eps,
"Incorrect data->Z at 2, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 2)) -
- fabs(-0.1499385272847361)) < eps,
+ fabs(-0.1668002175181436)) < eps,
"Incorrect data->Z at 2, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 3)) -
- fabs(-0.1781619658696836)) < eps,
+ fabs(-0.2097752534311912)) < eps,
"Incorrect data->Z at 2, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 4)) -
- fabs(-0.2363293887681946)) < eps,
+ fabs(-0.3607359478462531)) < eps,
"Incorrect data->Z at 2, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 5)) -
- fabs(-0.0362117307160720)) < eps,
+ fabs(-0.0872305447725448)) < eps,
"Incorrect data->Z at 2, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 6)) -
- fabs(0.0366137533260933)) < eps,
+ fabs(0.1137420997209145)) < eps,
"Incorrect data->Z at 2, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 2, 7)) -
- fabs(0.0227049982868101)) < eps,
+ fabs(0.1029172103916005)) < eps,
"Incorrect data->Z at 2, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 3, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 1)) -
- fabs(2.3339314848494390)) < eps,
+ fabs(0.8444578540132961)) < eps,
"Incorrect data->Z at 3, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 2)) -
- fabs(0.4067278927345656)) < eps,
+ fabs(0.4524674358711562)) < eps,
"Incorrect data->Z at 3, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 3)) -
- fabs(0.0198947146890620)) < eps,
+ fabs(0.0234248583611390)) < eps,
"Incorrect data->Z at 3, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 4)) -
- fabs(0.1187106614859180)) < eps,
+ fabs(0.1812013445038858)) < eps,
"Incorrect data->Z at 3, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 5)) -
- fabs(0.0734848412140159)) < eps,
+ fabs(0.1770178504276099)) < eps,
"Incorrect data->Z at 3, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 6)) -
- fabs(-0.0166955533210990)) < eps,
+ fabs(-0.0518654089852882)) < eps,
"Incorrect data->Z at 3, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 3, 7)) -
- fabs(0.0229112619510384)) < eps,
+ fabs(0.1038521622757349)) < eps,
"Incorrect data->Z at 3, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 4, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 1)) -
- fabs(2.5061509421266424)) < eps,
+ fabs(0.9067699116960968)) < eps,
"Incorrect data->Z at 4, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 2)) -
- fabs(0.0574469229922174)) < eps,
+ fabs(0.0639072520210456)) < eps,
"Incorrect data->Z at 4, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 3)) -
- fabs(-0.2858649955147738)) < eps,
+ fabs(-0.3365892466918618)) < eps,
"Incorrect data->Z at 4, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 4)) -
- fabs(-0.0995031375002134)) < eps,
+ fabs(-0.1518827548571320)) < eps,
"Incorrect data->Z at 4, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 5)) -
- fabs(0.0223790101651578)) < eps,
+ fabs(0.0539088634973914)) < eps,
"Incorrect data->Z at 4, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 6)) -
- fabs(-0.0355571480867735)) < eps,
+ fabs(-0.1104597129788070)) < eps,
"Incorrect data->Z at 4, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 4, 7)) -
- fabs(-0.0219026472149696)) < eps,
+ fabs(-0.0992803136596373)) < eps,
"Incorrect data->Z at 4, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 5, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 1)) -
- fabs(2.4482858151168982)) < eps,
+ fabs(0.8858332812534048)) < eps,
"Incorrect data->Z at 5, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 2)) -
- fabs(-0.0670998214520230)) < eps,
+ fabs(-0.0746456899124524)) < eps,
"Incorrect data->Z at 5, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 3)) -
- fabs(0.3147064295566219)) < eps,
+ fabs(0.3705483417541217)) < eps,
"Incorrect data->Z at 5, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 4)) -
- fabs(0.1070535630418465)) < eps,
+ fabs(0.1634078128645188)) < eps,
"Incorrect data->Z at 5, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 5)) -
- fabs(-0.0052824396955993)) < eps,
+ fabs(-0.0127248845405431)) < eps,
"Incorrect data->Z at 5, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 6)) -
- fabs(0.0614363461130733)) < eps,
+ fabs(0.1908544842110400)) < eps,
"Incorrect data->Z at 5, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 5, 7)) -
- fabs(-0.0075355247061472)) < eps,
+ fabs(-0.0341570244488496)) < eps,
"Incorrect data->Z at 5, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 6, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 1)) -
- fabs(2.3638928644404329)) < eps,
+ fabs(0.8552984131629242)) < eps,
"Incorrect data->Z at 6, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 2)) -
- fabs(0.3482541374011597)) < eps,
+ fabs(0.3874178766595150)) < eps,
"Incorrect data->Z at 6, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 3)) -
- fabs(-0.2422541976251498)) < eps,
+ fabs(-0.2852400929318269)) < eps,
"Incorrect data->Z at 6, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 4)) -
- fabs(0.0251886519764033)) < eps,
+ fabs(0.0384482534865339)) < eps,
"Incorrect data->Z at 6, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 5)) -
- fabs(-0.0079397861684362)) < eps,
+ fabs(-0.0191261742853618)) < eps,
"Incorrect data->Z at 6, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 6)) -
- fabs(0.0424975213407462)) < eps,
+ fabs(0.1320202620905840)) < eps,
"Incorrect data->Z at 6, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 6, 7)) -
- fabs(-0.0204279932276333)) < eps,
+ fabs(-0.0925960024453241)) < eps,
"Incorrect data->Z at 6, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 7, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 1)) -
- fabs(2.3607306299135344)) < eps,
+ fabs(0.8541542605604135)) < eps,
"Incorrect data->Z at 7, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 2)) -
- fabs(-0.0220102589508912)) < eps,
+ fabs(-0.0244854744615944)) < eps,
"Incorrect data->Z at 7, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 3)) -
- fabs(0.3913398731540265)) < eps,
+ fabs(0.4607797217991149)) < eps,
"Incorrect data->Z at 7, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 4)) -
- fabs(-0.0941469673695446)) < eps,
+ fabs(-0.1437070340168947)) < eps,
"Incorrect data->Z at 7, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 5)) -
- fabs(-0.0477595489009114)) < eps,
+ fabs(-0.1150481180085769)) < eps,
"Incorrect data->Z at 7, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 6)) -
- fabs(-0.0367688438245860)) < eps,
+ fabs(-0.1142238946024231)) < eps,
"Incorrect data->Z at 7, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 7, 7)) -
- fabs(-0.0133498576642393)) < eps,
+ fabs(-0.0605122313850435)) < eps,
"Incorrect data->Z at 7, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 8, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 1)) -
- fabs(2.5023932475093376)) < eps,
+ fabs(0.9054103110595034)) < eps,
"Incorrect data->Z at 8, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 2)) -
- fabs(0.2929602950386334)) < eps,
+ fabs(0.3259058350214859)) < eps,
"Incorrect data->Z at 8, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 3)) -
- fabs(0.1371647327912284)) < eps,
+ fabs(0.1615034187720415)) < eps,
"Incorrect data->Z at 8, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 4)) -
- fabs(-0.0270505649533715)) < eps,
+ fabs(-0.0412902992687150)) < eps,
"Incorrect data->Z at 8, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 5)) -
- fabs(-0.0685258491091892)) < eps,
+ fabs(-0.1650721197410958)) < eps,
"Incorrect data->Z at 8, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 6)) -
- fabs(-0.0213385621647371)) < eps,
+ fabs(-0.0662891030052566)) < eps,
"Incorrect data->Z at 8, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 8, 7)) -
- fabs(0.0121305554343051)) < eps,
+ fabs(0.0549853785509707)) < eps,
"Incorrect data->Z at 8, 7");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 0)) -
fabs(1.0000000000000000)) < eps,
"Incorrect data->Z at 9, 0");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 1)) -
- fabs(2.4579608302226870)) < eps,
+ fabs(0.8893338735144964)) < eps,
"Incorrect data->Z at 9, 1");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 2)) -
- fabs(-0.2538863526247282)) < eps,
+ fabs(-0.2824377403832496)) < eps,
"Incorrect data->Z at 9, 2");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 3)) -
- fabs(0.0991005899665861)) < eps,
+ fabs(0.1166851256604740)) < eps,
"Incorrect data->Z at 9, 3");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 4)) -
- fabs(-0.1374781282330359)) < eps,
+ fabs(-0.2098482256259584)) < eps,
"Incorrect data->Z at 9, 4");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 5)) -
- fabs(0.1043628273525485)) < eps,
+ fabs(0.2513999221784036)) < eps,
"Incorrect data->Z at 9, 5");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 6)) -
- fabs(-0.0024213407513349)) < eps,
+ fabs(-0.0075219925896089)) < eps,
"Incorrect data->Z at 9, 6");
mu_assert(fabs(fabs(matrix_get(data->Z, data->r+1, 9, 7)) -
- fabs(0.0007673936590348)) < eps,
+ fabs(0.0034784417801946)) < eps,
"Incorrect data->Z at 9, 7");
mu_assert(fabs(matrix_get(data->RAW, data->m+1, 0, 0) -
@@ -748,9 +772,9 @@ char *test_kernel_preprocess_kernel()
0.1028774221216107) < eps,
"Incorrect data->RAW at 9, 5");
- // end test code //
+ // end test code //
gensvm_free_model(model);
gensvm_free_data(data);
@@ -2317,7 +2341,7 @@ char *test_kernel_eigendecomp()
mu_assert(r == 7, "Incorrect number of eigenvalues kept");
- // Note: to overcome sign variability in the eigenvectors, we take the
+ // Note: to overcome sign variability in the eigenvectors, we take the
// absolute value of the elements of P and the expected outcome.
mu_assert(fabs(fabs(matrix_get(P, r, 0, 0)) -
@@ -2532,19 +2556,20 @@ char *test_kernel_eigendecomp()
"Incorrect P at 9, 6");
eps = 1e-13;
- mu_assert(fabs(Sigma[0] - 22.9663721202447704) < eps,
+
+ mu_assert(fabs(Sigma[0] - 4.7923242920575353) < eps,
"Incorrect Sigma at 0");
- mu_assert(fabs(Sigma[1] - 2.2569857335186856) < eps,
+ mu_assert(fabs(Sigma[1] - 1.5023267732150303) < eps,
"Incorrect Sigma at 1");
- mu_assert(fabs(Sigma[2] - 1.4177404640754938) < eps,
+ mu_assert(fabs(Sigma[2] - 1.1906890711161726) < eps,
"Incorrect Sigma at 2");
- mu_assert(fabs(Sigma[3] - 1.0075496644459232) < eps,
+ mu_assert(fabs(Sigma[3] - 1.0037677343120393) < eps,
"Incorrect Sigma at 3");
- mu_assert(fabs(Sigma[4] - 0.7919296491505164) < eps,
+ mu_assert(fabs(Sigma[4] - 0.8899042921295091) < eps,
"Incorrect Sigma at 4");
- mu_assert(fabs(Sigma[5] - 0.6808726728950240) < eps,
+ mu_assert(fabs(Sigma[5] - 0.8251500911319253) < eps,
"Incorrect Sigma at 5");
- mu_assert(fabs(Sigma[6] - 0.2909718164349679) < eps,
+ mu_assert(fabs(Sigma[6] - 0.5394180349552358) < eps,
"Incorrect Sigma at 6");
// end test code //
diff --git a/tests/src/test_gensvm_train.c b/tests/src/test_gensvm_train.c
index b95de28..f7033f0 100644
--- a/tests/src/test_gensvm_train.c
+++ b/tests/src/test_gensvm_train.c
@@ -275,23 +275,24 @@ char *test_gensvm_train_seed_kernel()
mu_assert(model->K == data->K, "Incorrect model K");
double eps = 1e-13;
+
mu_assert(fabs(matrix_get(data->Sigma, 1, 0, 0) -
- 7.8302939172918506) < eps,
+ 2.7982662341692670) < eps,
"Incorrect data->Sigma at 0, 0");
mu_assert(fabs(matrix_get(data->Sigma, 1, 1, 0) -
- 0.7947913383766066) < eps,
+ 0.8915107056993801) < eps,
"Incorrect data->Sigma at 1, 0");
mu_assert(fabs(matrix_get(data->Sigma, 1, 2, 0) -
- 0.5288740088908547) < eps,
+ 0.7272372438832145) < eps,
"Incorrect data->Sigma at 2, 0");
mu_assert(fabs(matrix_get(data->Sigma, 1, 3, 0) -
- 0.4537982052555444) < eps,
+ 0.6736454596117636) < eps,
"Incorrect data->Sigma at 3, 0");
mu_assert(fabs(matrix_get(data->Sigma, 1, 4, 0) -
- 0.2226012271232192) < eps,
+ 0.4718063449374322) < eps,
"Incorrect data->Sigma at 4, 0");
mu_assert(fabs(matrix_get(data->Sigma, 1, 5, 0) -
- 0.0743004417495061) < eps,
+ 0.2725810737184557) < eps,
"Incorrect data->Sigma at 5, 0");
// we need a large eps here because there are numerical precision
@@ -299,69 +300,71 @@ char *test_gensvm_train_seed_kernel()
// compare with absolute values because of variability in the
// eigendecomposition.
eps = 1e-7;
+
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 0, 0)) -
- fabs(5.0555413160638665)) < eps,
+ fabs(1.3968329665264863)) < eps,
"Incorrect model->V at 0, 0");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 0, 1)) -
- fabs(-2.2586632211763198)) < eps,
+ fabs(-0.4491223112772532)) < eps,
"Incorrect model->V at 0, 1");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 0, 2)) -
- fabs(-4.5572671806963143)) < eps,
+ fabs(-1.2044427235549637)) < eps,
"Incorrect model->V at 0, 2");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 1, 0)) -
- fabs(-1.9627432869558412)) < eps,
+ fabs(-1.2834234211019704)) < eps,
"Incorrect model->V at 1, 0");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 1, 1)) -
- fabs(0.9934555242449399)) < eps,
+ fabs(0.6330939040375793)) < eps,
"Incorrect model->V at 1, 1");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 1, 2)) -
- fabs(1.7855287218670219)) < eps,
+ fabs(1.2876548429115076)) < eps,
"Incorrect model->V at 1, 2");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 2, 0)) -
- fabs(1.9393083227054353)) < eps,
+ fabs(2.0023377286211428)) < eps,
"Incorrect model->V at 2, 0");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 2, 1)) -
- fabs(-1.1958487809502740)) < eps,
+ fabs(-1.5454495147993872)) < eps,
"Incorrect model->V at 2, 1");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 2, 2)) -
- fabs(2.1140967864804359)) < eps,
+ fabs(1.8380262406111434)) < eps,
"Incorrect model->V at 2, 2");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 3, 0)) -
- fabs(2.3909204618652535)) < eps,
+ fabs(1.8873525552961188)) < eps,
"Incorrect model->V at 3, 0");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 3, 1)) -
- fabs(-0.2834554569573399)) < eps,
+ fabs(-0.5671111794102348)) < eps,
"Incorrect model->V at 3, 1");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 3, 2)) -
- fabs(1.0926232371314393)) < eps,
+ fabs(1.3530484176263944)) < eps,
"Incorrect model->V at 3, 2");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 4, 0)) -
- fabs(3.3374545494113272)) < eps,
+ fabs(2.9991675684385952)) < eps,
"Incorrect model->V at 4, 0");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 4, 1)) -
- fabs(1.6699291195221897)) < eps,
+ fabs(1.6232323178615611)) < eps,
"Incorrect model->V at 4, 1");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 4, 2)) -
- fabs(-1.4345249893609275)) < eps,
+ fabs(-1.0853101351516645)) < eps,
"Incorrect model->V at 4, 2");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 5, 0)) -
- fabs(-0.0221825925355533)) < eps,
+ fabs(-0.2735156994082831)) < eps,
"Incorrect model->V at 5, 0");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 5, 1)) -
- fabs(-0.1216077739550210)) < eps,
+ fabs(-0.2154874773946488)) < eps,
"Incorrect model->V at 5, 1");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 5, 2)) -
- fabs(-0.7900947982642630)) < eps,
+ fabs(-0.9036193937904904)) < eps,
"Incorrect model->V at 5, 2");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 6, 0)) -
- fabs(-0.0076471781062262)) < eps,
+ fabs(-0.1010202110238350)) < eps,
"Incorrect model->V at 6, 0");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 6, 1)) -
- fabs(-0.8781872510019056)) < eps,
+ fabs(-1.7921615999242961)) < eps,
"Incorrect model->V at 6, 1");
mu_assert(fabs(fabs(matrix_get(model->V, model->K-1, 6, 2)) -
- fabs(-0.2782284589344380)) < eps,
+ fabs(-0.6850178130530472)) < eps,
"Incorrect model->V at 6, 2");
+
// end test code //
gensvm_free_model(model);