`first()` will throw an exception if the RDD is empty. I don't think we should allow a distributed matrix with a zero size.