logic was wrong for when to choose linalg 'inverse' command.

It should not be called if the matrix is not a map between (evident)
free modules.