aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGertjan van den Burg <burg@ese.eur.nl>2016-09-30 20:22:18 +0200
committerGertjan van den Burg <burg@ese.eur.nl>2016-09-30 20:22:18 +0200
commit369fd7c981bc468e9002be6f4813e08664413a81 (patch)
tree37312074e6dabb06b1375f298666a7fe63a78237 /include
parentremove unnecessary W and t matrices (diff)
downloadgensvm-369fd7c981bc468e9002be6f4813e08664413a81.tar.gz
gensvm-369fd7c981bc468e9002be6f4813e08664413a81.zip
Remove category matrix from implementation
It's a remnant from the Matlab implementation, where it actually makes sense to use. Here it becomes a significant memory burden for large datasets, and doesn't provide any speedup
Diffstat (limited to 'include')
-rw-r--r--include/gensvm_base.h3
-rw-r--r--include/gensvm_optimize.h8
2 files changed, 4 insertions, 7 deletions
diff --git a/include/gensvm_base.h b/include/gensvm_base.h
index ded0149..390a9b6 100644
--- a/include/gensvm_base.h
+++ b/include/gensvm_base.h
@@ -87,9 +87,6 @@ struct GenModel {
///< error matrix
double *H;
///< Huber weighted error matrix
- double *R;
- ///< 0-1 auixiliary matrix, this matrix is n x K, with for row i a 0 on
- ///< column y[i]-1, and 1 everywhere else.
double *rho;
///< vector of instance weights
double training_error;
diff --git a/include/gensvm_optimize.h b/include/gensvm_optimize.h
index bef9669..3fd9607 100644
--- a/include/gensvm_optimize.h
+++ b/include/gensvm_optimize.h
@@ -22,8 +22,10 @@ void gensvm_optimize(struct GenModel *model, struct GenData *data);
double gensvm_get_loss(struct GenModel *model, struct GenData *data,
double *ZV);
-double gensvm_calculate_omega(struct GenModel *model, long i);
-bool gensvm_majorize_is_simple(struct GenModel *model, long i);
+double gensvm_calculate_omega(struct GenModel *model, struct GenData *data,
+ long i);
+bool gensvm_majorize_is_simple(struct GenModel *model, struct GenData *data,
+ long i);
void gensvm_calculate_ab_non_simple(struct GenModel *model, long i, long j,
double *a, double *b_aq);
void gensvm_calculate_ab_simple(struct GenModel *model, long i, long j,
@@ -34,8 +36,6 @@ double gensvm_get_Avalue_update_B(struct GenModel *model, long i, double *B);
void gensvm_get_update(struct GenModel *model, struct GenData *data,
double *B, double *ZAZ, double *ZAZV, double *ZAZVT);
-void gensvm_category_matrix(struct GenModel *model, struct GenData *data);
-void gensvm_simplex_diff(struct GenModel *model, struct GenData *dataset);
void gensvm_calculate_errors(struct GenModel *model, struct GenData *data,
double *ZV);
void gensvm_calculate_huber(struct GenModel *model);