I'm representing hyperbolic vectors using the Minowski hyperboloid: $x_0^2 - x_1^2 - x_2^2 = 1$.
I understand that the distance between two hyperbolic vectors of this form is $acosh(B(u, v))$ where $B(u, v) = u_0v_0 - u_1v_1 - u_2v_2$.
But I cannot for the life of me figure out a simple way to perform scalar and vector multiplication with the expected results using these vectors.
For scalar multiplication, for example, I have tried the following:
For one dimensional hyperbolic vectors ($1=x_0^2-x_1^2$), I have understood that scalar multiplication is equivalent to multiplying the hyperbolic angle. If $v = [cosh \theta, sinh\theta]$, then $2v$ should be $[cosh2\theta, sinh2\theta]$. Finding $\theta$ should be as trivial as taking $acos(x_0$).
Things get complicated in 2d hyperbolic space. I have toyed around with the idea of finding the angle of rotation on the "z" axis ($x_0$), and rotating that back, so that the value of $x_2$ is 0. Then applying the above function, and then rotating it back to its original state.
However the computational cost of that is immense, and it's prone to rounding error. There must be a simpler way?
I have not even begun to understand how vector addition and subtraction would work in such a space.
The wikipedia page seems to be lacking on this topic.
And please, ELI5. I have no strong math or geometry background. I am a programmer.
Note: I am storing these values using the Minowski model, rather than the Poincaré disk, as the Poincaré disk is extraordinarily prone to rounding errors on large vectors.
Edit: I have found a (still inefficient) way to do the scalar multiplication. It is nearly exactly as described above: convert the coordinates into "polar form," with a hyperbolic angle and an angle in the "z" axis. Then multiply the hyperbolic angle, then convert back. As suspected though, it does cause rounding errors.