This is the mail archive of the gsl-discuss@sources.redhat.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]