Special "matrix" object that can cache its inverse.
Revert "Special "matrix" object that can cache its inverse."

This reverts commit b2cacb30a260edbeac4bd782b751127fa13031a0.
Revert "Revert "Special "matrix" object that can cache its inverse.""

This reverts commit fd6d5e873db8bfc8d3bbadc43d52e76849230f86.
inverse matrix

an special matrix object can change its inverse