> < ^ Date: Sat, 24 Feb 2001 18:14:29 -0500
< ^ From: Ken W. Smith <Ken.W.Smith@cmich.edu >
^ Subject: Question about array assignment

Hi,
I'm having a problem in GAP when I attempt to assign entries
to lists. Apparently my problem is due to the way GAP makes
assignments. I've read the section on Lists in the GAP manual, but I
am still struggling to understand this. (I apologize in advance for
asking a question apparently covered in the manual!)

Explicitly -- I don't understand why the following loops give
different answers. The first example creates the array
[[1,2,3,4][5,6,7,8]] while the second does not.
Why?

(I am running GAP 4.1 on a Macintosh G3 laptop -- if that matters.)

```----	GAP program ------------
#Filling in an array -- example 1
mat := [[0,0,0,0], [0,0,0,0]];
Print( mat, "\n" );
entry := 0;
for i1 in [1..2] do
for i2 in [1..4] do
entry := entry + 1;
mat[i1][i2] := entry;
mat2 := mat;
Print( mat, "\n" );
od; od;

Print("\n");

#Filling in an array -- example 2
zero_1 := ListWithIdenticalEntries( 4, 0 );
mat := ListWithIdenticalEntries( 2, zero_1 );
Print( mat, "\n" );
entry := 0;
for i1 in [1..2] do
for i2 in [1..4] do
entry := entry + 1;
mat[i1][i2] := entry;
mat2 := mat;
Print( mat, "\n" );
od; od;
------
```

The real problem I am working on attempts to create
3-dimensional t x r x c arrays for various abelian groups of rank 3,
so the programming is more complicated than this simple example.
However, I think an explanation of this small example would be very
```Thanks,