Committing another patch from Michael which improves the numpy support by allowing for a numpy matrix to be directly returned