File: matfun.mac

package info (click to toggle)
maxima 5.9.1-9
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 32,272 kB
  • ctags: 14,123
  • sloc: lisp: 145,126; fortran: 14,031; tcl: 10,052; sh: 3,313; perl: 1,766; makefile: 1,748; ansic: 471; awk: 7
file content (11 lines) | stat: -rw-r--r-- 476 bytes parent folder | download | duplicates (2)
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))$