1)set break resume 2)expose UnittestCount UnittestAux Unittest 3testsuite "MATCAT" 4testcase "columnSpace" 5M := matrix [[1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 1, 1]]; 6testEquals("columnSpace M", "[[1,4,7,1],[2,5,8,1]]") 7testEquals("columnSpace transpose M", "[[1,2,3],[4,5,6]]") 8testEquals("columnSpace [[0,0]]", "[]") 9testEquals("columnSpace(M::RMATRIX(4,3,INT))", _ 10 "[[1,4,7,1],[2,5,8,1]]::List DIRPROD(4, INT)") 11testcase "Pfaffian" 12m n == matrix [[(if i = j then 0 _ 13 else if i < j _ 14 then x[i, j] _ 15 else -x[j, i]) for i in 1..n] for j in 1..n] 16testEquals("Pfaffian [[0,1,0,0],[-1,0,0,0],[0,0,0,1],[0,0,-1,0]]", "1") 17testEquals("Pfaffian [[0, u, v, w],[-u, 0, x, y],[-v,-x,0,z],[-w,-y,-z,0]]", _ 18 "u*z-v*y+w*x") 19testEquals("Pfaffian m 3", "0") 20testEquals("Pfaffian [[0,0],[0,0]]", "0") 21M := m 6; 22testEquals("(Pfaffian M)^2", "determinant M") 23testLibraryError "Pfaffian [[1,2],[0,0]]" 24testLibraryError "Pfaffian [[1,2,3],[0,0,0]]" 25 26statistics() 27