### The Maxima on-line user's manual

Algebra Calculator

#### Make_array

Function: make_array (<type>, <dim_1>, ..., <dim_n>) Creates and returns a Lisp array. <type> may be `any`, `flonum`, `fixnum`, `hashed` or `functional`. There are n indices, and the ith index runs from 0 to <dim_i> - 1.

The advantage of `make_array` over `array` is that the return value doesnt have a name, and once a pointer to it goes away, it will also go away. For example, if `y: make_array (...)` then `y` points to an object which takes up space, but after `y: false`, `y` no longer points to that object, so the object can be garbage collected.

```     Examples:
(%i1) A1 : make_array (fixnum, 10);
(%o1)           {Array:  #(0 0 0 0 0 0 0 0 0 0)}
(%i2) A1 [8] : 1729;
(%o2)                         1729
(%i3) A1;
(%o3)          {Array:  #(0 0 0 0 0 0 0 0 1729 0)}
(%i4) A2 : make_array (flonum, 10);
(%o4) {Array:  #(0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0)}
(%i5) A2 [2] : 2.718281828;
(%o5)                      2.718281828
(%i6) A2;
(%o6)
{Array:  #(0.0 0.0 2.718281828 0.0 0.0 0.0 0.0 0.0 0.0 0.0)}
(%i7) A3 : make_array (any, 10);
(%o7) {Array:  #(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL)}
(%i8) A3 [4] : x - y - z;
(%o8)                      - z - y + x
(%i9) A3;
(%o9) {Array:  #(NIL NIL NIL NIL ((MPLUS SIMP) \$X ((MTIMES SIMP)\
-1 \$Y) ((MTIMES SIMP) -1 \$Z))
NIL NIL NIL NIL NIL)}
(%i10) A4 : make_array (fixnum, 2, 3, 5);
(%o10) {Array:  #3A(((0 0 0 0 0) (0 0 0 0 0) (0 0 0 0 0)) ((0 0 \
0 0 0) (0 0 0 0 0) (0 0 0 0 0)))}
(%i11) fillarray (A4, makelist (i, i, 1, 2*3*5));
(%o11) {Array:  #3A(((1 2 3 4 5) (6 7 8 9 10) (11 12 13 14 15))
((16 17 18 19 20) (21 22 23 24 25) (26 27 28 29 30)))}
(%i12) A4 [0, 2, 1];
(%o12)                         12```

```(%o1)                                true
(%i2) ```

### Related Examples

##### array-do-if-listarray-plot2d-sin

array([rs,rsy],float,5);

i:0;

f(x):=sin(x);

Calculate

##### array-expand-plot2d

p:[[0.4,0.3],[1.2,3.2...

n:6;

array (d, n, n);

Calculate

array (P,3,1);

P[0,0] : 1;

P[0,1] : 1;

Calculate

##### array-pi

x: [a, b, c];

x[3];

array (y, fixnum, 3);

Calculate

##### array-cos-random-sin

array(data,16,16,16);

for i: 0 thru 7 do f...

equals(data[0,0,0],da...

Calculate

kill(all);

numer:true;

a:0;

Calculate

array(a, 3, 1);

listarray(a);

Calculate

##### array-diff-subst

array(M, 4);

f(x):=1/(1-x*p);

for i:1 step 1 thru 5...

Calculate

array (aa, 2);

aa[1]:10;

listarray (aa);

Calculate

##### array-do-if-listarray-plot2d-sin

array([rs,rsy],float,5);

i:0;

n:200;

Calculate