Sponsored links: Algebra eBooks

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

Algebra Calculator

#### Genmatrix

Function: genmatrix (<a>, <i_2>, <j_2>, <i_1>, <j_1>)

Function: genmatrix (<a>, <i_2>, <j_2>, <i_1>)

Function: genmatrix (<a>, <i_2>, <j_2>) Returns a matrix generated from <a>, taking element `<a>[<i_1>,<j_1>]` as the upper-left element and `<a>[<i_2>,<j_2>]` as the lower-right element of the matrix. Here <a> is a declared array (created by `array` but not by `make_array`) or an undeclared array, or an array function, or a lambda expression of two arguments. (An array function is created like other functions with `:=` or `define`, but arguments are enclosed in square brackets instead of parentheses.)

If <j_1> is omitted, it is assumed equal to <i_1>. If both <j_1> and <i_1> are omitted, both are assumed equal to 1.

If a selected element `i,j` of the array is undefined, the matrix will contain a symbolic element `<a>[i,j]`.

Examples:

```          (%i1) h [i, j] := 1 / (i + j - 1);
1
(%o1)                  h     := ---------
i, j    i + j - 1
(%i2) genmatrix (h, 3, 3);
[    1  1 ]
[ 1  -  - ]
[    2  3 ]
[         ]
[ 1  1  1 ]
(%o2)                      [ -  -  - ]
[ 2  3  4 ]
[         ]
[ 1  1  1 ]
[ -  -  - ]
[ 3  4  5 ]
(%i3) array (a, fixnum, 2, 2);
(%o3)                           a
(%i4) a [1, 1] : %e;
(%o4)                          %e
(%i5) a [2, 2] : %pi;
(%o5)                          %pi
(%i6) genmatrix (a, 2, 2);
[ %e   0  ]
(%o6)                      [         ]
[ 0   %pi ]
(%i7) genmatrix (lambda ([i, j], j - i), 3, 3);
[  0    1   2 ]
[             ]
(%o7)                    [ - 1   0   1 ]
[             ]
[ - 2  - 1  0 ]
(%i8) genmatrix (B, 2, 2);
[ B      B     ]
[  1, 1   1, 2 ]
(%o8)                   [              ]
[ B      B     ]
[  2, 1   2, 2 ]```

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

### Related Examples

##### genmatrix-invert-lambda-random

a:genmatrix(lambda([x...

b:invert(a);

a.(a^^-1);

Calculate

##### genmatrix

k[1,1]:1;

k[2,1]:2;

A:genmatrix(k,2,1);

Calculate

nk : 2;

nl : 2;

N : 4;

Calculate

##### genmatrix-random

a[i,j]:random(15);

genmatrix(a,3,3);

a[i,j]:=random(15);

Calculate

##### genmatrix-invert-lambda-log-matrix-plot2d-plot3d

plot2d((x^3+4)/(x^2),...

plot2d(['parametric, ...

plot3d(log(x^2+y^2-x*...

Calculate

##### genmatrix-random

a[i,j]:=random(15);

a[2,17];

a[2,6];

Calculate

##### genmatrix-print

n:4;

genmatrix(e,2,4);

for i:1 thru n do (pr...

Calculate

##### genmatrix-map

f(i,j):=x^i+x^j;

M:genmatrix(f,3,3);

map(factor,M);

Calculate

##### genmatrix-random

a[i,j]:=random(10);

A:genmatrix(a,4,4);

B:genmatrix(a,4,4);

Calculate

##### genmatrix

n:3;

for i: 1 thru n do ...

genmatrix(M,n,n,1,1);

Calculate