How can you define a function with domain the whole of #RR# and range the whole of #CC#?

(It is possible to define a bijection constructively)

1 Answer
Dec 31, 2016

See explanation...

Explanation:

Define #h(x): (0, 1) -> (-oo, oo)#:

#h(x) = (1-2x)/(x(x-1))#

graph{(sqrt(1/4-(x-1/2)^2))/(sqrt(1/4-(x-1/2)^2))(1-2x)/(x(x-1)) [-1, 2, -10, 10]}

Then:

#h^(-1)(y) = ((y-2)+sqrt(y^2+4))/(2y)#

So #h(x)# is a bijection between #(0, 1)# and #RR#, with inverse #h^(-1)(y)#

Let #S = { a+bi : a, b in (0, 1) }# i.e. the open unit square in Q1.

We can use #h(x)# on the Real and imaginary parts of a Complex number to define a bijection #k(x)# between #S# and #CC#:

#k(a+bi) = h(a)+h(b)i#

#k^(-1)(a+bi) = h^(-1)(a) + h^(-1)(b)i#

Having found these bijections, next consider decimal representations of numbers in #(0, 1)#.

Some numbers have two possible decimal representations; one with a tail of repeating #0#'s and the other with a tail of repeating #9#'s. For our purposes, we disallow representations with a tail of repeating #0#'s, choosing to use the representation with repeating #9#'s.

Then there is a bijection between #(0, 1)# and representations of the form #0.a_1 a_2 a_3 a_4 ...#, where #a_i in { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }# are decimal digits and no sequence has a tail of repeating #0#'s.

Given a number #0.a_1 a_2 a_3 a_4 ...#, split the sequence into a sequence of subsequences, each of which is as short as possible, but ends with a non-zero digit.

For example:

#0.0230040291...#

splits as:

#0." "02" "3" "004" "02" "9" "1" "...#

Then recombine alternate subsequences to form two Real numbers in #(0, 1)#:

#0.020049...#

#0.3021...#

These are the Real and imaginary parts of a corresponding Complex number in #S#

This process defines a function:

#s(x): (0, 1) -> S#

Conversely, given a Complex number in #S#, disassemble the Real and imaginary parts, then interlace them to form a Real number in #(0, 1)#:

So given:

#0.020049... + 0.3021... i#

Split into subsequences:

#0." "02" "004" "9" "...#

#0." "3" "02" "1" "...#

Interlace:

#0.0230040291...#

This defines the inverse function #s^(-1)(y): S -> (0, 1)#

Hence we can define a function with domain #RR# and range #CC# by:

#f(x) = k^(-1)(s(h(x)))#

This is a bijection, with inverse:

#f^(-1)(y) = h^(-1)(s^(-1)(k(y)))#