Implementation
- Representing matrices in C: I recommend against using 2d arrays (two many pitfalls) use a 1d array with 9 elements to represent 3 by 3 matrix, and expressions of the type m[3*i+j] to address element m[i,j]; note that indices start from 0.
- Write a small matrix/vector library, implementing operations like add two vectors, multiply a vector by a number, multiply a matrix and a vector, dot product, vector product.