# Z --> ZxZ Function

• Apr 7th 2013, 07:50 PM
Vee
Z --> ZxZ Function
Hello,

I would like to define a function from Z --> ZxZ that is both onto and one to one. I think it is going to have to be a piecewise function, but I am totally lost on how to get started. What I do know is that the function can be represented graphically by a spiral where the inputs and outputs look something like this:

f(0) = (0,0)
f(1) = (1,0)
f(2) = (1,1)
f(3) = (0,1)
f(4) = (-1,1)
f(5) = (-1,0)
f(6) = (-1,-1)
f(7) = (0,-1)... so on

I know this is only for positive Z, and this is part of the reason I am stuck. I am also not sure how to represent this info as a function. Any help would be appreciated. This is bugging the crap out of me. Thank you.
• Apr 7th 2013, 08:21 PM
Gusbob
Re: Z --> ZxZ Function
It may be easier to write a bijection $f:\mathbb{Z}\to \mathbb{N}$, so that $g=(f,f):\mathbb{Z}\times \mathbb{Z} \to \mathbb{N}\times \mathbb{N}$ is a bijection. For example, take

$f(x)=\begin{cases} 2x, & \text{if }x\geq 0 \\ -2x+1, & \text{if }x<0\end{cases}$

It remains to find a bijection $\varphi: \mathbb{N}\times \mathbb{N} \to \mathbb{N}$. The standard one is the Cantor pairing function

$\varphi(x,y)= \frac{(x+y+1)(x+y)}{2}+x$

This last function makes precise the usual snake-like enumeration diagram for $\mathbb{N}\times \mathbb{N}$.

The function you want is $g^{-1} \circ \varphi^{-1} \circ f$. Since each function in the composition is a bijection, the result is also a bijection.
{"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 7, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0}