why is $\ell_0$ a pseudo-norm? Let $\mathbf{x}$ be a vector in $\mathbb{R}^n$. We define the $\ell_0$ pseudo-norm by:$$\|\mathbf{x}\|_0=\#\left\{i : \mathbf{x}_i\neq0\right\}$$
Why $\|\cdot\|_0$ is not properly a norm?
 A: $\| \cdot \|_0$ is not properly a norm because:


*

*$\|\alpha x\| = \|x\|$ and hence $\|\alpha x \| = \vert \alpha \vert \|x\|$ if and only if $\vert \alpha \vert = 1$.


but observe that the other properties of a norm do hold:


*If $\|x\| = 0$, then $\# \{ i : x_i \neq 0\} = 0$ which means that $x_i = 0$ for all $i$ which means $x = 0$. We immediately have $x = 0$ imply $\|x\| = 0$.

*We get the triangle inequality from observing that $x_i + y_i \neq 0$ means $x_i, y_i \neq 0$ and hence $\|x + y\| = \# \{i : x_i + y_i \neq 0\} \leq \# \{i : x_i \neq 0\} + \# \{i : y_i \neq 0\} = \|x\| + \|y\|$.


Now, not being properly a norm doesn't make it a pseudonorm. There are different types of "not being properly a norm". A pseudonorm is a norm that satisfies all the norm properties except being positive-definite, that is, $\|x\| = 0$ implies $x = 0$. But that holds in this case. Moreover, a pseudonorm requires the absolute scalability property, which is the key part that fails here.
So it's not properly a norm and it's not a pseudonorm.
