help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gsl] Find variance - covariance matrix of a matrix


From: Churna Bhandari
Subject: Re: [Help-gsl] Find variance - covariance matrix of a matrix
Date: Tue, 9 Mar 2010 08:53:57 -0700

Hi
Please, can anyone suggest me i have no idea how to integrate for the
absolute value function. Is there any gsl routine for absolute function
integration written in c language? I would be happy if anyone help me.
Thanks,
suvas

On Tue, Mar 9, 2010 at 3:20 AM, Francesco Abbate <address@hidden>wrote:

> 2010/3/9 Srimal Jayawardena <address@hidden>:
> > Hi
> >
> > Is there a simple function/method for me to obtain the variance -
> > covariance matrix of a given matrix.
> >
> > I'm looking for the  equivalent of 'cov' in MATLAB
>
> Here what the Matlab documentation says:
>
> ------
> C = cov(x) where x is a vector returns the variance of the vector
> elements. For matrices where each row is an observation and each
> column a variable, cov(x) is the covariance matrix. diag(cov(x)) is a
> vector of variances for each column, and sqrt(diag(cov(x))) is a
> vector of standard deviations.
> ------
>
> So actually what Matlab calculates is the covariance between each of
> the column vectors.
>
> Here a simple routine that, given a matrix m, calculates the
> covariance matrix by in the matrix r.
>
> void
> cov_calculate(gsl_matrix *r, gsl_matrix *m)
> {
>  gsl_vector_view a, b;
>  size_t i, j;
>
>  for (i = 0; i < m->size1; i++) {
>    for (j = 0; j < m->size2; j++) {
>      double v;
>      a = gsl_matrix_column (m, i);
>      b = gsl_matrix_column (m, j);
>      v = gsl_stats_covariance (a.vector.data, a.vector.stride,
> b.vector.data, b.vector.stride, a.vector.size);
>      gsl_matrix_set (r, i, j, v);
>    }
>  }
> }
>
> Note that the function gsl_stats_covariance does not works with
> vectors or matrices but only with double pointer. This is why we need
> to take directly the "data" field of the vector struct.
>
> Best regards,
> Francesco
>
>
> _______________________________________________
> Help-gsl mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-gsl
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]