Online Algebra Calculator
Many of users do not use powerful Maxima computer algebra system for systematic work, but for ad hoc algebraic calculations – equations, functions, matrixes, etc. only. To do this job, it is not useful to download the whole application from a web site.
Function: genmatrix (<a>, <i_2>, <j_2>, <i_1>, <j_1>)
![Genmatrix Example n:10;
h[i,j]:= if mod(i-j,n)=1 or mod(j-i,n)=1 then 1/2 else 0;
M:genmatrix (h,n,n);
p: ematrix(n,1,0,1,1);
p[6][1]:1;
plp(i,j):=((M^^j).p)[i][1];
pl:makelist(makelist(plp(i,j-1),j,1,12),i,1,n);
im: apply(](http://maxima-online.org//plot.html?g=p-1950061409.png&t=img&db=r-1298010413)
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)