Initial commit
The cache was not being reset when the matrix was updated.
added more documentation