aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGertjan van den Burg <burg@ese.eur.nl>2016-09-30 15:13:49 +0200
committerGertjan van den Burg <burg@ese.eur.nl>2016-09-30 15:13:49 +0200
commitf2b0158edb14b65c5a25689120b024bf8359d05d (patch)
tree04c14c8e57540633b74bb28f9a045f527778943d /include
parentfix typo in file io (diff)
downloadgensvm-f2b0158edb14b65c5a25689120b024bf8359d05d.tar.gz
gensvm-f2b0158edb14b65c5a25689120b024bf8359d05d.zip
Break up update function and add unit tests for parts
Diffstat (limited to 'include')
-rw-r--r--include/gensvm_optimize.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/gensvm_optimize.h b/include/gensvm_optimize.h
index 1041b72..bef9669 100644
--- a/include/gensvm_optimize.h
+++ b/include/gensvm_optimize.h
@@ -21,12 +21,23 @@
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);
+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,
+ double *a, double *b_aq);
+void gensvm_update_B(struct GenModel *model, long i, long j, double b_aq,
+ double omega, double *B);
+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);
+ double *ZV);
void gensvm_calculate_huber(struct GenModel *model);
void gensvm_step_doubling(struct GenModel *model);
int dposv(char UPLO, int N, int NRHS, double *A, int LDA, double *B, int LDB);