0
$\begingroup$

Is there a way to uniquely describe a vector with a single ( = easy to store) value? e.g. have a function $H(\vec{v}): \mathbb{R}^{130} \rightarrow \mathbb{R} $

I have a lot of vectors in $\mathbb{R}^{130}$ like $$ \vec{v} = [0, 0, 0.02408936187094653, 0, 0, 0, -0.0009220896553828633, 0, 0.013715033276784966, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.086923156150 166640478, 0, 0, 0, 0, 0, 0, -0.004169024626740706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.06103892811472592, -0.001827088692541601, 0, 0, 0, 0, 0, 0, 0, 0.021119819421521576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.028956996972808808, 0.01855961039762378, 0, 0, 0, 0, 0.0030550036310233665, 0, 0, 0, 0, 0.04934179336434643, 0, 0, 0, 0] $$ where most dimensions are $0$.

Is there a good solution to map the vector to a single number (in $\mathbb{R}$ or $\mathbb{N}$) where every vector is described in a unique way (and same vectors has same results)? I considered using (cryptographic) hash functions like md5, fnv1a, ... but is this a proper solution for vectors in $\mathbb{R}$?

It is not needed to create a isomorphism between $\vec{v}$ and $H(\vec{v})$, this could be done via lookup table. But $x_1 = x_2 \to H(x_1) = H(x_2) \wedge x_1 \neq x_2 \to H(x_1) \neq H(x_2)$

$\endgroup$
  • $\begingroup$ most likely not in $\mathbb{N}$ $\endgroup$ – T_O Mar 26 '14 at 11:28
  • $\begingroup$ if i would use a hash function like FNV1a the result would be in $\mathbb{N}$ $\endgroup$ – reox Mar 26 '14 at 11:29
  • $\begingroup$ Actually you may be right, but from a theoretical point of view you wont be able to store numbers from $\mathbb{R}$ (or higher dimensions) into $\mathbb{N}$ $\endgroup$ – T_O Mar 26 '14 at 11:32
  • $\begingroup$ oh, yes that is of course correct $\endgroup$ – reox Mar 26 '14 at 11:37
  • $\begingroup$ @T_O But these aren't really reals, these are floating point values, of which there are only countably many. $\endgroup$ – fgp Mar 26 '14 at 12:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.