DeterminantMat now takes care of empty and zero matrices

+ issue an error if the matrix is not a square matrix