# Is it possible to convert a one-to-many function to a one-to-one function?

Is it possible to convert a one-to-many function to a one-to-one function.
The input is going to be unique and hence the out of the function should also be unique.
Repeating output would only create more ambiguity when the reverse mapping is to be done.
I hope the question makes some sense.

-
One way to create a genuine function from a one-to-many relation is to enlarge the "domain". For example, if you have a one-to-many binary relation $R$ which is a subset of $X\times Y$ (so $X$ might be thought of as the "domain" of $R$) then there's a natural function $f\colon R\to Y$ given by $f((x,y))=y$. You could think of the passage from $R$ to $f$ as fattening up the domain from $X$ to $R$. –  mac Apr 15 '11 at 19:46
Or something else you could do is to change the "codomain" to the power set of $Y$: define $g:X\to \mathcal{P}(Y)$ by $g(x)=\{ y\in Y\colon (x,y)\in R\}$. I guess one nice thing about both of these is that you don't lose any information: you can recover $R$ from both $f$ and $g$. –  mac Apr 15 '11 at 19:46
A one-to-many "function" is a one-to-one function from your domain into a space of sets. –  Raphael Apr 15 '11 at 19:55
What is the domain/range of your function/relation? discrete? over integers? over reals? continuous? any other details that might help? –  Mitch Apr 16 '11 at 15:53

One-to-many relations are usually not called "functions", since a function by definition has a single function value for each element of its domain.

If you have a one-to-many relation on a finite domain, you can always define a function by arbitrarily choosing one of the possible function values for each element of the domain. If the domain is infinite, you can also assume that such a function (defined by infinitely many choices) exists if you don't care about foundational issues. If you do, then you either need a rule that specifies a unique choice of function value for each element of the domain, or you need the axiom of choice, which guarantees that such a function exists even if you can't specify it.

-

Yes (with suitable interpretation of 1-many and 1-1: 1-1 has a particular technical meaning by itself that at most one item of the domain relates to any given item of the codomain, but I take it that you mean can you make a function out of a relation that is not functional (the converse of the technical meaning of 1-1). And I take it that that is what you're looking for.

This could be done arbitrarily in many ways (choose randomly one output), but I think the most reasonable construction would be to reimagine the range as over the powerset of the original range. To explain, suppose you have a relation $R$ between $D$ a domain and $C$ a codomain, that is $$R\subseteq D\times C.$$

A function is a relation $F\subseteq D\times C$ such that there is at most one element of $C$ corresponding to an element of $D$ (in the relation graph the outdegree of any vertex is at most 1).

To create $R_F$ as a version of $R$ that preserves all the 'values' but is functional somehow, use the powerset of $D$:

$$R_F = D\times 2^C : p = \{c| (d,c) \in R\} \implies (d, p) \in R_F.$$

So now $R_F$ is a function, because at most one element of $2^C$ is associated with any $d \in D$.

That might very well be overkill, and all you want is to get rid of duplicates either in the domain -or- codomain. Then you can just arbitrarily remove duplicates. Or if you want to assume continuity/differentiability, you can omit segments that have negative first derivative.

-
Thanks for the informative replies. As Mitch said removing duplicates is where the main problem lies. I am scaling a set of co-ordinates, which is in turn generating the duplicates. The reverse mapping gets screwed because of the duplicates. –  user9629 Apr 16 '11 at 8:32