From f2b0158edb14b65c5a25689120b024bf8359d05d Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Fri, 30 Sep 2016 15:13:49 +0200 Subject: Break up update function and add unit tests for parts --- include/gensvm_optimize.h | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'include/gensvm_optimize.h') 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); -- cgit v1.2.3