How to "simplify" parallel vectors in $\mathbb{C^3}$? Sorry for the bad title but I can't find a better one.
$\vec{v}=(v_1,v_2)^T\in\mathbb{R^2}$
$-\vec{v}=(-v_1,-v_2)^T$
For my needs $\vec{v}$ and $-\vec{v}$ are equivalent. In my problem $\vec{v}$ is the result of a numerical computation performed by an algorithm. I have two different algorithms A and B and sometimes the first gives as a result $\vec{v}$ while the seconds (with the same inputs) gives $-\vec{v}$. I would like the two algorithms give exactly the same result when working on the same inputs.
My idea is to test to what quadrant $\vec{v}$ belongs and then to "simplify" it to the $++$ quadrant or to the $+-$ quadrant.
$v_A$ is the output of algorithm A and $v_B$ is the output of algorithm B.
Let's say $v_A=(1,2)^T$ and $v_B=(-1,-2)^T$; $v_A$ and $v_B$ are equivalent; $v_A$ is in the $++$ quadrant and so I will not change it; $v_B$ is in the $--$ quadrant and so I will change it to the $++$ quadrant multiplying it by $-1$. 
Let's say $v_A=(1,-2)^T$ and $v_B=(-1,2)^T$; $v_A$ and $v_B$ are equivalent; $v_A$ is in the $+-$ quadrant and so I will not change it; $v_B$ is in the $-+$ quadrant and so I will change it to the $+-$ quadrant multiplying it by $-1$.
So the "simplification" rules for the 4 quadrants of $\mathbb{R}^2$ are:
$++\rightarrow++$
$+-\rightarrow+-$
$--\rightarrow++$
$-+\rightarrow+-$
In $\mathbb{R}^3$ the "simplification" rules for the 8 octants are:
$+++\rightarrow+++$
$++-\rightarrow++-$
$+-+\rightarrow+-+$
$+--\rightarrow+--$
$-++\rightarrow+--$
$-+-\rightarrow+-+$
$--+\rightarrow++-$
$---\rightarrow+++$
Assuming the above rules are correct, how can I extend them to $\mathbb{C}^3$?
 A: It looks like your rule is,

Take the one of $\vec v$ and $-\vec v$ whose first component is positive.

It is not clear what you want to do when the first component is zero. Probably you'll want to select the lexicographically larger of $\vec v$ and $-\vec v$ in that case.
A natural extension of that to the complex case would be

Let the input be $\vec v = \begin{pmatrix}x_1+ix_2\\x_3+ix_4\\x_5+ix_6\end{pmatrix}$. Consider the first among $x_1, x_2, \ldots x_6$ that is nonzero. If it is positive, then return $\vec v$; otherwise return $-\vec v$.


Note that every solution to this problem will necessarily have discontinuities, so there's always a risk that your two results will be very close to each other (say, due to rounding errors), but the "simplification" procedure chooses to negate one but not the other. This is true both in the real and in the complex case.
If your goal is to check that the results of the two algorithms are consistent between each other, it would probably be better to wait until you have both a $\vec v_A$ and a $\vec v_B$, and then negate $\vec v_B$ if and only if $-\vec v_B$ is closer to $\vec v_A$ than $\vec v_B$ is.
