Formal math notation of masked vector

I'm struggling to write my algorithm in a concise and correct way. The following is an explanation for an optimizer's update step of part of a vector of weights (not a matrix in my case).

I have a vector $\alpha \in \mathbb{R}^d$, and a set $S$ that includes some indices $1\leq i \leq d$ ($S \subseteq \{1,\dots, d\}$). Now, I want to denote that $\alpha$ is 0 for every index $i\in S$, and otherwise it's the value as in $\alpha_i$. At first I denoted it $\alpha_S$, but I'm not sure it is properly defined or understandable.

I could use the following notation:

$\alpha_S = \begin{cases} \alpha_j j \in S\\ 0 j \notin S \end{cases}$

But its line height is twice the size, and I want to avoid that.

Is there any other formal, simplistic way to notate this correctly? Maybe some kind of a masking vector to be multiplied with $\alpha$?

Thanks!

Topic mathematics notation optimization

Category Data Science


Check out the indicator function $1_S(\cdot)$. In your case it would be fined as

$$1_S: \{1, \ldots, d\} \rightarrow \{0, 1\}, j \mapsto \begin{cases} 1 & j \in S \\ 0 & \, \text{else} \end{cases}.$$

Multiplying this function with the respective values should give you what you are looking for.

Edit: If I understand your comment correctly, the vector you are looking for is

$$ \alpha_s = \sum\limits_{i = 1}^{d} \alpha_i e_i 1_{S^C}(i). $$

Here $e_i$ denotes the i-th unit vector of $\mathbb{R}^d$, $S^C$ is the complement $\{1, \ldots, d\} \setminus S$ in $\{1, \ldots, d\}$ and $1_{S^C}$ is the indicator function that is $1$ for $i \notin S$ and $0$ for $i \in S$.


I like the indicator-and-coordinatewise-product version better, but:

Another option is more geometric: $\alpha_S$ is the projection of $\alpha$ onto the subspace where the coordinates not in $S$ are zero. Perhaps for $S\subseteq [n]$, the notation $\mathbb{R}^S=\{x\in\mathbb{R}^n : x_i=0 \text{ for $i\notin S$}\}$ makes sense? (It's an abuse, for sure, since $n$ is not explicit in the notation, but depending on your needs it may suffice.) Then the desired object is

$$ \alpha_S := \operatorname{proj}_{\mathbb{R}^S} \alpha .$$

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.