Patterns in static

Apophenia

linear_algebra.h

00001 #ifndef APOP_LINEAR_ALGEBRA_H
00002 #define APOP_LINEAR_ALGEBRA_H
00003 
00004 #include "variadic.h"
00005 #include <gsl/gsl_blas.h>
00006 #include <gsl/gsl_sf_log.h>
00007 #include <gsl/gsl_sf_exp.h>
00008 #include <gsl/gsl_matrix.h>
00009 #include <gsl/gsl_linalg.h>
00010 #include "types.h"
00011 
00012 #ifdef    __cplusplus
00013 extern "C" {
00014 #endif
00015 
00016 double apop_det_and_inv(const gsl_matrix *in, gsl_matrix **out, int calc_det, int calc_inv);
00017 #ifdef APOP_NO_VARIADIC
00018  apop_data * apop_dot(const apop_data *d1, const apop_data *d2, char form1, char form2);
00019 #else
00020  apop_data * apop_dot_base(const apop_data *d1, const apop_data *d2, char form1, char form2);
00021  apop_varad_declare(apop_data *, apop_dot, const apop_data *d1; const apop_data *d2; char form1; char form2);
00022 #define apop_dot(...) apop_varad_link(apop_dot, __VA_ARGS__)
00023 #endif
00024 #ifdef APOP_NO_VARIADIC
00025  int         apop_vector_bounded(const gsl_vector *in, long double max);
00026 #else
00027  int         apop_vector_bounded_base(const gsl_vector *in, long double max);
00028  apop_varad_declare(int        , apop_vector_bounded, const gsl_vector *in; long double max);
00029 #define apop_vector_bounded(...) apop_varad_link(apop_vector_bounded, __VA_ARGS__)
00030 #endif
00031 #ifdef APOP_NO_VARIADIC
00032  void apop_vector_increment(gsl_vector * v, int i, double amt);
00033 #else
00034  void apop_vector_increment_base(gsl_vector * v, int i, double amt);
00035  apop_varad_declare(void, apop_vector_increment, gsl_vector * v; int i; double amt);
00036 #define apop_vector_increment(...) apop_varad_link(apop_vector_increment, __VA_ARGS__)
00037 #endif
00038 #ifdef APOP_NO_VARIADIC
00039  void apop_matrix_increment(gsl_matrix * m, int i, int j, double amt);
00040 #else
00041  void apop_matrix_increment_base(gsl_matrix * m, int i, int j, double amt);
00042  apop_varad_declare(void, apop_matrix_increment, gsl_matrix * m; int i; int j; double amt);
00043 #define apop_matrix_increment(...) apop_varad_link(apop_matrix_increment, __VA_ARGS__)
00044 #endif
00045 gsl_matrix * apop_matrix_inverse(const gsl_matrix *in) ;
00046 double      apop_matrix_determinant(const gsl_matrix *in) ;
00047 //apop_data*  apop_sv_decomposition(gsl_matrix *data, int dimensions_we_want);
00048 #ifdef APOP_NO_VARIADIC
00049  apop_data *  apop_matrix_pca(gsl_matrix *data, int dimensions_we_want);
00050 #else
00051  apop_data *  apop_matrix_pca_base(gsl_matrix *data, int dimensions_we_want);
00052  apop_varad_declare(apop_data * , apop_matrix_pca, gsl_matrix *data; int dimensions_we_want);
00053 #define apop_matrix_pca(...) apop_varad_link(apop_matrix_pca, __VA_ARGS__)
00054 #endif
00055 #ifdef APOP_NO_VARIADIC
00056  gsl_vector * apop_vector_stack(gsl_vector *v1, gsl_vector * v2, char inplace);
00057 #else
00058  gsl_vector * apop_vector_stack_base(gsl_vector *v1, gsl_vector * v2, char inplace);
00059  apop_varad_declare(gsl_vector *, apop_vector_stack, gsl_vector *v1; gsl_vector * v2; char inplace);
00060 #define apop_vector_stack(...) apop_varad_link(apop_vector_stack, __VA_ARGS__)
00061 #endif
00062 #ifdef APOP_NO_VARIADIC
00063  gsl_matrix * apop_matrix_stack(gsl_matrix *m1, gsl_matrix * m2, char posn, char inplace);
00064 #else
00065  gsl_matrix * apop_matrix_stack_base(gsl_matrix *m1, gsl_matrix * m2, char posn, char inplace);
00066  apop_varad_declare(gsl_matrix *, apop_matrix_stack, gsl_matrix *m1; gsl_matrix * m2; char posn; char inplace);
00067 #define apop_matrix_stack(...) apop_varad_link(apop_matrix_stack, __VA_ARGS__)
00068 #endif
00069 gsl_matrix * apop_matrix_rm_columns(gsl_matrix *in, int *drop);
00070 
00071 void apop_vector_log(gsl_vector *v);
00072 void apop_vector_log10(gsl_vector *v);
00073 void apop_vector_exp(gsl_vector *v);
00074 
00075 #ifdef    __cplusplus
00076 }
00077 #endif
00078 #endif

SourceForge.net Logo

Autogenerated by doxygen on 28 Sep 2009.