refactored error_checks for multiplicable, matching dims, matching sizes, vector