# Show that Q x Q is not cyclic

## Homework Statement

Prove that ##\mathbb{Q} \times \mathbb{Q}## is not cyclic.

## The Attempt at a Solution

For contradiction suppose that ##\mathbb{Q} \times \mathbb{Q}## is cylic. Hence it is generated by some element ##(r,q)## where ##r \ne 0## and ##q \ne 0##. Then for some ##k \in \mathbb{Z}##, ##(0,q) = k \cdot (r,q) = (kr,kq)##. So ##kr = 0## and ##kq = q##. So ##k = 1##, which implies that ##r = 0##, a contradiction.

Is this proof correct? Is there a better proof, perhaps a direct one?

fresh_42
Mentor
2021 Award

## Homework Statement

Prove that ##\mathbb{Q} \times \mathbb{Q}## is not cyclic.

## The Attempt at a Solution

For contradiction suppose that ##\mathbb{Q} \times \mathbb{Q}## is cylic. Hence it is generated by some element ##(r,q)## where ##r \ne 0## and ##q \ne 0##. Then for some ##k \in \mathbb{Z}##, ##(0,q) = k \cdot (r,q) = (kr,kq)##. So ##kr = 0## and ##kq = q##. So ##k = 1##, which implies that ##r = 0##, a contradiction.

Is this proof correct? Is there a better proof, perhaps a direct one?
Looks o.k. to me. I'd only add a line for ##r\neq 0 \neq q## because it is essential for the proof, but what's the reason to exclude them? This way you could drop one of the proof's indirect arguments. Keep it as is and end why ##r=0## won't work instead of assuming it.

And why is ##\mathbb{Q}## alone not cyclic?

Last edited:
Looks o.k. to me. I'd only add a line for ##r\neq 0 \neq q## because it is essential for the proof, but what's the reason to exclude them? This way you could drop one of the proof's indirect arguments. Keep it as is and end why ##r=0## won't work instead of assuming it.

And why is ##\mathbb{Q}## alone not cyclic?
Well suppose ##\mathbb{Q}## were cyclic. Then ##\mathbb{Q} = \langle \frac{p}{q} \rangle##, where we assume the fraction is in reduced form. Then it must be the case that for some ##k \in \mathbb{Z}## we have ##\frac{p}{2q} = k \cdot \frac{p}{q}##. For this to be the case ##k = \frac{1}{2}##, contradicting that fact that ##k## is an integer.

fresh_42