# Multivariable function that is injective?

• I
• NotASmurf
In summary, the conversation discusses finding a function for a set of real numbers that maps to a single number, with the goal of optimizing time complexity in a computational context. One suggestion is to use injective functions, which can be messy and require infinite precision. Another suggestion is to use a function that maps rational numbers to rational numbers. The conversation also mentions the idea of using strings as labels, but this may not be practical due to increased processing requirements.

#### NotASmurf

Hey all, is it possible to find a function that for $$a,b,c.. \in \mathbb{R}$$ $$y= f(a,b,c,..) , \hspace{5mm} y= \rho , \rho \in \mathbb{R} \hspace{2mm} for \hspace{2mm} only \hspace{2mm} 1 \hspace{2mm} set \hspace{2mm} of \hspace{2mm} a,b,c..$$
Any help appreciated

I'm fine with any that isn't completely trivial (if there are any trivial solutions), will try adapt to whatever I can get, basically this is for a program that has a graph, and a vertex has to have a single number input as a function of the labels of the vertices already in the path. Inputing the entire path so far will take up way too many resources.

There are injective functions ##g: \mathbb{R} \times \mathbb{R} \to \mathbb{R}##, you can use f(a,b,c)=g(a,g(b,c)). Those functions are messy, and need infinite precision to be truly injective, I'm quite sure you don't want to use them.

More context would help, but I guess there is an easier solution. Why can't you just use the set of three numbers as label? Expressed as string or whatever if the data format is an issue.

NotASmurf
Don't want to pass entire label as worsens the time complexity of the program by at the minimum of increasing the power by 1. /: Could you please list an example of one of the functions which satisfies $$\mathbb{R} \times \mathbb{R} \to \mathbb{R}$$ ?

The sets ##\mathbb R^m## and ##\mathbb R^n## have the same cardinality for all ##m,n##

Here is an example
Your label will have to be longer than the length of a single coordinate, in a suitable format. If you have N possible values for the single coordinate, you need N3 possible labels.

I don't see how concatenating strings would increase the time complexity of anything.

Maybe you're interested in a function ##\mathbb{Q}\times \mathbb{Q}\rightarrow \mathbb{Q}## instead? That is much easier to give, but I'm sure it's not going to be useful in a computational context.

In any case, given ##m/n## and ##m'/n'## in reduced form (meaning that ##m## and ##n## have no common divisors and ##n>0## and likewise for ##m'## and ##n'##), you can send this to ##2^m 3^n 5^{m'} 7^{n'}##.

mfb said:
I don't see how concatenating strings would increase the time complexity of anything.

The processing required for what those strings will be processed as it will

micromass said:
Maybe you're interested in a function ##\mathbb{Q}\times \mathbb{Q}\rightarrow \mathbb{Q}## instead? That is much easier to give, but I'm sure it's not going to be useful in a computational context.

In any case, given ##m/n## and ##m'/n'## in reduced form (meaning that ##m## and ##n## have no common divisors and ##n>0## and likewise for ##m'## and ##n'##), you can send this to ##2^m 3^n 5^{m'} 7^{n'}##.
What's $$m'$$ and $$n'$$?

NotASmurf said:
The processing required for what those strings will be processed as it will
It is linear in the number of vertices, which is as good as it can get.

m' and n' are the numerator and denominator of the second fraction.