File: matfun.mac

package info (click to toggle)
maxima 5.21.1-2squeeze
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 94,928 kB
  • ctags: 43,849
  • sloc: lisp: 298,974; fortran: 14,666; perl: 14,325; tcl: 10,494; sh: 4,052; makefile: 2,975; ansic: 471; awk: 24; sed: 7
file content (11 lines) | stat: -rw-r--r-- 476 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11

/* Assorted matrix functions written for ELIZC by JPG */
/* Examples: Let M be a 4x4 matrix.
SEL(M,[1,3],[2,4]); gives MATRIX([M12,M14],[M32,M34]).
	SEL is short for SELECT.
ROWS(M,[1,3]); gives MATRIX([M11,M12,M13,M14],[M31,M32,M33,M34]).
COLS(M,[1,3]); gives MATRIX([M11,M13],[M21,M23],[M31,M33],[M41,M43]). */

sel(m,r,c):=block([subscrmap:true],apply('matrix,ev(m[r,c],eval)))$ 
rows(m,r):=apply('matrix,makelist(m[i],i,r))$ 
cols(m,c):=transpose(rows(transpose(m),c))$