File: matfun.mc

package info (click to toggle)
maxima 5.6-17
  • links: PTS
  • area: main
  • in suites: woody
  • size: 30,572 kB
  • ctags: 47,715
  • sloc: ansic: 154,079; lisp: 147,553; asm: 45,843; tcl: 16,744; sh: 11,057; makefile: 7,198; perl: 1,842; sed: 334; fortran: 24; awk: 5
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))$