I don’t think “homomorphism” is quite the right word here. Keeping track of units means keeping track of various scaling actions on the things you’re interested in; in other words, it means keeping track of certain symmetries. The reason you can use this for error-checking is that if two things are equal, then any relevant symmetries have to act on them in the same way. But the units themselves aren’t a homomorphism, they’re just a shorthand to indicate that you’re working with things that transform in some nontrivial way under some symmetry.
I don’t think “homomorphism” is quite the right word here.
The map from dimensional quantities to units is structure-preserving, so yes, it is a homomorphism between something like rings. For example, all distances in SI are mapped into the element “meter”, and all time intervals into the element “second”. Addition and subtraction is trivial under the map (e.g. m+m=m), and so is multiplication by a dimensionless quantity, while multiplication and division by a dimensional quantity generates new elements (e.g. meter per second).
Converting between different measurement systems (e.g. SI and CGS) adds various scale factors, thus enlarging the codomain of the map.
“units are a useful error-checking homomorphism”
I don’t think “homomorphism” is quite the right word here. Keeping track of units means keeping track of various scaling actions on the things you’re interested in; in other words, it means keeping track of certain symmetries. The reason you can use this for error-checking is that if two things are equal, then any relevant symmetries have to act on them in the same way. But the units themselves aren’t a homomorphism, they’re just a shorthand to indicate that you’re working with things that transform in some nontrivial way under some symmetry.
The map from dimensional quantities to units is structure-preserving, so yes, it is a homomorphism between something like rings. For example, all distances in SI are mapped into the element “meter”, and all time intervals into the element “second”. Addition and subtraction is trivial under the map (e.g. m+m=m), and so is multiplication by a dimensionless quantity, while multiplication and division by a dimensional quantity generates new elements (e.g. meter per second).
Converting between different measurement systems (e.g. SI and CGS) adds various scale factors, thus enlarging the codomain of the map.