This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
Re: Arrays in higher dimensions
- From: John Ketchum <johnk at qualcomm dot com>
- To: sliwa at euv-frankfurt-o dot de, gsl-discuss at sources dot redhat dot com
- Date: Tue, 16 Jul 2002 09:25:13 -0400
- Subject: Re: Arrays in higher dimensions
For 4-d array, with dimensions n1, n2, n3, and n4, something like the
following:
gsl_matrix ***m4;
m4 = (gsl_matrix***)malloc(n4*sizeof(gsl_matrix**));
for (i=0; i<n4; i++) {
m4[i] = (gsl_matrix**)malloc(n3*sizeof(gsl_matrix*));
for (j=0; j<n3; j++) m4[i][j]=gsl_matrix_alloc(n1,n2);
}
This gives you a matrix of pointers to gsl matrices, which is a 4-d construct.
Make sure you free all of the memory when you are done:
for (i=0; i<n4; i++) {
for (j=0; j<n3; j++) gsl_matrix_free(m4[i][j]);
free(m4[i]);
}
free(m4);
At 11:26 AM 7/16/2002 +0200, Przemyslaw Sliwa wrote:
Hi,
my problem is - is it possible to create an ayray of gsl_matrices and
gsl_vectors within the gsl library?
I would like to create 3 and 4 dimansional arrays - that means I need one
and two dimensional array of
gsl_matrices and gsl_vectors.
If it is possible - how can I access the elements of such an array.
Thanks to everyone.
Przemyslaw Sliwa
Witout stupid mementos.
John Ketchum
Qualcomm Inc.
9 Damonmill Square Suite 2A
Concord, MA 01742
Office: 60915
Direct: 781-276-0915
Fax: 781-276-0901
Mobile: 617-312-7023