#define M 3 #define N 3 int main() { /* non-singular matrix rank(a) == 3 */ array double a[M][N] = {1, 2, 3, 5, 5, 6, 7, 8, 9}; int r = rank(a); if(r == 3) { printf("rank(a) is 3, empty null space\n"); return 0; } else { array double null[M][N-r]; nullspace(a, null); printf("rank(a) = %d\n", r); printf("null from nullspace(a, null) = \n%f\n", null); printf("transpose(null)*null = \n%f\n", transpose(null)*null); } }
rank(a) is 3, empty null space