I need to prove or disprove that $\mathbb{Q^{*}}$ under multiplication is isomorphic to $\mathbb{Q^{+}}$ under multiplication. However, I am not entirely sure if my proof is correct.
Note that $\mathbb{Q^{*}}$ is the set of all nonzero rationals, and $\mathbb{Q^{+}}$ is the set of all positive rationals greater than $0$.
Proof:
To verify if these two groups are isomorphic, I first define the map $h(x)=x^2$, where $x\in \mathbb{Q^{*}}$ and $x^2 \in \mathbb{Q^{+}}$. Then, I need to check whether the mapping $h$ is injective, surjective, and operation preserving.
Injectivity: Suppose $h(x)=h(y)$. Then, $x^2 = y^2$, and, after taking the square root of both sides of the equation, we get that the result is $x=y$ as desired. Surjectivity: Let $y\in\mathbb{Q^{*}}$. However, we get that $y=x^2$, from where we conclude that $x=\sqrt{y}$ or $x=-\sqrt{y}$, which implies that $x$ might as well be an irrational number.
Since this mapping is not surjective, we conclude that there is no isomorphism from $\mathbb{Q^{*}}$ under multiplication to $\mathbb{Q^{+}}$ under multiplication.
You correctly conclude that your map isn't an isomorphism, but it doesn't imply there is no isomorphism - may be some other map is? For example, there is surjection that preserves operation: $f(x) = |x|$.
To show that there is no isomorphism, we need to find some property that is preserved under isomorpshim, that is true in one set and false in other.
One such property is having non-trivial root of unity. Let $f$ be operation preserving map $\mathbb Q^* \to \mathbb Q^+$. Note that it's necessary that $f(1) = f(1 \cdot 1) = f(1) \cdot f(1)$, thus $f(1) = 1$ (there are no other solutions to $x = x \cdot x$ in $\mathbb Q^+$). But we also have $f(-1) \cdot f(-1) = f(1) = 1$, and the only solution to $x^2 = 1$ in $\mathbb Q^+$ is $x = 1$ (unlike $\mathbb Q^*$, where there is also solution $x = -1$). Thus we have $f(-1) = 1$, and so $f$ isn't injective, and thus not isomorphism.