I have a multiset of real numbers $X \subseteq \mathbb{R} $ and I want to create a class of injective function to map the elements of $X$ to the unit interval(so basically a normalization).
However I'm not sure if the fuction should be defined either one of the following two or something completely different:
- $f: X \rightarrow \mathbb{R}$
- $f: 2^X \rightarrow 2^\mathbb{R}$
My two cents:
- I don't think it's the first one cause depending on $X$, a number's image can change. For instance for $X = \{3,4,5\}$ it might be the case that $f(3) = 0$ and for $X = \{1,2,3,4\}$ it follows as $f(3) = 0.6$.
- I'm more inclined to go with the second one, though I still have some reservations. Firstly I'm not sure how I would be able to talk about the injectiveness. For two elements with distinct values in $X$, I want the images to be different as well. But now with this $f$ definition I don't know how to state that since $f$ is defined over the powersets.
- Moreover I want to talk about some additional properties that I want the class of "nice" mappings should possess. But again I'm having trouble in defining such properties when the second definition of $f$ is followed. For instance I want to say that the relative order of two values should be preserved in the outcome of the mapping. If the first definition was adopted this could be simply stated as $$d_1 > d_2 \Longrightarrow f(d_1) > f(d_2)$$ but as I mentioned, in the case of the second definition the correct math eludes me.
- Now I could perhaps overload $f$, so that in addition to definition 2, I also have: $$f: X \times 2^X \rightarrow 2^\mathbb{R}$$ But I would definitely try to avoid doing this if possible. The first argument would in fact be redundant since it does not affect the transformation. It would be a cheap cheat so that I can get away with displaying what I originally have in mind.
Your help is much appreciated. Please let me know if something is not clear.