Copying values of list: copy

### 4.6.5 Copying values of list: copy

If you enter

list1 := [1,2,3]

and then

list2 := list1

then list1 and list2 will be equal to the same list, not simply two lists with the same elements. In particular, if you change (by reference) the value of an element of list1, then the change will also be reflected in list2. For example, if you enter

list1[1] =< 5

then both list1 and list2 will be equal to [1,5,3].

The copy command will create a copy of a list (or vector or matrix) which is equal to the original list, but distinct from it. For example, if you enter

list1 := [1,2,3]

and then

list2 := copy(list1)

then list1 and list2 will both be [1,2,3], but now if you enter

list1[1] =< 5

then both list1 will be equal to [1,5,3] but list2 will still be [1,2,3].