GSL

GSL — Wrapper for GNU Scientific Library data structures

Synopsis

struct              GGslVector;
GGslVector *        g_gsl_vector_new                    (guint N);
void                g_gsl_vector_resize                 (GGslVector *v,
                                                         guint N);
void                g_gsl_vector_copy                   (GGslVector *lhs,
                                                         const GGslVector *rhs);
gdouble             g_gsl_vector_get                    (const GGslVector *v,
                                                         guint i);
void                g_gsl_vector_set                    (GGslVector *v,
                                                         guint i,
                                                         gdouble x);
void                g_gsl_vector_set_all                (GGslVector *v,
                                                         gdouble X);
guint               g_gsl_vector_get_size               (const GGslVector *v);
struct              GGslMatrix;
GGslMatrix *        g_gsl_matrix_new                    (guint rows,
                                                         guint cols);
void                g_gsl_matrix_resize                 (GGslMatrix *v,
                                                         guint rows,
                                                         guint cols);
void                g_gsl_matrix_copy                   (GGslMatrix *lhs,
                                                         const GGslMatrix *rhs);
gdouble             g_gsl_matrix_get                    (const GGslMatrix *v,
                                                         guint row,
                                                         guint col);
void                g_gsl_matrix_set                    (GGslMatrix *v,
                                                         guint row,
                                                         guint col,
                                                         gdouble x);
void                g_gsl_matrix_set_all                (GGslMatrix *v,
                                                         gdouble X);
guint               g_gsl_matrix_get_rows               (const GGslMatrix *v);
guint               g_gsl_matrix_get_cols               (const GGslMatrix *v);
void                g_gsl_matrix_solve                  (GGslMatrix *X,
                                                         const GGslVector *y,
                                                         GGslVector *b,
                                                         GGslPermutation *p);
void                g_gsl_matrix_invert                 (GGslMatrix *X,
                                                         GGslMatrix *X_inv,
                                                         GGslPermutation *p);
double              g_gsl_matrix_det                    (GGslMatrix *X,
                                                         GGslPermutation *p);
struct              GGslPermutation;
GGslPermutation *   g_gsl_permutation_new               (guint N);
void                g_gsl_permutation_resize            (GGslPermutation *v,
                                                         guint N);

Object Hierarchy

  GObject
   +----GGslVector
  GObject
   +----GGslMatrix
  GObject
   +----GGslPermutation

Description

Details

struct GGslVector

struct GGslVector;


g_gsl_vector_new ()

GGslVector *        g_gsl_vector_new                    (guint N);


g_gsl_vector_resize ()

void                g_gsl_vector_resize                 (GGslVector *v,
                                                         guint N);


g_gsl_vector_copy ()

void                g_gsl_vector_copy                   (GGslVector *lhs,
                                                         const GGslVector *rhs);


g_gsl_vector_get ()

gdouble             g_gsl_vector_get                    (const GGslVector *v,
                                                         guint i);


g_gsl_vector_set ()

void                g_gsl_vector_set                    (GGslVector *v,
                                                         guint i,
                                                         gdouble x);


g_gsl_vector_set_all ()

void                g_gsl_vector_set_all                (GGslVector *v,
                                                         gdouble X);


g_gsl_vector_get_size ()

guint               g_gsl_vector_get_size               (const GGslVector *v);


struct GGslMatrix

struct GGslMatrix;


g_gsl_matrix_new ()

GGslMatrix *        g_gsl_matrix_new                    (guint rows,
                                                         guint cols);


g_gsl_matrix_resize ()

void                g_gsl_matrix_resize                 (GGslMatrix *v,
                                                         guint rows,
                                                         guint cols);


g_gsl_matrix_copy ()

void                g_gsl_matrix_copy                   (GGslMatrix *lhs,
                                                         const GGslMatrix *rhs);


g_gsl_matrix_get ()

gdouble             g_gsl_matrix_get                    (const GGslMatrix *v,
                                                         guint row,
                                                         guint col);


g_gsl_matrix_set ()

void                g_gsl_matrix_set                    (GGslMatrix *v,
                                                         guint row,
                                                         guint col,
                                                         gdouble x);


g_gsl_matrix_set_all ()

void                g_gsl_matrix_set_all                (GGslMatrix *v,
                                                         gdouble X);


g_gsl_matrix_get_rows ()

guint               g_gsl_matrix_get_rows               (const GGslMatrix *v);


g_gsl_matrix_get_cols ()

guint               g_gsl_matrix_get_cols               (const GGslMatrix *v);


g_gsl_matrix_solve ()

void                g_gsl_matrix_solve                  (GGslMatrix *X,
                                                         const GGslVector *y,
                                                         GGslVector *b,
                                                         GGslPermutation *p);

Computes b for the equation y = X b. Note: X is overwritten with its LU decomposition.

X :

a square GGslMatrix of size N

y :

a GGslVector of length N

b :

a GGslVector of length N to receive the result

p :

a GGslPermutation of length N for working space

g_gsl_matrix_invert ()

void                g_gsl_matrix_invert                 (GGslMatrix *X,
                                                         GGslMatrix *X_inv,
                                                         GGslPermutation *p);

Computes the inverse of X. Note: X is overwritten with its LU decomposition.

X :

a square GGslMatrix of size N

X_inv :

a square GGslMatrix of length N to receive the result

p :

a GGslPermutation of length N for working space

g_gsl_matrix_det ()

double              g_gsl_matrix_det                    (GGslMatrix *X,
                                                         GGslPermutation *p);

Computes teh determinant of X. Note that X is overwritten with its LU decomposition.

X :

a square GGslMatrix of size N

p :

a GGslPermutation of length N for working space

Returns :

the determinant of X.

struct GGslPermutation

struct GGslPermutation;


g_gsl_permutation_new ()

GGslPermutation *   g_gsl_permutation_new               (guint N);


g_gsl_permutation_resize ()

void                g_gsl_permutation_resize            (GGslPermutation *v,
                                                         guint N);