Are all multiplicative functions additive?

Let $$ f(x,y) = \begin{cases} (x,y) & xy > 0 \\ 0 & xy \leq 0 \end{cases} $$

It is clear that $cf(\vec{z}) = f(c\vec{z})$ for any $c\in \mathbb{R}$. But $f$ is not a linear map.


further counter examples can be constructed in polar coordinates. Let $(r,\omega)\in \mathbb{R}_+ \times \mathbb{S}^{n-1}$ denote the spherical coordinates of $\mathbb{R}^n$. Then a map

$$ f(r,\omega) = (\lambda(\omega)r,\omega) $$

satisfies $cf(\vec{v}) = f(c\vec{v})$ for every $\lambda:\mathbb{S}^{n-1}\to \mathbb{R}$ that satisfies $\lambda(\omega) = \lambda(-\omega)$. Clearly many of these are not linear.


If $f(cx) = cf(x)$ then $f(x) = xf(1)$ and the result follows trivially.
There are two ways to extend this to multiple variables.

In the case $f(cx, y) = f(x, cy) = cf(x, y)$ we have that $f(x, y) = xyf(1, 1)$ and again we have linearity.

In case $f(cx, cy) = cf(x, y)$ we have $f(x, y) = xf(1, \frac{y}{x})$. Notice that now $f(1, \circ)$ could be any function.