[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] creating a submatrix from a matrix in a loop
From: |
Brian Gough |
Subject: |
Re: [Help-gsl] creating a submatrix from a matrix in a loop |
Date: |
Tue, 16 Dec 2008 10:31:27 +0000 |
User-agent: |
Wanderlust/2.14.0 (Africa) Emacs/22.2 Mule/5.0 (SAKAKI) |
At Thu, 11 Dec 2008 10:36:40 +0100,
George Kalema wrote:
> I have a matrix X of dimension [N by P]. This matrix contains data for
> K subjects
> meaning that there are K submatrices of dimension [ni by P] in matrix X. I
> would like to take each of these submatrices Xi from X and use it for
> computation in a loop.
>
> How do I use gsl_matrix to do this?
You need some code like this in the inner loop:
{
gsl_matrix_view Xi = gsl_matrix_submatrix (X, begin, 0, ni, P)
gsl_matrix * work = gsl_matrix_alloc(ni, p);
gsl_matrix_memcpy (work, &(Xi.matrix));
/* do calculation on working copy */
....
/* copy work back into X, if needed */
gsl_matrix_memcpy (&(Xi.matrix), work);
gsl_matrix_free (work)
}
You'll find many examples of this type of code in the linalg directory
of the GSL source.
--
Brian Gough
Support freedom by joining the FSF!
http://www.fsf.org/news/fall-2008-fundraiser