One thing that may cause some confusion is that there are some differences between the way physicists tend to think about vectors and scalars and the way mathematicians tend to think about them. Physicists tend to think about them in this way:
- A 3-vector is a vector that transforms under a change of basis in the
same way as a spatial displacement.
- A 4-vector is a vector that transforms under a change of basis in the
same way as a spacetime displacement.
- A scalar is a quantity that does not change at all under a change of
basis.
Based on these ideas, I think it's helpful to introduce the idea of what I call an "incomplete object," or IO. An IO is a mathematical object that doesn't contain enough information to allow you to transform it. Suppose that I go and visit Gettysburg and stand in front of the brass plaque marking the site of the battle. I could say that I have a displacement vector $\Delta\textbf{x}=0$ between my present position in space and the position where the fighting happened. But of course this is all under the assumption that the earth is at rest. There is certainly a Galilean frame of reference in which $\Delta\textbf{x}=0$, but there are other frames in which $\Delta\textbf{x}\ne0$. This $\Delta\textbf{x}$ is an IO in the context of Galilean transformations. Suppose I tell you that $\Delta\textbf{x}=0$ in a certain frame, and then ask you to find the value of $\Delta\textbf{x}$ in some other frame, say, a frame moving toward Sirius at $10^5$ m/s. This is not enough information. In order to carry out the calculation, you would also need to know the time between the battle of Gettysburg and the present day. To make the displacement not be an IO, we would need to change it into a 4-vector.
The issue with velocity 3-vectors is basically the same as the issue with displacement 3-vectors. A velocity 3-vector is just a displacement divided by a time, so it's an IO under Galilean transformations. Relativistically, we make use of velocity 4-vectors (which have an arbitrary normalization), and these 4-vectors do transform appropriately under a Lorentz transformation (although they do not combine according to vector addition in relative motion).
Another nice example of an IO has to do with the usual method for calibrating the magnetic compass built into some handheld GPS units. The device's instructions tell you to hold it in a horizontal plane and slowly rotate 360 degrees. Because the device believes in rotational invariance, it knows how $B_x$ and $B_y$ should transform, and if it finds that $\sqrt{B_x^2+B_y^2}$ doesn't stay constant, it can recalibrate itself to eliminate the discrepancy. But if you later tilt the device so it isn't in a horizontal plane, it will get sad and confused. This tells you that $(B_x,B_y)$ is an IO, and you need to extend it to $(B_x,B_y,B_z)$.
Another example of an IO is charge density $\rho$. To make it a complete object, you need to extend it to the current 4-vector $(\rho,\textbf{j})$.
One thing to watch out for in Galilean relativity is that there is no metric. There is no unified system of measurement that measures both time and space. Therefore although you can make displacement and velocity vectors into Galilean 4-vectors, which are god-fearing complete objects rather than IOs, you can't talk about the magnitude of a Galilean 4-vector.